From 55fb09153688d76c86a237c0fb6c2e7beb156078 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Sat, 6 Mar 2021 18:22:52 +0100 Subject: util.rsm: Increase test coverage Test all fields in both directions in order to catch #1642 --- spec/util_rsm_spec.lua | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'spec') diff --git a/spec/util_rsm_spec.lua b/spec/util_rsm_spec.lua index 08fb1b02..c0467201 100644 --- a/spec/util_rsm_spec.lua +++ b/spec/util_rsm_spec.lua @@ -37,6 +37,28 @@ describe("util.rsm", function () assert.same({ max = 10, before = "peter@pixyland.org" }, rsm.parse(test)); end); + it("all fields works", function() + local test = assert(xml.parse(strip([[ + + a + b + 10 + f + 5 + z + 100 + + ]]))); + 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 @@ describe("util.rsm", function () 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); -- cgit v1.2.3