Software /
code /
prosody
File
tests/test_util_jid.lua @ 8706:e2919978673e
net.http: Fix parameter order to http request callbacks
Commit e3b9dc9dd940 changed the parameter order in 2013, but did not update the names of the parameters in the callback function. Due to this inconsistency, 12df41a5a4b1 accidentally reversed the order when fixing the variable names without fixing where they are used.
Additionally the documentation was incorrect (since 2013), and this has also now been fixed.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Wed, 04 Apr 2018 18:27:44 +0100 |
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