Changeset

11427:83f5499d1f10

util.rsm: Increase test coverage Test all fields in both directions in order to catch #1642
author Kim Alvefur <zash@zash.se>
date Sat, 06 Mar 2021 18:22:52 +0100
parents 11426:c7948491c5e4
children 11428:d91def9fcfdd
files spec/util_rsm_spec.lua
diffstat 1 files changed, 43 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/spec/util_rsm_spec.lua	Sat Mar 06 15:24:45 2021 +0100
+++ b/spec/util_rsm_spec.lua	Sat Mar 06 18:22:52 2021 +0100
@@ -37,6 +37,28 @@
 			assert.same({ max = 10, before = "peter@pixyland.org" }, rsm.parse(test));
 		end);
 
+		it("all fields works", function()
+			local test = assert(xml.parse(strip([[
+				<set xmlns='http://jabber.org/protocol/rsm'>
+					<after>a</after>
+					<before>b</before>
+					<count>10</count>
+					<first index='1'>f</first>
+					<index>5</index>
+					<last>z</last>
+					<max>100</max>
+				</set>
+				]])));
+			assert.same({
+				after = "a";
+				before = "b";
+				count = 10;
+				first = {index = 1; "f"};
+				index = 5;
+				last = "z";
+				max = 100;
+			}, rsm.parse(test));
+		end);
 	end);
 
 	describe("generate", function ()
@@ -84,6 +106,27 @@
 			assert.equal("1", r1:get_child("first").attr.index);
 		end);
 
+
+		it("all fields works", function ()
+			local res = rsm.generate({
+					after = "a";
+					before = "b";
+					count = 10;
+					first = {index = 1; "f"};
+					index = 5;
+					last = "z";
+					max = 100;
+				});
+			assert.equal("a", res:get_child_text("after"));
+			assert.equal("b", res:get_child_text("before"));
+			assert.equal("10", res:get_child_text("count"));
+			assert.equal("f", res:get_child_text("first"));
+			assert.equal("1", res:get_child("first").attr.index);
+			assert.equal("5", res:get_child_text("index"));
+			assert.equal("z", res:get_child_text("last"));
+			assert.equal("100", res:get_child_text("max"));
+		end);
 	end);
+
 end);