1[{
2 "given": {
3 "foo": {
4 "bar": {
5 "baz": "subkey"
6 },
7 "other": {
8 "baz": "subkey"
9 },
10 "other2": {
11 "baz": "subkey"
12 },
13 "other3": {
14 "notbaz": ["a", "b", "c"]
15 },
16 "other4": {
17 "notbaz": ["a", "b", "c"]
18 }
19 }
20 },
21 "cases": [
22 {
23 "expression": "foo.*.baz | [0]",
24 "result": "subkey"
25 },
26 {
27 "expression": "foo.*.baz | [1]",
28 "result": "subkey"
29 },
30 {
31 "expression": "foo.*.baz | [2]",
32 "result": "subkey"
33 },
34 {
35 "expression": "foo.bar.* | [0]",
36 "result": "subkey"
37 },
38 {
39 "expression": "foo.*.notbaz | [*]",
40 "result": [["a", "b", "c"], ["a", "b", "c"]]
41 },
42 {
43 "expression": "{\"a\": foo.bar, \"b\": foo.other} | *.baz",
44 "result": ["subkey", "subkey"]
45 }
46 ]
47}, {
48 "given": {
49 "foo": {
50 "bar": {
51 "baz": "one"
52 },
53 "other": {
54 "baz": "two"
55 },
56 "other2": {
57 "baz": "three"
58 },
59 "other3": {
60 "notbaz": ["a", "b", "c"]
61 },
62 "other4": {
63 "notbaz": ["d", "e", "f"]
64 }
65 }
66 },
67 "cases": [
68 {
69 "expression": "foo | bar",
70 "result": {"baz": "one"}
71 },
72 {
73 "expression": "foo | bar | baz",
74 "result": "one"
75 },
76 {
77 "expression": "foo|bar| baz",
78 "result": "one"
79 },
80 {
81 "expression": "not_there | [0]",
82 "result": null
83 },
84 {
85 "expression": "not_there | [0]",
86 "result": null
87 },
88 {
89 "expression": "[foo.bar, foo.other] | [0]",
90 "result": {"baz": "one"}
91 },
92 {
93 "expression": "{\"a\": foo.bar, \"b\": foo.other} | a",
94 "result": {"baz": "one"}
95 },
96 {
97 "expression": "{\"a\": foo.bar, \"b\": foo.other} | b",
98 "result": {"baz": "two"}
99 },
100 {
101 "expression": "foo.bam || foo.bar | baz",
102 "result": "one"
103 },
104 {
105 "expression": "foo | not_there || bar",
106 "result": {"baz": "one"}
107 }
108 ]
109}, {
110 "given": {
111 "foo": [{
112 "bar": [{
113 "baz": "one"
114 }, {
115 "baz": "two"
116 }]
117 }, {
118 "bar": [{
119 "baz": "three"
120 }, {
121 "baz": "four"
122 }]
123 }]
124 },
125 "cases": [
126 {
127 "expression": "foo[*].bar[*] | [0][0]",
128 "result": {"baz": "one"}
129 }
130 ]
131}]
View as plain text