2 -- Copyright (C) 2008-2009 Matthew Wild
3 -- Copyright (C) 2008-2009 Waqas Hussain
5 -- This project is MIT/X11 licensed. Please see the
6 -- COPYING file in the source package for more information.
10 function preserialize(preserialize, st)
11 local stanza = st.stanza("message", { a = "a" });
12 local stanza2 = preserialize(stanza);
13 assert_is(stanza2 and stanza.name, "preserialize returns a stanza");
14 assert_is_not(stanza2.tags, "Preserialized stanza has no tag list");
15 assert_is_not(stanza2.last_add, "Preserialized stanza has no last_add marker");
16 assert_is_not(getmetatable(stanza2), "Preserialized stanza has no metatable");
19 function deserialize(deserialize, st)
20 local stanza = st.stanza("message", { a = "a" });
22 local stanza2 = deserialize(st.preserialize(stanza));
23 assert_is(stanza2 and stanza.name, "deserialize returns a stanza");
24 assert_is(stanza2.last_add, "Deserialized stanza is missing last_add for adding child tags");
25 assert_table(stanza2.attr, "Deserialized stanza has attributes");
26 assert_equal(stanza2.attr.a, "a", "Deserialized stanza retains attributes");
27 assert_table(getmetatable(stanza2), "Deserialized stanza has metatable");