testcmp.lua

Fri, 01 Jan 2016 20:44:44 +0000

author
Matthew Wild <mwild1@gmail.com>
date
Fri, 01 Jan 2016 20:44:44 +0000
changeset 72
4fde8d4a4c76
parent 9
15e9d47941bd
permissions
-rw-r--r--

scansion.parser: Whitespace fix

local stanzacmp = require "scansion.stanzacmp";
local verse = require "verse";
local st = require "util.stanza";

local function yes(s1, s2)
	if not stanzacmp.stanzas_match(s1, s2) then
		print("s1", s1)
		print("s2", s2)
		print("literal", tostring(s1) == tostring(s2));
		assert(false, "No match, but they should.");
	end
end

local function no(s1, s2)
	if stanzacmp.stanzas_match(s1, s2) then
		print("s1", s1)
		print("s2", s2)
		assert(false, "Match, but they should not.");
	end
end

local s1 = st.message({ to = "foo", from = "bar"});
local s2 = st.message({ to = "foo", from = "bar"});

yes(s1, s2);
yes(s2, s1);

s1.attr.to = nil;

yes(s1, s2);
no(s2, s1);

s1.attr.to = "foo";
yes(s1, s2);

s2:tag("blah", { xmlns = "foobar" });

yes(s1, s2);
no(s2, s1);

s1:tag("blah", { xmlns = "foobar" });
yes(s1, s2);
yes(s2, s1);

s1:tag("a");
no(s1, s2);
s2:tag("a");
yes(s1, s2);
s2:up():up();
s2:tag("extension", { xmlns = "blah" });
yes(s1, s2);
s2:tag("b");
yes(s1, s2);
s1:up():up();
s1:tag("extension", { xmlns = "blah" });
no(s1, s2);
s1:tag("b");
yes(s1, s2);
s1:tag("c", { n = "1" });
no(s1, s2);

mercurial