diff options
author | Matthew Wild <mwild1@gmail.com> | 2016-03-17 23:15:08 +0000 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2016-03-17 23:15:08 +0000 |
commit | 1c3c5302ba25e5474f5319f2f766a0a9dc31802c (patch) | |
tree | 127efd433ec839250b105b8fc3b907af374620ea /tests/test_util_jid.lua | |
parent | 4633eb56fbfda4ba0e5d790203282f374c8a8079 (diff) | |
download | prosody-1c3c5302ba25e5474f5319f2f766a0a9dc31802c.tar.gz prosody-1c3c5302ba25e5474f5319f2f766a0a9dc31802c.zip |
util.jid+tests: Add simple helpers... node(), host() and resource() for extracting specific parts of a JID
Diffstat (limited to 'tests/test_util_jid.lua')
-rw-r--r-- | tests/test_util_jid.lua | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/tests/test_util_jid.lua b/tests/test_util_jid.lua index 02a90c3b..c697e63f 100644 --- a/tests/test_util_jid.lua +++ b/tests/test_util_jid.lua @@ -71,3 +71,73 @@ function compare(compare) 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 + |