UNPKG

3.57 kBJSONView Raw
1[{
2 "given": {
3 "foo": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
4 "bar": {
5 "baz": 1
6 }
7 },
8 "cases": [
9 {
10 "expression": "bar[0:10]",
11 "result": null
12 },
13 {
14 "expression": "foo[0:10:1]",
15 "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
16 },
17 {
18 "expression": "foo[0:10]",
19 "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
20 },
21 {
22 "expression": "foo[0:10:]",
23 "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
24 },
25 {
26 "expression": "foo[0::1]",
27 "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
28 },
29 {
30 "expression": "foo[0::]",
31 "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
32 },
33 {
34 "expression": "foo[0:]",
35 "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
36 },
37 {
38 "expression": "foo[:10:1]",
39 "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
40 },
41 {
42 "expression": "foo[::1]",
43 "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
44 },
45 {
46 "expression": "foo[:10:]",
47 "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
48 },
49 {
50 "expression": "foo[::]",
51 "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
52 },
53 {
54 "expression": "foo[:]",
55 "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
56 },
57 {
58 "expression": "foo[1:9]",
59 "result": [1, 2, 3, 4, 5, 6, 7, 8]
60 },
61 {
62 "expression": "foo[0:10:2]",
63 "result": [0, 2, 4, 6, 8]
64 },
65 {
66 "expression": "foo[5:]",
67 "result": [5, 6, 7, 8, 9]
68 },
69 {
70 "expression": "foo[5::2]",
71 "result": [5, 7, 9]
72 },
73 {
74 "expression": "foo[::2]",
75 "result": [0, 2, 4, 6, 8]
76 },
77 {
78 "expression": "foo[::-1]",
79 "result": [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
80 },
81 {
82 "expression": "foo[1::2]",
83 "result": [1, 3, 5, 7, 9]
84 },
85 {
86 "expression": "foo[10:0:-1]",
87 "result": [9, 8, 7, 6, 5, 4, 3, 2, 1]
88 },
89 {
90 "expression": "foo[10:5:-1]",
91 "result": [9, 8, 7, 6]
92 },
93 {
94 "expression": "foo[8:2:-2]",
95 "result": [8, 6, 4]
96 },
97 {
98 "expression": "foo[0:20]",
99 "result": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
100 },
101 {
102 "expression": "foo[10:-20:-1]",
103 "result": [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
104 },
105 {
106 "expression": "foo[10:-20]",
107 "result": []
108 },
109 {
110 "expression": "foo[-4:-1]",
111 "result": [6, 7, 8]
112 },
113 {
114 "expression": "foo[:-5:-1]",
115 "result": [9, 8, 7, 6]
116 },
117 {
118 "expression": "foo[8:2:0]",
119 "error": "invalid-value"
120 },
121 {
122 "expression": "foo[8:2:0:1]",
123 "error": "syntax"
124 },
125 {
126 "expression": "foo[8:2&]",
127 "error": "syntax"
128 }
129 ]
130}, {
131 "given": {
132 "foo": [{"a": 1}, {"a": 2}, {"a": 3}],
133 "bar": [{"a": {"b": 1}}, {"a": {"b": 2}},
134 {"a": {"b": 3}}],
135 "baz": 50
136 },
137 "cases": [
138 {
139 "expression": "foo[:2].a",
140 "result": [1, 2]
141 },
142 {
143 "expression": "foo[:2].b",
144 "result": []
145 },
146 {
147 "expression": "foo[:2].a.b",
148 "result": []
149 },
150 {
151 "expression": "bar[::-1].a.b",
152 "result": [3, 2, 1]
153 },
154 {
155 "expression": "bar[:2].a.b",
156 "result": [1, 2]
157 },
158 {
159 "expression": "baz[:2].a",
160 "result": null
161 }
162 ]
163}, {
164 "given": [{"a": 1}, {"a": 2}, {"a": 3}],
165 "cases": [
166 {
167 "expression": "[:]",
168 "result": [{"a": 1}, {"a": 2}, {"a": 3}]
169 },
170 {
171 "expression": "[:2].a",
172 "result": [1, 2]
173 },
174 {
175 "expression": "[::-1].a",
176 "result": [3, 2, 1]
177 },
178 {
179 "expression": "[:2].b",
180 "result": []
181 }
182 ]
183}]