Software /
code /
prosody
Annotate
spec/util_xmppstream_spec.lua @ 12967:53b0730093d8
scansion: vcard_temp: Ensure at least one connection is open throughout test
I plan to introduce logic to "reset" the server between individual tests,
which is currently triggered by the lack of any connections. This is the only
test that has a point where no clients are connected, and it's not necessary,
so I changed it to keep the connection open for the duration of the test.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Thu, 23 Mar 2023 14:19:43 +0000 |
parent | 9021:548ba4090012 |
rev | line source |
---|---|
8236
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
1 |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
2 local xmppstream = require "util.xmppstream"; |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
3 |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
4 describe("util.xmppstream", function() |
9021
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
5 local function test(xml, expect_success, ex) |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
6 local stanzas = {}; |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
7 local session = { notopen = true }; |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
8 local callbacks = { |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
9 stream_ns = "streamns"; |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
10 stream_tag = "stream"; |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
11 default_ns = "stanzans"; |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
12 streamopened = function (_session) |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
13 assert.are.equal(session, _session); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
14 assert.are.equal(session.notopen, true); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
15 _session.notopen = nil; |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
16 return true; |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
17 end; |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
18 handlestanza = function (_session, stanza) |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
19 assert.are.equal(session, _session); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
20 assert.are.equal(_session.notopen, nil); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
21 table.insert(stanzas, stanza); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
22 end; |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
23 streamclosed = function (_session) |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
24 assert.are.equal(session, _session); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
25 assert.are.equal(_session.notopen, nil); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
26 _session.notopen = nil; |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
27 end; |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
28 } |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
29 if type(ex) == "table" then |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
30 for k, v in pairs(ex) do |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
31 if k ~= "_size_limit" then |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
32 callbacks[k] = v; |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
33 end |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
34 end |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
35 end |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
36 local stream = xmppstream.new(session, callbacks, ex and ex._size_limit or nil); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
37 local ok, err = pcall(function () |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
38 assert(stream:feed(xml)); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
39 end); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
40 |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
41 if ok and type(expect_success) == "function" then |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
42 expect_success(stanzas); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
43 end |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
44 assert.are.equal(not not ok, not not expect_success, "Expected "..(expect_success and ("success ("..tostring(err)..")") or "failure")); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
45 end |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
46 |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
47 local function test_stanza(stanza, expect_success, ex) |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
48 return test([[<stream:stream xmlns:stream="streamns" xmlns="stanzans">]]..stanza, expect_success, ex); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
49 end |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
50 |
8236
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
51 describe("#new()", function() |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
52 it("should work", function() |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
53 test([[<stream:stream xmlns:stream="streamns"/>]], true); |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
54 test([[<stream xmlns="streamns"/>]], true); |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
55 |
9021
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
56 -- Incorrect stream tag name should be rejected |
8236
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
57 test([[<stream1 xmlns="streamns"/>]], false); |
9021
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
58 -- Incorrect stream namespace should be rejected |
8236
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
59 test([[<stream xmlns="streamns1"/>]], false); |
9021
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
60 -- Invalid XML should be rejected |
8236
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
61 test("<>", false); |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
62 |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
63 test_stanza("<message/>", function (stanzas) |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
64 assert.are.equal(#stanzas, 1); |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
65 assert.are.equal(stanzas[1].name, "message"); |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
66 end); |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
67 test_stanza("< message>>>>/>\n", false); |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
68 |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
69 test_stanza([[<x xmlns:a="b"> |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
70 <y xmlns:a="c"> |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
71 <a:z/> |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
72 </y> |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
73 <a:z/> |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
74 </x>]], function (stanzas) |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
75 assert.are.equal(#stanzas, 1); |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
76 local s = stanzas[1]; |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
77 assert.are.equal(s.name, "x"); |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
78 assert.are.equal(#s.tags, 2); |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
79 |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
80 assert.are.equal(s.tags[1].name, "y"); |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
81 assert.are.equal(s.tags[1].attr.xmlns, nil); |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
82 |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
83 assert.are.equal(s.tags[1].tags[1].name, "z"); |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
84 assert.are.equal(s.tags[1].tags[1].attr.xmlns, "c"); |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
85 |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
86 assert.are.equal(s.tags[2].name, "z"); |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
87 assert.are.equal(s.tags[2].attr.xmlns, "b"); |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
88 |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
89 assert.are.equal(s.namespaces, nil); |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
90 end); |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
91 end); |
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
92 end); |
9021
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
93 |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
94 it("should allow an XML declaration", function () |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
95 test([[<?xml version="1.0" encoding="UTF-8"?><stream xmlns="streamns"/>]], true); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
96 test([[<?xml version="1.0" encoding="UTF-8" standalone="yes" ?><stream xmlns="streamns"/>]], true); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
97 test([[<?xml version="1.0" encoding="utf-8" ?><stream xmlns="streamns"/>]], true); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
98 end); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
99 |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
100 it("should not accept XML versions other than 1.0", function () |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
101 test([[<?xml version="1.1" encoding="utf-8" ?><stream xmlns="streamns"/>]], false); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
102 end); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
103 |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
104 it("should not allow a misplaced XML declaration", function () |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
105 test([[<stream xmlns="streamns"><?xml version="1.0" encoding="UTF-8"?></stream>]], false); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
106 end); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
107 |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
108 describe("should forbid restricted XML:", function () |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
109 it("comments", function () |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
110 test_stanza("<!-- hello world -->", false); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
111 end); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
112 it("DOCTYPE", function () |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
113 test([[<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE stream SYSTEM "mydtd.dtd">]], false); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
114 end); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
115 it("incorrect encoding specification", function () |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
116 -- This is actually caught by the underlying XML parser |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
117 test([[<?xml version="1.0" encoding="UTF-16"?><stream xmlns="streamns"/>]], false); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
118 end); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
119 it("non-UTF8 encodings: ISO-8859-1", function () |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
120 test([[<?xml version="1.0" encoding="ISO-8859-1"?><stream xmlns="streamns"/>]], false); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
121 end); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
122 it("non-UTF8 encodings: UTF-16", function () |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
123 -- <?xml version="1.0" encoding="UTF-16"?><stream xmlns="streamns"/> |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
124 -- encoded into UTF-16 |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
125 local hx = ([[fffe3c003f0078006d006c002000760065007200730069006f006e003d00 |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
126 220031002e0030002200200065006e0063006f00640069006e0067003d00 |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
127 22005500540046002d003100360022003f003e003c007300740072006500 |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
128 61006d00200078006d006c006e0073003d00220073007400720065006100 |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
129 6d006e00730022002f003e00]]):gsub("%x%x", function (c) return string.char(tonumber(c, 16)); end); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
130 test(hx, false); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
131 end); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
132 it("processing instructions", function () |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
133 test([[<stream xmlns="streamns"><?xml-stylesheet type="text/xsl" href="style.xsl"?></stream>]], false); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
134 end); |
548ba4090012
util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents:
8236
diff
changeset
|
135 end); |
8236
4878e4159e12
Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
136 end); |