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
commit67372d19bdab286a5900494a0be694aacec7d9b6 (patch)
treeb3035e5a9c8c68b60fd292c84d71d597039b8094
parent93535db346af6b10a1778f91235b7a9429e6ead0 (diff)
downloadprosody-67372d19bdab286a5900494a0be694aacec7d9b6.tar.gz
prosody-67372d19bdab286a5900494a0be694aacec7d9b6.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);