Software /
code /
prosody
Annotate
spec/util_jsonpointer_spec.lua @ 12956:52fcdfe710ca
storagemanager: Add keyval+ (combined keyval + map) store type
This combines the two most common store types, which modules often end up
opening with both interfaces separately anyway.
As well as combining them, I've taken the opportunity to improve some of the
method names to make them clearer.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Tue, 27 Sep 2022 17:46:27 +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) |