Software / code / prosody
Annotate
spec/util_jsonpointer_spec.lua @ 13011:16b47c3b44f3
mod_invites_register: Allow roles to be an ordered list, first being primary
Part of an update to mod_invites and friends to the new authz and roles.
Invites with roles in the old way will need to be migrated, but with
invites often being short lived it is probably not a long-lived problem.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Thu, 30 Mar 2023 11:05:40 +0200 |
| parent | 12777:4d5549de27e6 |
| rev | line source |
|---|---|
| 12495 | 1 describe("util.jsonpointer", function() |
| 2 local json, jp; | |
| 3 setup(function() | |
| 4 json = require "util.json"; | |
| 5 jp = require "util.jsonpointer"; | |
| 6 end) | |
| 7 describe("resolve()", function() | |
| 8 local example; | |
| 9 setup(function() | |
| 10 example = json.decode([[{ | |
| 11 "foo": ["bar", "baz"], | |
| 12 "": 0, | |
| 13 "a/b": 1, | |
| 14 "c%d": 2, | |
| 15 "e^f": 3, | |
| 16 "g|h": 4, | |
| 17 "i\\j": 5, | |
| 18 "k\"l": 6, | |
| 19 " ": 7, | |
| 20 "m~n": 8 | |
| 21 }]]) | |
| 22 end) | |
| 23 it("works", function() | |
|
12777
4d5549de27e6
util.jsonpointer: Improve tests
Kim Alvefur <zash@zash.se>
parents:
12495
diff
changeset
|
24 assert.is_nil(jp.resolve("string", "/string")) |
| 12495 | 25 assert.same(example, jp.resolve(example, "")); |
| 26 assert.same({ "bar", "baz" }, jp.resolve(example, "/foo")); | |
| 27 assert.same("bar", jp.resolve(example, "/foo/0")); | |
|
12777
4d5549de27e6
util.jsonpointer: Improve tests
Kim Alvefur <zash@zash.se>
parents:
12495
diff
changeset
|
28 assert.same(nil, jp.resolve(example, "/foo/-")); |
| 12495 | 29 assert.same(0, jp.resolve(example, "/")); |
| 30 assert.same(1, jp.resolve(example, "/a~1b")); | |
| 31 assert.same(2, jp.resolve(example, "/c%d")); | |
| 32 assert.same(3, jp.resolve(example, "/e^f")); | |
| 33 assert.same(4, jp.resolve(example, "/g|h")); | |
| 34 assert.same(5, jp.resolve(example, "/i\\j")); | |
| 35 assert.same(6, jp.resolve(example, "/k\"l")); | |
| 36 assert.same(7, jp.resolve(example, "/ ")); | |
| 37 assert.same(8, jp.resolve(example, "/m~0n")); | |
| 38 end) | |
| 39 end) | |
| 40 end) |