spec/util_xmppstream_spec.lua
author Kim Alvefur <zash@zash.se>
Wed, 27 Mar 2024 19:33:11 +0100
changeset 13471 c2a476f4712a
parent 9024 548ba4090012
permissions -rw-r--r--
util.startup: Fix exiting on pidfile trouble prosody.shutdown() relies on prosody.main_thread, which has not been set yet at this point. Doing a clean shutdown might actually be harmful in case it tears down things set up by the conflicting Prosody, such as the very pidfile we were looking at. Thanks again SigmaTel71 for noticing
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8239
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()
9024
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
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: 8239
diff changeset
     6
		local stanzas = {};
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
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: 8239
diff changeset
     8
		local callbacks = {
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
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: 8239
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: 8239
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: 8239
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: 8239
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: 8239
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: 8239
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: 8239
diff changeset
    16
				return true;
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
diff changeset
    17
			end;
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
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: 8239
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: 8239
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: 8239
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: 8239
diff changeset
    22
			end;
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
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: 8239
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: 8239
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: 8239
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: 8239
diff changeset
    27
			end;
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
diff changeset
    28
		}
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
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: 8239
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: 8239
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: 8239
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: 8239
diff changeset
    33
				end
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
diff changeset
    34
			end
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
diff changeset
    35
		end
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
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: 8239
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: 8239
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: 8239
diff changeset
    39
		end);
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
diff changeset
    40
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
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: 8239
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: 8239
diff changeset
    43
		end
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
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: 8239
diff changeset
    45
	end
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
diff changeset
    46
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
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: 8239
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: 8239
diff changeset
    49
	end
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
diff changeset
    50
8239
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
9024
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
diff changeset
    56
			-- Incorrect stream tag name should be rejected
8239
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
    57
			test([[<stream1 xmlns="streamns"/>]], false);
9024
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
diff changeset
    58
			-- Incorrect stream namespace should be rejected
8239
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
    59
			test([[<stream xmlns="streamns1"/>]], false);
9024
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
diff changeset
    60
			-- Invalid XML should be rejected
8239
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);
9024
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
diff changeset
    93
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
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: 8239
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: 8239
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: 8239
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: 8239
diff changeset
    98
	end);
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
diff changeset
    99
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
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: 8239
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: 8239
diff changeset
   102
	end);
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
diff changeset
   103
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
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: 8239
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: 8239
diff changeset
   106
	end);
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
diff changeset
   107
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
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: 8239
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: 8239
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: 8239
diff changeset
   111
		end);
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
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: 8239
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: 8239
diff changeset
   114
		end);
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
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: 8239
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: 8239
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: 8239
diff changeset
   118
		end);
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
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: 8239
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: 8239
diff changeset
   121
		end);
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
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: 8239
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: 8239
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: 8239
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: 8239
diff changeset
   126
			220031002e0030002200200065006e0063006f00640069006e0067003d00
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
diff changeset
   127
			22005500540046002d003100360022003f003e003c007300740072006500
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
diff changeset
   128
			61006d00200078006d006c006e0073003d00220073007400720065006100
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
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: 8239
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: 8239
diff changeset
   131
		end);
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
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: 8239
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: 8239
diff changeset
   134
		end);
548ba4090012 util.xmppstream: Add tests for various XML features forbidden by the RFC
Matthew Wild <mwild1@gmail.com>
parents: 8239
diff changeset
   135
	end);
8239
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
   136
end);