RFC6901 JSON Pointer implementation in OCaml using jsont
1{
2 "add_tests": [
3 {
4 "doc": {"foo": "bar"},
5 "pointer": "/baz",
6 "value": "qux",
7 "expected": {"foo": "bar", "baz": "qux"}
8 },
9 {
10 "doc": {"foo": ["bar", "baz"]},
11 "pointer": "/foo/1",
12 "value": "qux",
13 "expected": {"foo": ["bar", "qux", "baz"]}
14 },
15 {
16 "doc": {"foo": ["bar"]},
17 "pointer": "/foo/-",
18 "value": "qux",
19 "expected": {"foo": ["bar", "qux"]}
20 },
21 {
22 "doc": {"foo": ["bar", "baz"]},
23 "pointer": "/foo/0",
24 "value": "qux",
25 "expected": {"foo": ["qux", "bar", "baz"]}
26 }
27 ],
28 "remove_tests": [
29 {
30 "doc": {"foo": "bar", "baz": "qux"},
31 "pointer": "/baz",
32 "expected": {"foo": "bar"}
33 },
34 {
35 "doc": {"foo": ["bar", "qux", "baz"]},
36 "pointer": "/foo/1",
37 "expected": {"foo": ["bar", "baz"]}
38 }
39 ],
40 "replace_tests": [
41 {
42 "doc": {"foo": "bar"},
43 "pointer": "/foo",
44 "value": "baz",
45 "expected": {"foo": "baz"}
46 },
47 {
48 "doc": {"foo": ["bar", "baz"]},
49 "pointer": "/foo/0",
50 "value": "qux",
51 "expected": {"foo": ["qux", "baz"]}
52 }
53 ],
54 "move_tests": [
55 {
56 "doc": {"foo": {"bar": "baz"}, "qux": {"corge": "grault"}},
57 "from": "/foo/bar",
58 "path": "/qux/thud",
59 "expected": {"foo": {}, "qux": {"corge": "grault", "thud": "baz"}}
60 },
61 {
62 "doc": {"foo": ["all", "grass", "cows", "eat"]},
63 "from": "/foo/1",
64 "path": "/foo/3",
65 "expected": {"foo": ["all", "cows", "eat", "grass"]}
66 }
67 ],
68 "copy_tests": [
69 {
70 "doc": {"foo": {"bar": "baz"}},
71 "from": "/foo/bar",
72 "path": "/foo/qux",
73 "expected": {"foo": {"bar": "baz", "qux": "baz"}}
74 }
75 ],
76 "test_tests": [
77 {
78 "doc": {"foo": "bar"},
79 "pointer": "/foo",
80 "value": "bar",
81 "expected": true
82 },
83 {
84 "doc": {"foo": "bar"},
85 "pointer": "/foo",
86 "value": "baz",
87 "expected": false
88 },
89 {
90 "doc": {"foo": ["bar", "baz"]},
91 "pointer": "/foo",
92 "value": ["bar", "baz"],
93 "expected": true
94 }
95 ]
96}