Software /
code /
prosody
Annotate
tests/test_util_stanza.lua @ 5877:615a0774e4cc
util.timer: Updated to use util.indexedbheap to provide a more complete API. Timers can now be stopped or rescheduled. Callbacks are now pcall'd. Adding/removing timers from within timer callbacks works better. Optional parameter can be passed when creating timer which gets passed to callback, eliminating the need for closures in various timer uses. Timers are now much more lightweight.
author | Waqas Hussain <waqas20@gmail.com> |
---|---|
date | Wed, 30 Oct 2013 17:44:42 -0400 |
parent | 5776:bd0ff8ae98a8 |
child | 7254:8aaae816cc7e |
rev | line source |
---|---|
1522
569d58d21612
Add copyright header to those files missing one
Matthew Wild <mwild1@gmail.com>
parents:
682
diff
changeset
|
1 -- Prosody IM |
2923
b7049746bd29
Update copyright headers for 2010
Matthew Wild <mwild1@gmail.com>
parents:
1522
diff
changeset
|
2 -- Copyright (C) 2008-2010 Matthew Wild |
b7049746bd29
Update copyright headers for 2010
Matthew Wild <mwild1@gmail.com>
parents:
1522
diff
changeset
|
3 -- Copyright (C) 2008-2010 Waqas Hussain |
5776
bd0ff8ae98a8
Remove all trailing whitespace
Florian Zeitz <florob@babelmonkeys.de>
parents:
3639
diff
changeset
|
4 -- |
1522
569d58d21612
Add copyright header to those files missing one
Matthew Wild <mwild1@gmail.com>
parents:
682
diff
changeset
|
5 -- This project is MIT/X11 licensed. Please see the |
569d58d21612
Add copyright header to those files missing one
Matthew Wild <mwild1@gmail.com>
parents:
682
diff
changeset
|
6 -- COPYING file in the source package for more information. |
569d58d21612
Add copyright header to those files missing one
Matthew Wild <mwild1@gmail.com>
parents:
682
diff
changeset
|
7 -- |
569d58d21612
Add copyright header to those files missing one
Matthew Wild <mwild1@gmail.com>
parents:
682
diff
changeset
|
8 |
682
dedd19e9d4b3
Add more tests for util/stanza.lua serialization routines
Matthew Wild <mwild1@gmail.com>
parents:
681
diff
changeset
|
9 |
dedd19e9d4b3
Add more tests for util/stanza.lua serialization routines
Matthew Wild <mwild1@gmail.com>
parents:
681
diff
changeset
|
10 function preserialize(preserialize, st) |
dedd19e9d4b3
Add more tests for util/stanza.lua serialization routines
Matthew Wild <mwild1@gmail.com>
parents:
681
diff
changeset
|
11 local stanza = st.stanza("message", { a = "a" }); |
dedd19e9d4b3
Add more tests for util/stanza.lua serialization routines
Matthew Wild <mwild1@gmail.com>
parents:
681
diff
changeset
|
12 local stanza2 = preserialize(stanza); |
dedd19e9d4b3
Add more tests for util/stanza.lua serialization routines
Matthew Wild <mwild1@gmail.com>
parents:
681
diff
changeset
|
13 assert_is(stanza2 and stanza.name, "preserialize returns a stanza"); |
dedd19e9d4b3
Add more tests for util/stanza.lua serialization routines
Matthew Wild <mwild1@gmail.com>
parents:
681
diff
changeset
|
14 assert_is_not(stanza2.tags, "Preserialized stanza has no tag list"); |
dedd19e9d4b3
Add more tests for util/stanza.lua serialization routines
Matthew Wild <mwild1@gmail.com>
parents:
681
diff
changeset
|
15 assert_is_not(stanza2.last_add, "Preserialized stanza has no last_add marker"); |
dedd19e9d4b3
Add more tests for util/stanza.lua serialization routines
Matthew Wild <mwild1@gmail.com>
parents:
681
diff
changeset
|
16 assert_is_not(getmetatable(stanza2), "Preserialized stanza has no metatable"); |
dedd19e9d4b3
Add more tests for util/stanza.lua serialization routines
Matthew Wild <mwild1@gmail.com>
parents:
681
diff
changeset
|
17 end |
681 | 18 |
19 function deserialize(deserialize, st) | |
20 local stanza = st.stanza("message", { a = "a" }); | |
5776
bd0ff8ae98a8
Remove all trailing whitespace
Florian Zeitz <florob@babelmonkeys.de>
parents:
3639
diff
changeset
|
21 |
681 | 22 local stanza2 = deserialize(st.preserialize(stanza)); |
682
dedd19e9d4b3
Add more tests for util/stanza.lua serialization routines
Matthew Wild <mwild1@gmail.com>
parents:
681
diff
changeset
|
23 assert_is(stanza2 and stanza.name, "deserialize returns a stanza"); |
dedd19e9d4b3
Add more tests for util/stanza.lua serialization routines
Matthew Wild <mwild1@gmail.com>
parents:
681
diff
changeset
|
24 assert_table(stanza2.attr, "Deserialized stanza has attributes"); |
dedd19e9d4b3
Add more tests for util/stanza.lua serialization routines
Matthew Wild <mwild1@gmail.com>
parents:
681
diff
changeset
|
25 assert_equal(stanza2.attr.a, "a", "Deserialized stanza retains attributes"); |
dedd19e9d4b3
Add more tests for util/stanza.lua serialization routines
Matthew Wild <mwild1@gmail.com>
parents:
681
diff
changeset
|
26 assert_table(getmetatable(stanza2), "Deserialized stanza has metatable"); |
681 | 27 end |