Software / code / prosody
File
tests/test_util_jid.lua @ 7567:495de404a8ae
ejabberdsql2prosody: rename variable 'host' to prevent shadowing upvalue [luacheck]
Functions roster(), roster_pending(), roster_group(), private_storage() and
offline_msg() have argument named "host", which used to shadow upvalue of this
variable before this change. Instead of renaming this argument, let's rename
the variable to match what the script says in usage:
Usage: ejabberdsql2prosody.lua filename.txt hostname
| author | Anton Shestakov <av6@dwimlabs.net> |
|---|---|
| date | Fri, 12 Aug 2016 13:44:47 +0800 |
| parent | 7473:a558fef9d018 |
line wrap: on
line source
-- Prosody IM -- Copyright (C) 2008-2010 Matthew Wild -- Copyright (C) 2008-2010 Waqas Hussain -- -- This project is MIT/X11 licensed. Please see the -- COPYING file in the source package for more information. -- function join(join) assert_equal(join("a", "b", "c"), "a@b/c", "builds full JID"); assert_equal(join("a", "b", nil), "a@b", "builds bare JID"); assert_equal(join(nil, "b", "c"), "b/c", "builds full host JID"); assert_equal(join(nil, "b", nil), "b", "builds bare host JID"); assert_equal(join(nil, nil, nil), nil, "invalid JID is nil"); assert_equal(join("a", nil, nil), nil, "invalid JID is nil"); assert_equal(join(nil, nil, "c"), nil, "invalid JID is nil"); assert_equal(join("a", nil, "c"), nil, "invalid JID is nil"); end function split(split) local function test(input_jid, expected_node, expected_server, expected_resource) local rnode, rserver, rresource = split(input_jid); assert_equal(expected_node, rnode, "split("..tostring(input_jid)..") failed"); assert_equal(expected_server, rserver, "split("..tostring(input_jid)..") failed"); assert_equal(expected_resource, rresource, "split("..tostring(input_jid)..") failed"); end -- Valid JIDs test("node@server", "node", "server", nil ); test("node@server/resource", "node", "server", "resource" ); test("server", nil, "server", nil ); test("server/resource", nil, "server", "resource" ); test("server/resource@foo", nil, "server", "resource@foo" ); test("server/resource@foo/bar", nil, "server", "resource@foo/bar"); -- Always invalid JIDs test(nil, nil, nil, nil); test("node@/server", nil, nil, nil); test("@server", nil, nil, nil); test("@server/resource", nil, nil, nil); test("@/resource", nil, nil, nil); end function bare(bare) assert_equal(bare("user@host"), "user@host", "bare JID remains bare"); assert_equal(bare("host"), "host", "Host JID remains host"); assert_equal(bare("host/resource"), "host", "Host JID with resource becomes host"); assert_equal(bare("user@host/resource"), "user@host", "user@host JID with resource becomes user@host"); assert_equal(bare("user@/resource"), nil, "invalid JID is nil"); assert_equal(bare("@/resource"), nil, "invalid JID is nil"); assert_equal(bare("@/"), nil, "invalid JID is nil"); assert_equal(bare("/"), nil, "invalid JID is nil"); assert_equal(bare(""), nil, "invalid JID is nil"); assert_equal(bare("@"), nil, "invalid JID is nil"); assert_equal(bare("user@"), nil, "invalid JID is nil"); assert_equal(bare("user@@"), nil, "invalid JID is nil"); assert_equal(bare("user@@host"), nil, "invalid JID is nil"); assert_equal(bare("user@@host/resource"), nil, "invalid JID is nil"); assert_equal(bare("user@host/"), nil, "invalid JID is nil"); end function compare(compare) assert_equal(compare("host", "host"), true, "host should match"); assert_equal(compare("host", "other-host"), false, "host should not match"); assert_equal(compare("other-user@host/resource", "host"), true, "host should match"); assert_equal(compare("other-user@host", "user@host"), false, "user should not match"); assert_equal(compare("user@host", "host"), true, "host should match"); assert_equal(compare("user@host/resource", "host"), true, "host should match"); assert_equal(compare("user@host/resource", "user@host"), true, "user and host should match"); assert_equal(compare("user@other-host", "host"), false, "host should not match"); assert_equal(compare("user@other-host", "user@host"), false, "host should not match"); end function node(node) local function test(jid, expected_node) assert_equal(node(jid), expected_node, "Unexpected node for "..tostring(jid)); end test("example.com", nil); test("foo.example.com", nil); test("foo.example.com/resource", nil); test("foo.example.com/some resource", nil); test("foo.example.com/some@resource", nil); test("foo@foo.example.com/some@resource", "foo"); test("foo@example/some@resource", "foo"); test("foo@example/@resource", "foo"); test("foo@example@resource", nil); test("foo@example", "foo"); test("foo", nil); test(nil, nil); end function host(host) local function test(jid, expected_host) assert_equal(host(jid), expected_host, "Unexpected host for "..tostring(jid)); end test("example.com", "example.com"); test("foo.example.com", "foo.example.com"); test("foo.example.com/resource", "foo.example.com"); test("foo.example.com/some resource", "foo.example.com"); test("foo.example.com/some@resource", "foo.example.com"); test("foo@foo.example.com/some@resource", "foo.example.com"); test("foo@example/some@resource", "example"); test("foo@example/@resource", "example"); test("foo@example@resource", nil); test("foo@example", "example"); test("foo", "foo"); test(nil, nil); end function resource(resource) local function test(jid, expected_resource) assert_equal(resource(jid), expected_resource, "Unexpected resource for "..tostring(jid)); end test("example.com", nil); test("foo.example.com", nil); test("foo.example.com/resource", "resource"); test("foo.example.com/some resource", "some resource"); test("foo.example.com/some@resource", "some@resource"); test("foo@foo.example.com/some@resource", "some@resource"); test("foo@example/some@resource", "some@resource"); test("foo@example/@resource", "@resource"); test("foo@example@resource", nil); test("foo@example", nil); test("foo", nil); test("/foo", nil); test("@x/foo", nil); test("@/foo", nil); test(nil, nil); end