Software /
code /
prosody
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);