aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2020-04-23 18:17:54 +0200
committerKim Alvefur <zash@zash.se>2020-04-23 18:17:54 +0200
commitbd9c89039785925ef833c2081150adaf9acbdb94 (patch)
treeb3035e5a9c8c68b60fd292c84d71d597039b8094
parentd0b6d2010c6badde88a1493ea67fc19d94ccff4c (diff)
downloadprosody-bd9c89039785925ef833c2081150adaf9acbdb94.tar.gz
prosody-bd9c89039785925ef833c2081150adaf9acbdb94.zip
util.rsm: Test that Lua 5.3 floats are not encoded with decimal point
The 'max' 'count' and 'index' fields are integers and should be encoded as such on the wire. Care needs to be taken because tostring(1.0) in Lua 5.3+ returns to "1.0" while in previous Lua versions it would return "1".
-rw-r--r--spec/util_rsm_spec.lua7
1 files changed, 7 insertions, 0 deletions
diff --git a/spec/util_rsm_spec.lua b/spec/util_rsm_spec.lua
index c8ddc47d..08fb1b02 100644
--- a/spec/util_rsm_spec.lua
+++ b/spec/util_rsm_spec.lua
@@ -77,6 +77,13 @@ describe("util.rsm", function ()
assert.same(test:get_child_text("before"), res:get_child_text("before"));
end);
+ it("handles floats", function ()
+ local r1 = rsm.generate({ max = 10.0, count = 100.0, first = { index = 1.0, "foo" } });
+ assert.equal("10", r1:get_child_text("max"));
+ assert.equal("100", r1:get_child_text("count"));
+ assert.equal("1", r1:get_child("first").attr.index);
+ end);
+
end);
end);