Software / code / prosody
Annotate
spec/util_rsm_spec.lua @ 11395:d336b28b4002
mod_http_errors: Style tweak
Weird to have the background all the way to the edge of the viewport.
Would be nice if this could be done without the extra span.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sun, 21 Feb 2021 07:59:17 +0100 |
| parent | 10762:4fc224c97986 |
| child | 11427:83f5499d1f10 |
| rev | line source |
|---|---|
| 10760 | 1 local rsm = require "util.rsm"; |
| 2 local xml = require "util.xml"; | |
| 3 | |
| 4 local function strip(s) | |
| 5 return (s:gsub(">%s+<", "><")); | |
| 6 end | |
| 7 | |
| 8 describe("util.rsm", function () | |
| 9 describe("parse", function () | |
| 10 it("works", function () | |
| 11 local test = xml.parse(strip([[ | |
| 12 <set xmlns='http://jabber.org/protocol/rsm'> | |
| 13 <max>10</max> | |
| 14 </set> | |
| 15 ]])); | |
| 16 assert.same({ max = 10 }, rsm.parse(test)); | |
| 17 end); | |
| 18 | |
| 19 it("works", function () | |
| 20 local test = xml.parse(strip([[ | |
| 21 <set xmlns='http://jabber.org/protocol/rsm'> | |
| 22 <first index='0'>saint@example.org</first> | |
| 23 <last>peterpan@neverland.lit</last> | |
| 24 <count>800</count> | |
| 25 </set> | |
| 26 ]])); | |
| 27 assert.same({ first = { index = 0, "saint@example.org" }, last = "peterpan@neverland.lit", count = 800 }, rsm.parse(test)); | |
| 28 end); | |
| 29 | |
| 30 it("works", function () | |
| 31 local test = xml.parse(strip([[ | |
| 32 <set xmlns='http://jabber.org/protocol/rsm'> | |
| 33 <max>10</max> | |
| 34 <before>peter@pixyland.org</before> | |
| 35 </set> | |
| 36 ]])); | |
| 37 assert.same({ max = 10, before = "peter@pixyland.org" }, rsm.parse(test)); | |
| 38 end); | |
| 39 | |
| 40 end); | |
| 41 | |
| 42 describe("generate", function () | |
| 43 it("works", function () | |
| 44 local test = xml.parse(strip([[ | |
| 45 <set xmlns='http://jabber.org/protocol/rsm'> | |
| 46 <max>10</max> | |
| 47 </set> | |
| 48 ]])); | |
| 49 local res = rsm.generate({ max = 10 }); | |
| 50 assert.same(test:get_child_text("max"), res:get_child_text("max")); | |
| 51 end); | |
| 52 | |
| 53 it("works", function () | |
| 54 local test = xml.parse(strip([[ | |
| 55 <set xmlns='http://jabber.org/protocol/rsm'> | |
| 56 <first index='0'>saint@example.org</first> | |
| 57 <last>peterpan@neverland.lit</last> | |
| 58 <count>800</count> | |
| 59 </set> | |
| 60 ]])); | |
| 61 local res = rsm.generate({ first = { index = 0, "saint@example.org" }, last = "peterpan@neverland.lit", count = 800 }); | |
| 62 assert.same(test:get_child("first").attr.index, res:get_child("first").attr.index); | |
| 63 assert.same(test:get_child_text("first"), res:get_child_text("first")); | |
| 64 assert.same(test:get_child_text("last"), res:get_child_text("last")); | |
| 65 assert.same(test:get_child_text("count"), res:get_child_text("count")); | |
| 66 end); | |
| 67 | |
| 68 it("works", function () | |
| 69 local test = xml.parse(strip([[ | |
| 70 <set xmlns='http://jabber.org/protocol/rsm'> | |
| 71 <max>10</max> | |
| 72 <before>peter@pixyland.org</before> | |
| 73 </set> | |
| 74 ]])); | |
| 75 local res = rsm.generate({ max = 10, before = "peter@pixyland.org" }); | |
| 76 assert.same(test:get_child_text("max"), res:get_child_text("max")); | |
| 77 assert.same(test:get_child_text("before"), res:get_child_text("before")); | |
| 78 end); | |
| 79 | |
|
10762
4fc224c97986
util.rsm: Test that Lua 5.3 floats are not encoded with decimal point
Kim Alvefur <zash@zash.se>
parents:
10760
diff
changeset
|
80 it("handles floats", function () |
|
4fc224c97986
util.rsm: Test that Lua 5.3 floats are not encoded with decimal point
Kim Alvefur <zash@zash.se>
parents:
10760
diff
changeset
|
81 local r1 = rsm.generate({ max = 10.0, count = 100.0, first = { index = 1.0, "foo" } }); |
|
4fc224c97986
util.rsm: Test that Lua 5.3 floats are not encoded with decimal point
Kim Alvefur <zash@zash.se>
parents:
10760
diff
changeset
|
82 assert.equal("10", r1:get_child_text("max")); |
|
4fc224c97986
util.rsm: Test that Lua 5.3 floats are not encoded with decimal point
Kim Alvefur <zash@zash.se>
parents:
10760
diff
changeset
|
83 assert.equal("100", r1:get_child_text("count")); |
|
4fc224c97986
util.rsm: Test that Lua 5.3 floats are not encoded with decimal point
Kim Alvefur <zash@zash.se>
parents:
10760
diff
changeset
|
84 assert.equal("1", r1:get_child("first").attr.index); |
|
4fc224c97986
util.rsm: Test that Lua 5.3 floats are not encoded with decimal point
Kim Alvefur <zash@zash.se>
parents:
10760
diff
changeset
|
85 end); |
|
4fc224c97986
util.rsm: Test that Lua 5.3 floats are not encoded with decimal point
Kim Alvefur <zash@zash.se>
parents:
10760
diff
changeset
|
86 |
| 10760 | 87 end); |
| 88 end); | |
| 89 |