Tue, 10 Jul 2018 11:14:34 +0100
tests: Add test for scansion:any
93 | 1 | local stanzacmp = require "scansion.stanzacmp"; |
2 | local verse = require "verse"; | |
3 | local st = require "util.stanza"; | |
4 | ||
5 | local function yes(s1, s2) | |
6 | if not stanzacmp.stanzas_match(s1, s2) then | |
7 | print("s1", s1) | |
8 | print("s2", s2) | |
9 | print("literal", tostring(s1) == tostring(s2)); | |
10 | assert(false, "No match, but they should."); | |
11 | end | |
12 | end | |
13 | ||
14 | local function no(s1, s2) | |
15 | if stanzacmp.stanzas_match(s1, s2) then | |
16 | print("s1", s1) | |
17 | print("s2", s2) | |
18 | assert(false, "Match, but they should not."); | |
19 | end | |
20 | end | |
21 | ||
22 | describe("stanzacmp", function () | |
23 | it("should work", function () | |
24 | local s1 = st.message({ to = "foo", from = "bar"}); | |
25 | local s2 = st.message({ to = "foo", from = "bar"}); | |
26 | ||
27 | yes(s1, s2); | |
28 | yes(s2, s1); | |
29 | ||
30 | s1.attr.to = nil; | |
31 | ||
32 | yes(s1, s2); | |
33 | no(s2, s1); | |
34 | ||
35 | s1.attr.to = "foo"; | |
36 | yes(s1, s2); | |
37 | ||
38 | s2:tag("blah", { xmlns = "foobar" }); | |
39 | ||
40 | yes(s1, s2); | |
41 | no(s2, s1); | |
42 | ||
43 | s1:tag("blah", { xmlns = "foobar" }); | |
44 | yes(s1, s2); | |
45 | yes(s2, s1); | |
46 | ||
47 | s1:tag("a"); | |
48 | no(s1, s2); | |
49 | s2:tag("a"); | |
50 | yes(s1, s2); | |
51 | s2:up():up(); | |
52 | s2:tag("extension", { xmlns = "blah" }); | |
53 | yes(s1, s2); | |
54 | s2:tag("b"); | |
55 | yes(s1, s2); | |
56 | s1:up():up(); | |
57 | s1:tag("extension", { xmlns = "blah" }); | |
58 | no(s1, s2); | |
59 | s1:tag("b"); | |
60 | yes(s1, s2); | |
61 | s1:tag("c", { n = "1" }); | |
62 | no(s1, s2); | |
63 | end); | |
95
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
64 | it("should allow matching any attribute value with {scansion:any}", function () |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
65 | --[[ |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
66 | <message from="user@localhost/71652fc8-93cb-40c7-8220-47ce80cc417b" type="chat"> |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
67 | <body>Hello Juliet, are you there?</body> |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
68 | <delay xmlns="urn:xmpp:delay" from="localhost"/> |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
69 | </message> |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
70 | ]] |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
71 | |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
72 | local s01 = st.message({ from = "user@localhost/71652fc8-93cb-40c7-8220-47ce80cc417b", type = "chat" }) |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
73 | :tag("body"):text("Hello Juliet, are you there?"):up() |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
74 | :tag("delay", { xmlns = "urn:xmpp:delay", from = "localhost", stamp = "{scansion:any}" }):up(); |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
75 | |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
76 | --[[ |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
77 | <message to="juliet@localhost" type="chat" from="user@localhost/71652fc8-93cb-40c7-8220-47ce80cc417b"> |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
78 | <body>Hello Juliet, are you there?</body> |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
79 | <stanza-id xmlns="urn:xmpp:sid:0" by="user@localhost" id="eb9eaf13-384e-47d1-a6c0-303ef4f1ac70"/> |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
80 | <stanza-id xmlns="urn:xmpp:sid:0" by="juliet@localhost" id="f6c6f61d-0b15-46d6-9f69-bca1640401d1"/> |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
81 | <delay xmlns="urn:xmpp:delay" stamp="2017-05-07T09:46:21Z" from="localhost"/> |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
82 | </message> |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
83 | ]] |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
84 | |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
85 | local s02 = st.message({ to = "juliet@localhost", from = "user@localhost/71652fc8-93cb-40c7-8220-47ce80cc417b", type = "chat" }) |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
86 | :tag("body"):text("Hello Juliet, are you there?"):up() |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
87 | :tag("stanza-id", { xmlns = "urn:xmpp:sid:0", by = "user@localhost", id = "eb9eaf13-384e-47d1-a6c0-303ef4f1ac70" }):up() |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
88 | :tag("stanza-id", { xmlns = "urn:xmpp:sid:0", by = "juliet@localhost", id = "f6c6f61d-0b15-46d6-9f69-bca1640401d1" }):up() |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
89 | :tag("delay", { xmlns = "urn:xmpp:delay", stamp = "2017-05-07T09:46:21Z", from = "localhost" }):up(); |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
90 | |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
91 | |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
92 | |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
93 | yes(s01, s02); |
a1e7ad9336db
tests: Add test for scansion:any
Matthew Wild <mwild1@gmail.com>
parents:
93
diff
changeset
|
94 | end); |
93 | 95 | end); |