aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_util_stanza.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_util_stanza.lua')
-rw-r--r--tests/test_util_stanza.lua152
1 files changed, 0 insertions, 152 deletions
diff --git a/tests/test_util_stanza.lua b/tests/test_util_stanza.lua
deleted file mode 100644
index 4be07a4b..00000000
--- a/tests/test_util_stanza.lua
+++ /dev/null
@@ -1,152 +0,0 @@
--- 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 preserialize(preserialize, st)
- local stanza = st.stanza("message", { a = "a" });
- local stanza2 = preserialize(stanza);
- assert_is(stanza2 and stanza.name, "preserialize returns a stanza");
- assert_is_not(stanza2.tags, "Preserialized stanza has no tag list");
- assert_is_not(stanza2.last_add, "Preserialized stanza has no last_add marker");
- assert_is_not(getmetatable(stanza2), "Preserialized stanza has no metatable");
-end
-
-function deserialize(deserialize, st)
- local stanza = st.stanza("message", { a = "a" });
-
- local stanza2 = deserialize(st.preserialize(stanza));
- assert_is(stanza2 and stanza.name, "deserialize returns a stanza");
- assert_table(stanza2.attr, "Deserialized stanza has attributes");
- assert_equal(stanza2.attr.a, "a", "Deserialized stanza retains attributes");
- assert_table(getmetatable(stanza2), "Deserialized stanza has metatable");
-end
-
-function stanza(stanza)
- local s = stanza("foo", { xmlns = "myxmlns", a = "attr-a" });
- assert_equal(s.name, "foo");
- assert_equal(s.attr.xmlns, "myxmlns");
- assert_equal(s.attr.a, "attr-a");
-
- local s1 = stanza("s1");
- assert_equal(s1.name, "s1");
- assert_equal(s1.attr.xmlns, nil);
- assert_equal(#s1, 0);
- assert_equal(#s1.tags, 0);
-
- s1:tag("child1");
- assert_equal(#s1.tags, 1);
- assert_equal(s1.tags[1].name, "child1");
-
- s1:tag("grandchild1"):up();
- assert_equal(#s1.tags, 1);
- assert_equal(s1.tags[1].name, "child1");
- assert_equal(#s1.tags[1], 1);
- assert_equal(s1.tags[1][1].name, "grandchild1");
-
- s1:up():tag("child2");
- assert_equal(#s1.tags, 2, tostring(s1));
- assert_equal(s1.tags[1].name, "child1");
- assert_equal(s1.tags[2].name, "child2");
- assert_equal(#s1.tags[1], 1);
- assert_equal(s1.tags[1][1].name, "grandchild1");
-
- s1:up():text("Hello world");
- assert_equal(#s1.tags, 2);
- assert_equal(#s1, 3);
- assert_equal(s1.tags[1].name, "child1");
- assert_equal(s1.tags[2].name, "child2");
- assert_equal(#s1.tags[1], 1);
- assert_equal(s1.tags[1][1].name, "grandchild1");
-end
-
-function message(message)
- local m = message();
- assert_equal(m.name, "message");
-end
-
-function iq(iq)
- local i = iq();
- assert_equal(i.name, "iq");
-end
-
-function presence(presence)
- local p = presence();
- assert_equal(p.name, "presence");
-end
-
-function reply(reply, _M)
- do
- -- Test stanza
- local s = _M.stanza("s", { to = "touser", from = "fromuser", id = "123" })
- :tag("child1");
- -- Make reply stanza
- local r = reply(s);
- assert_equal(r.name, s.name);
- assert_equal(r.id, s.id);
- assert_equal(r.attr.to, s.attr.from);
- assert_equal(r.attr.from, s.attr.to);
- assert_equal(#r.tags, 0, "A reply should not include children of the original stanza");
- end
-
- do
- -- Test stanza
- local s = _M.stanza("iq", { to = "touser", from = "fromuser", id = "123", type = "get" })
- :tag("child1");
- -- Make reply stanza
- local r = reply(s);
- assert_equal(r.name, s.name);
- assert_equal(r.id, s.id);
- assert_equal(r.attr.to, s.attr.from);
- assert_equal(r.attr.from, s.attr.to);
- assert_equal(r.attr.type, "result");
- assert_equal(#r.tags, 0, "A reply should not include children of the original stanza");
- end
-
- do
- -- Test stanza
- local s = _M.stanza("iq", { to = "touser", from = "fromuser", id = "123", type = "set" })
- :tag("child1");
- -- Make reply stanza
- local r = reply(s);
- assert_equal(r.name, s.name);
- assert_equal(r.id, s.id);
- assert_equal(r.attr.to, s.attr.from);
- assert_equal(r.attr.from, s.attr.to);
- assert_equal(r.attr.type, "result");
- assert_equal(#r.tags, 0, "A reply should not include children of the original stanza");
- end
-end
-
-function error_reply(error_reply, _M)
- do
- -- Test stanza
- local s = _M.stanza("s", { to = "touser", from = "fromuser", id = "123" })
- :tag("child1");
- -- Make reply stanza
- local r = error_reply(s);
- assert_equal(r.name, s.name);
- assert_equal(r.id, s.id);
- assert_equal(r.attr.to, s.attr.from);
- assert_equal(r.attr.from, s.attr.to);
- assert_equal(#r.tags, 1);
- end
-
- do
- -- Test stanza
- local s = _M.stanza("iq", { to = "touser", from = "fromuser", id = "123", type = "get" })
- :tag("child1");
- -- Make reply stanza
- local r = error_reply(s);
- assert_equal(r.name, s.name);
- assert_equal(r.id, s.id);
- assert_equal(r.attr.to, s.attr.from);
- assert_equal(r.attr.from, s.attr.to);
- assert_equal(r.attr.type, "error");
- assert_equal(#r.tags, 1);
- end
-end