Mercurial > prosody-hg
view spec/util_table_spec.lua @ 14172:94172bbf9074 13.0
util.jsonschema: Always accept 0 for multipleOf properties
Per the JSON schema test suite, 0 is considered "a multiple of anything" and
should never be rejected by the multipleOf test. The previous behaviour was to
always reject 0.
0 is *not* a valid value for multipleOf itself (which must be >0), but
util.jsonschema does not seem to do much/any validation of the provided schema
so I haven't added a check for that. I assume there are JSON schema schemas?
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Mon, 25 May 2026 11:32:33 +0100 |
| parents | 54756e3a54b9 |
| children |
line wrap: on
line source
local u_table = require "util.table"; describe("util.table", function () describe("create()", function () it("works", function () -- Can't test the allocated sizes of the table, so what you gonna do? assert.is.table(u_table.create(1,1)); end); end); describe("pack()", function () it("works", function () assert.same({ "lorem", "ipsum", "dolor", "sit", "amet", n = 5 }, u_table.pack("lorem", "ipsum", "dolor", "sit", "amet")); end); end); describe("move()", function () it("works", function () local t1 = { "apple", "banana", "carrot" }; local t2 = { "cat", "donkey", "elephant" }; local t3 = {}; u_table.move(t1, 1, 3, 1, t3); u_table.move(t2, 1, 3, 3, t3); assert.same({ "apple", "banana", "cat", "donkey", "elephant" }, t3); end); it("supports overlapping regions", function () do local t1 = { "apple", "banana", "carrot", "date", "endive", "fig", "grapefruit" }; u_table.move(t1, 1, 3, 3); assert.same({ "apple", "banana", "apple", "banana", "carrot", "fig", "grapefruit" }, t1); end do local t1 = { "apple", "banana", "carrot", "date", "endive", "fig", "grapefruit" }; u_table.move(t1, 1, 3, 2); assert.same({ "apple", "apple", "banana", "carrot", "endive", "fig", "grapefruit" }, t1); end do local t1 = { "apple", "banana", "carrot", "date", "endive", "fig", "grapefruit" }; u_table.move(t1, 3, 5, 2); assert.same({ "apple", "carrot", "date", "endive", "endive", "fig", "grapefruit" }, t1); end do local t1 = { "apple", "banana", "carrot", "date", "endive", "fig", "grapefruit" }; u_table.move(t1, 3, 5, 6); assert.same({ "apple", "banana", "carrot", "date", "endive", "carrot", "date", "endive" }, t1); end do local t1 = { "apple", "banana", "carrot", "date", "endive", "fig", "grapefruit" }; u_table.move(t1, 3, 1, 3); assert.same({ "apple", "banana", "carrot", "date", "endive", "fig", "grapefruit" }, t1); end end); end); end);
