Software /
code /
prosody
Annotate
spec/util_jsonpointer_spec.lua @ 12947:14a44b1a51d0
prosody.loader: Allow loading modules under 'prosody' namespace (#1223)
Actually `hg mv`-ing all the files is disruptive, basically breaking
everything from rebasing all my WIP draft commits to the package
building. So instead, what if we didn't and instead rewrote package
names as they are `require()`-d?
Debian packages produced by the Prosody are already installed into this
structure so much will Just Work if all require calls are updated.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 17 Mar 2023 13:51:43 +0100 |
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) |