Results of the Compliance Test Suite and Other Tests

Origin Number of Tests Number of Tests Passed Number of Tests Failed
cts 692 692 0
ajp 23 23 0
Total 715 715 0

Status of the test: All Passed

# Origin Test Name Passed Parses Query QueryArg Output Values Output Paths
1 cts basic, root $ ["first","second"] [["first","second"]] ["$"]
2 cts basic, no leading whitespace $ Parsing error in query line 1 column 1 unexpected character: ' '.
3 cts basic, no trailing whitespace $ Parsing error in query line 1 column 1 unexpected character: ''.
4 cts basic, name shorthand $.a {"a":"A","b":"B"} ["A"] ["$['a']"]
5 cts basic, name shorthand, extended unicode ☺ $.☺ {"b":"B","☺":"A"} ["A"] ["$['☺']"]
6 cts basic, name shorthand, underscore $._ {"_foo":"B","_":"A"} ["A"] ["$['_']"]
7 cts basic, name shorthand, symbol $.& Parsing error in query line 1 column 2 unexpected character: '&'.
8 cts basic, name shorthand, number $.1 Parsing error in query line 1 column 2 unexpected character: '1'.
9 cts basic, name shorthand, absent data $.c {"a":"A","b":"B"} [] []
10 cts basic, name shorthand, array data $.a ["first","second"] [] []
11 cts basic, name shorthand, object data, nested $.a.b.c {"a":{"b":{"c":"C"}}} ["C"] ["$['a']['b']['c']"]
12 cts basic, wildcard shorthand, object data $.* {"a":"A","b":"B"} ["A","B"] ["$['a']","$['b']"]
13 cts basic, wildcard shorthand, array data $.* ["first","second"] ["first","second"] ["$[0]","$[1]"]
14 cts basic, wildcard selector, array data $[*] ["first","second"] ["first","second"] ["$[0]","$[1]"]
15 cts basic, wildcard shorthand, then name shorthand $.*.a {"x":{"a":"Ax","b":"Bx"},"y":{"a":"Ay","b":"By"}} ["Ax","Ay"] ["$['x']['a']","$['y']['a']"]
16 cts basic, multiple selectors $[0,2] [0.0E0,1,2,3,4,5,6,7,8,9] [0.0E0,2] ["$[0]","$[2]"]
17 cts basic, multiple selectors, space instead of comma $[0 2] Parsing error in query line 1 column 5 unexpected character: '2'.
18 cts basic, selector, leading comma $[,0] Parsing error in query line 1 column 3 unexpected character: ','.
19 cts basic, selector, trailing comma $[0,] Parsing error in query line 1 column 4 unexpected character: ']'.
20 cts basic, multiple selectors, name and index, array data $[\'a\',1] [0.0E0,1,2,3,4,5,6,7,8,9] [1] ["$[1]"]
21 cts basic, multiple selectors, name and index, object data $[\'a\',1] {"a":1,"b":2} [1] ["$['a']"]
22 cts basic, multiple selectors, index and slice $[1,5:7] [0.0E0,1,2,3,4,5,6,7,8,9] [1,5,6] ["$[1]","$[5]","$[6]"]
23 cts basic, multiple selectors, index and slice, overlapping $[1,0:3] [0.0E0,1,2,3,4,5,6,7,8,9] [1,0.0E0,1,2] ["$[1]","$[0]","$[1]","$[2]"]
24 cts basic, multiple selectors, duplicate index $[1,1] [0.0E0,1,2,3,4,5,6,7,8,9] [1,1] ["$[1]","$[1]"]
25 cts basic, multiple selectors, wildcard and index $[*,1] [0.0E0,1,2,3,4,5,6,7,8,9] [0.0E0,1,2,3,4,5,6,7,8,9,1] ["$[0]","$[1]","$[2]","$[3]","$[4]","$[5]","$[6]","$[7]","$[8]","$[9]","$[1]"]
26 cts basic, multiple selectors, wildcard and name $[*,\'a\'] {"a":"A","b":"B"} ["A","B","A"] ["$['a']","$['b']","$['a']"]
27 cts basic, multiple selectors, wildcard and slice $[*,0:2] [0.0E0,1,2,3,4,5,6,7,8,9] [0.0E0,1,2,3,4,5,6,7,8,9,0.0E0,1] ["$[0]","$[1]","$[2]","$[3]","$[4]","$[5]","$[6]","$[7]","$[8]","$[9]","$[0]","$[1]"]
28 cts basic, multiple selectors, multiple wildcards $[*,*] [0.0E0,1,2] [0.0E0,1,2,0.0E0,1,2] ["$[0]","$[1]","$[2]","$[0]","$[1]","$[2]"]
29 cts basic, empty segment $[] Parsing error in query line 1 column 2 unexpected character: ']'.
30 cts basic, descendant segment, index $..[1] {"o":[0.0E0,1,[2,3]]} [1,3] ["$['o'][1]","$['o'][2][1]"]
31 cts basic, descendant segment, name shorthand $..a {"o":[{"a":"b"},{"a":"c"}]} ["b","c"] ["$['o'][0]['a']","$['o'][1]['a']"]
32 cts basic, name shorthand, true $.true {"true":"A","_foo":"B"} ["A"] ["$['true']"]
33 cts basic, name shorthand, false $.false {"false":"A","_foo":"B"} ["A"] ["$['false']"]
34 cts basic, name shorthand, null $.null {"null":"A","_foo":"B"} ["A"] ["$['null']"]
35 cts basic, descendant segment, wildcard shorthand, array data $..* [0.0E0,1] [0.0E0,1] ["$[0]","$[1]"]
36 cts basic, descendant segment, wildcard selector, array data $..[*] [0.0E0,1] [0.0E0,1] ["$[0]","$[1]"]
37 cts basic, descendant segment, wildcard selector, nested arrays $..[*] [[[1]],[2]] [[[1]],[2],[1],1,2] ["$[0]","$[1]","$[0][0]","$[0][0][0]","$[1][0]"]
38 cts basic, descendant segment, wildcard selector, nested objects $..[*] {"a":{"c":{"e":1}},"b":{"d":2}} [{"c":{"e":1}},{"d":2},{"e":1},1,2] ["$['a']","$['b']","$['a']['c']","$['a']['c']['e']","$['b']['d']"]
39 cts basic, descendant segment, wildcard shorthand, object data $..* {"a":"b"} ["b"] ["$['a']"]
40 cts basic, descendant segment, wildcard shorthand, nested data $..* {"o":[{"a":"b"}]} [[{"a":"b"}],{"a":"b"},"b"] ["$['o']","$['o'][0]","$['o'][0]['a']"]
41 cts basic, descendant segment, multiple selectors $..[\'a\',\'d\'] [{"a":"b","d":"e"},{"a":"c","d":"f"}] ["b","e","c","f"] ["$[0]['a']","$[0]['d']","$[1]['a']","$[1]['d']"]
42 cts basic, descendant segment, object traversal, multiple selectors $..[\'a\',\'d\'] {"x":{"a":"b","d":"e"},"y":{"a":"c","d":"f"}} ["b","e","c","f"] ["$['x']['a']","$['x']['d']","$['y']['a']","$['y']['d']"]
43 cts basic, bald descendant segment $.. Parsing error in query line 1 column 2 unexpected character: ''.
44 cts basic, current node identifier without filter selector $[@.a] Parsing error in query line 1 column 3 unexpected character: '@'.
45 cts basic, root node identifier in brackets without filter selector $[$.a] Parsing error in query line 1 column 3 unexpected character: '$'.
46 cts filter, existence, without segments $[?@] {"a":1,"b":null} [1,null] ["$['a']","$['b']"]
47 cts filter, existence $[?@.a] [{"a":"b","d":"e"},{"b":"c","d":"f"}] [{"a":"b","d":"e"}] ["$[0]"]
48 cts filter, existence, present with null $[?@.a] [{"a":null,"d":"e"},{"b":"c","d":"f"}] [{"a":null,"d":"e"}] ["$[0]"]
49 cts filter, absolute existence, without segments $[?$] {"a":1,"b":null} [1,null] ["$['a']","$['b']"]
50 cts filter, absolute existence, with segments $[?$.*.a] [{"a":"b","d":"e"},{"b":"c","d":"f"}] [{"a":"b","d":"e"},{"b":"c","d":"f"}] ["$[0]","$[1]"]
51 cts filter, equals string, single quotes $[?@.a==\'b\'] [{"a":"b","d":"e"},{"a":"c","d":"f"}] [{"a":"b","d":"e"}] ["$[0]"]
52 cts filter, equals numeric string, single quotes $[?@.a==\'1\'] [{"a":"1","d":"e"},{"a":1,"d":"f"}] [{"a":"1","d":"e"}] ["$[0]"]
53 cts filter, equals string, double quotes $[?@.a=="b"] [{"a":"b","d":"e"},{"a":"c","d":"f"}] [{"a":"b","d":"e"}] ["$[0]"]
54 cts filter, equals numeric string, double quotes $[?@.a=="1"] [{"a":"1","d":"e"},{"a":1,"d":"f"}] [{"a":"1","d":"e"}] ["$[0]"]
55 cts filter, equals number $[?@.a==1] [{"a":1,"d":"e"},{"a":"c","d":"f"},{"a":2,"d":"f"},{"a":"1","d":"f"}] [{"a":1,"d":"e"}] ["$[0]"]
56 cts filter, equals null $[?@.a==null] [{"a":null,"d":"e"},{"a":"c","d":"f"}] [{"a":null,"d":"e"}] ["$[0]"]
57 cts filter, equals null, absent from data $[?@.a==null] [{"d":"e"},{"a":"c","d":"f"}] [] []
58 cts filter, equals true $[?@.a==true] [{"a":true,"d":"e"},{"a":"c","d":"f"}] [{"a":true,"d":"e"}] ["$[0]"]
59 cts filter, equals false $[?@.a==false] [{"a":false,"d":"e"},{"a":"c","d":"f"}] [{"a":false,"d":"e"}] ["$[0]"]
60 cts filter, equals self $[?@==@] [1,null,true,{"a":"b"},[false]] [1,null,true,{"a":"b"},[false]] ["$[0]","$[1]","$[2]","$[3]","$[4]"]
61 cts filter, absolute, equals self $[?$==$] [1,null,true,{"a":"b"},[false]] [1,null,true,{"a":"b"},[false]] ["$[0]","$[1]","$[2]","$[3]","$[4]"]
62 cts filter, equals, absent from index selector equals absent from name selector $[?@.absent==@.list[9]] [{"list":[1]}] [{"list":[1]}] ["$[0]"]
63 cts filter, deep equality, arrays $[?@.a==@.b] [{"a":false,"b":[1,2]},{"a":[[1,[2]]],"b":[[1,[2]]]},{"a":[[1,[2]]],"b":[[[2],1]]},{"a":[[1,[2]]],"b":[[1,2]]}] [{"a":[[1,[2]]],"b":[[1,[2]]]}] ["$[1]"]
64 cts filter, deep equality, objects $[?@.a==@.b] [{"a":false,"b":{"x":1,"y":{"z":1}}},{"a":{"x":1,"y":{"z":1}},"b":{"x":1,"y":{"z":1}}},{"a":{"x":1,"y":{"z":1}},"b":{"x":1,"y":{"z":1}}},{"a":{"x":1,"y":{"z":1}},"b":{"x":1}},{"a":{"x":1,"y":{"z":1}},"b":{"x":1,"y":{"z":2}}}] [{"a":{"x":1,"y":{"z":1}},"b":{"x":1,"y":{"z":1}}},{"a":{"x":1,"y":{"z":1}},"b":{"x":1,"y":{"z":1}}}] ["$[1]","$[2]"]
65 cts filter, not-equals string, single quotes $[?@.a!=\'b\'] [{"a":"b","d":"e"},{"a":"c","d":"f"}] [{"a":"c","d":"f"}] ["$[1]"]
66 cts filter, not-equals numeric string, single quotes $[?@.a!=\'1\'] [{"a":"1","d":"e"},{"a":1,"d":"f"}] [{"a":1,"d":"f"}] ["$[1]"]
67 cts filter, not-equals string, single quotes, different type $[?@.a!=\'b\'] [{"a":"b","d":"e"},{"a":1,"d":"f"}] [{"a":1,"d":"f"}] ["$[1]"]
68 cts filter, not-equals string, double quotes $[?@.a!="b"] [{"a":"b","d":"e"},{"a":"c","d":"f"}] [{"a":"c","d":"f"}] ["$[1]"]
69 cts filter, not-equals numeric string, double quotes $[?@.a!="1"] [{"a":"1","d":"e"},{"a":1,"d":"f"}] [{"a":1,"d":"f"}] ["$[1]"]
70 cts filter, not-equals string, double quotes, different types $[?@.a!="b"] [{"a":"b","d":"e"},{"a":1,"d":"f"}] [{"a":1,"d":"f"}] ["$[1]"]
71 cts filter, not-equals number $[?@.a!=1] [{"a":1,"d":"e"},{"a":2,"d":"f"},{"a":"1","d":"f"}] [{"a":2,"d":"f"},{"a":"1","d":"f"}] ["$[1]","$[2]"]
72 cts filter, not-equals number, different types $[?@.a!=1] [{"a":1,"d":"e"},{"a":"c","d":"f"}] [{"a":"c","d":"f"}] ["$[1]"]
73 cts filter, not-equals null $[?@.a!=null] [{"a":null,"d":"e"},{"a":"c","d":"f"}] [{"a":"c","d":"f"}] ["$[1]"]
74 cts filter, not-equals null, absent from data $[?@.a!=null] [{"d":"e"},{"a":"c","d":"f"}] [{"d":"e"},{"a":"c","d":"f"}] ["$[0]","$[1]"]
75 cts filter, not-equals true $[?@.a!=true] [{"a":true,"d":"e"},{"a":"c","d":"f"}] [{"a":"c","d":"f"}] ["$[1]"]
76 cts filter, not-equals false $[?@.a!=false] [{"a":false,"d":"e"},{"a":"c","d":"f"}] [{"a":"c","d":"f"}] ["$[1]"]
77 cts filter, less than string, single quotes $[?@.a<\'c\'] [{"a":"b","d":"e"},{"a":"c","d":"f"}] [{"a":"b","d":"e"}] ["$[0]"]
78 cts filter, less than string, double quotes $[?@.a<"c"] [{"a":"b","d":"e"},{"a":"c","d":"f"}] [{"a":"b","d":"e"}] ["$[0]"]
79 cts filter, less than number $[?@.a<10] [{"a":1,"d":"e"},{"a":10,"d":"e"},{"a":"c","d":"f"},{"a":20,"d":"f"}] [{"a":1,"d":"e"}] ["$[0]"]
80 cts filter, less than null $[?@.a<null] [{"a":null,"d":"e"},{"a":"c","d":"f"}] [] []
81 cts filter, less than true $[?@.a<true] [{"a":true,"d":"e"},{"a":"c","d":"f"}] [] []
82 cts filter, less than false $[?@.a<false] [{"a":false,"d":"e"},{"a":"c","d":"f"}] [] []
83 cts filter, less than or equal to string, single quotes $[?@.a<=\'c\'] [{"a":"b","d":"e"},{"a":"c","d":"f"}] [{"a":"b","d":"e"},{"a":"c","d":"f"}] ["$[0]","$[1]"]
84 cts filter, less than or equal to string, double quotes $[?@.a<="c"] [{"a":"b","d":"e"},{"a":"c","d":"f"}] [{"a":"b","d":"e"},{"a":"c","d":"f"}] ["$[0]","$[1]"]
85 cts filter, less than or equal to number $[?@.a<=10] [{"a":1,"d":"e"},{"a":10,"d":"e"},{"a":"c","d":"f"},{"a":20,"d":"f"}] [{"a":1,"d":"e"},{"a":10,"d":"e"}] ["$[0]","$[1]"]
86 cts filter, less than or equal to null $[?@.a<=null] [{"a":null,"d":"e"},{"a":"c","d":"f"}] [{"a":null,"d":"e"}] ["$[0]"]
87 cts filter, less than or equal to true $[?@.a<=true] [{"a":true,"d":"e"},{"a":"c","d":"f"}] [{"a":true,"d":"e"}] ["$[0]"]
88 cts filter, less than or equal to false $[?@.a<=false] [{"a":false,"d":"e"},{"a":"c","d":"f"}] [{"a":false,"d":"e"}] ["$[0]"]
89 cts filter, greater than string, single quotes $[?@.a>\'c\'] [{"a":"b","d":"e"},{"a":"c","d":"f"},{"a":"d","d":"f"}] [{"a":"d","d":"f"}] ["$[2]"]
90 cts filter, greater than string, double quotes $[?@.a>"c"] [{"a":"b","d":"e"},{"a":"c","d":"f"},{"a":"d","d":"f"}] [{"a":"d","d":"f"}] ["$[2]"]
91 cts filter, greater than number $[?@.a>10] [{"a":1,"d":"e"},{"a":10,"d":"e"},{"a":"c","d":"f"},{"a":20,"d":"f"}] [{"a":20,"d":"f"}] ["$[3]"]
92 cts filter, greater than null $[?@.a>null] [{"a":null,"d":"e"},{"a":"c","d":"f"}] [] []
93 cts filter, greater than true $[?@.a>true] [{"a":true,"d":"e"},{"a":"c","d":"f"}] [] []
94 cts filter, greater than false $[?@.a>false] [{"a":false,"d":"e"},{"a":"c","d":"f"}] [] []
95 cts filter, greater than or equal to string, single quotes $[?@.a>=\'c\'] [{"a":"b","d":"e"},{"a":"c","d":"f"},{"a":"d","d":"f"}] [{"a":"c","d":"f"},{"a":"d","d":"f"}] ["$[1]","$[2]"]
96 cts filter, greater than or equal to string, double quotes $[?@.a>="c"] [{"a":"b","d":"e"},{"a":"c","d":"f"},{"a":"d","d":"f"}] [{"a":"c","d":"f"},{"a":"d","d":"f"}] ["$[1]","$[2]"]
97 cts filter, greater than or equal to number $[?@.a>=10] [{"a":1,"d":"e"},{"a":10,"d":"e"},{"a":"c","d":"f"},{"a":20,"d":"f"}] [{"a":10,"d":"e"},{"a":20,"d":"f"}] ["$[1]","$[3]"]
98 cts filter, greater than or equal to null $[?@.a>=null] [{"a":null,"d":"e"},{"a":"c","d":"f"}] [{"a":null,"d":"e"}] ["$[0]"]
99 cts filter, greater than or equal to true $[?@.a>=true] [{"a":true,"d":"e"},{"a":"c","d":"f"}] [{"a":true,"d":"e"}] ["$[0]"]
100 cts filter, greater than or equal to false $[?@.a>=false] [{"a":false,"d":"e"},{"a":"c","d":"f"}] [{"a":false,"d":"e"}] ["$[0]"]
101 cts filter, exists and not-equals null, absent from data $[?@.a&&@.a!=null] [{"d":"e"},{"a":"c","d":"f"}] [{"a":"c","d":"f"}] ["$[1]"]
102 cts filter, exists and exists, data false $[?@.a&&@.b] [{"a":false,"b":false},{"b":false},{"c":false}] [{"a":false,"b":false}] ["$[0]"]
103 cts filter, exists or exists, data false $[?@.a||@.b] [{"a":false,"b":false},{"b":false},{"c":false}] [{"a":false,"b":false},{"b":false}] ["$[0]","$[1]"]
104 cts filter, and $[?@.a>0&&@.a<10] [{"a":-10,"d":"e"},{"a":5,"d":"f"},{"a":20,"d":"f"}] [{"a":5,"d":"f"}] ["$[1]"]
105 cts filter, or $[?@.a==\'b\'||@.a==\'d\'] [{"a":"a","d":"e"},{"a":"b","d":"f"},{"a":"c","d":"f"},{"a":"d","d":"f"}] [{"a":"b","d":"f"},{"a":"d","d":"f"}] ["$[1]","$[3]"]
106 cts filter, not expression $[?!(@.a==\'b\')] [{"a":"a","d":"e"},{"a":"b","d":"f"},{"a":"d","d":"f"}] [{"a":"a","d":"e"},{"a":"d","d":"f"}] ["$[0]","$[2]"]
107 cts filter, not exists $[?!@.a] [{"a":"a","d":"e"},{"d":"f"},{"a":"d","d":"f"}] [{"d":"f"}] ["$[1]"]
108 cts filter, not exists, data null $[?!@.a] [{"a":null,"d":"e"},{"d":"f"},{"a":"d","d":"f"}] [{"d":"f"}] ["$[1]"]
109 cts filter, non-singular existence, wildcard $[?@.*] [1,[],[2],{},{"a":3}] [[2],{"a":3}] ["$[2]","$[4]"]
110 cts filter, non-singular existence, multiple $[?@[0, 0, \'a\']] [1,[],[2],[2,3],{"a":3},{"b":4},{"a":3,"b":4}] [[2],[2,3],{"a":3},{"a":3,"b":4}] ["$[2]","$[3]","$[4]","$[6]"]
111 cts filter, non-singular existence, slice $[?@[0:2]] [1,[],[2],[2,3,4],{},{"a":3}] [[2],[2,3,4]] ["$[2]","$[3]"]
112 cts filter, non-singular existence, negated $[?!@.*] [1,[],[2],{},{"a":3}] [1,[],{}] ["$[0]","$[1]","$[3]"]
113 cts filter, non-singular query in comparison, slice $[?@[0:0]==0] Parsing error in query line 1 column 10 unexpected character: '='.
114 cts filter, non-singular query in comparison, all children $[?@[*]==0] Parsing error in query line 1 column 8 unexpected character: '='.
115 cts filter, non-singular query in comparison, descendants $[?@..a==0] Parsing error in query line 1 column 8 unexpected character: '='.
116 cts filter, non-singular query in comparison, combined $[?@.a[*].a==0] Parsing error in query line 1 column 12 unexpected character: '='.
117 cts filter, nested $[?@[?@>1]] [[0.0E0],[0.0E0,1],[0.0E0,1,2],[42]] [[0.0E0,1,2],[42]] ["$[2]","$[3]"]
118 cts filter, name segment on primitive, selects nothing $[?@.a == 1] {"a":1} [] []
119 cts filter, name segment on array, selects nothing $[?@[\'0\'] == 5] [[5,6]] [] []
120 cts filter, index segment on object, selects nothing $[?@[0] == 5] [{"0":5}] [] []
121 cts filter, followed by name selector $[?@.a==1].b.x [{"a":1,"b":{"x":2}}] [2] ["$[0]['b']['x']"]
122 cts filter, followed by child segment that selects multiple elements $[?@.z==\'_\'][\'x\',\'y\'] [{"x":1,"y":null,"z":"_"}] [1,null] ["$[0]['x']","$[0]['y']"]
123 cts filter, relative non-singular query, index, equal $[?(@[0, 0]==42)] Parsing error in query line 1 column 12 unexpected character: '='.
124 cts filter, relative non-singular query, index, not equal $[?(@[0, 0]!=42)] Parsing error in query line 1 column 12 unexpected character: '!'.
125 cts filter, relative non-singular query, index, less-or-equal $[?(@[0, 0]<=42)] Parsing error in query line 1 column 12 unexpected character: '<'.
126 cts filter, relative non-singular query, name, equal $[?(@[\'a\', \'a\']==42)] Parsing error in query line 1 column 16 unexpected character: '='.
127 cts filter, relative non-singular query, name, not equal $[?(@[\'a\', \'a\']!=42)] Parsing error in query line 1 column 16 unexpected character: '!'.
128 cts filter, relative non-singular query, name, less-or-equal $[?(@[\'a\', \'a\']<=42)] Parsing error in query line 1 column 16 unexpected character: '<'.
129 cts filter, relative non-singular query, combined, equal $[?(@[0, \'0\']==42)] Parsing error in query line 1 column 14 unexpected character: '='.
130 cts filter, relative non-singular query, combined, not equal $[?(@[0, \'0\']!=42)] Parsing error in query line 1 column 14 unexpected character: '!'.
131 cts filter, relative non-singular query, combined, less-or-equal $[?(@[0, \'0\']<=42)] Parsing error in query line 1 column 14 unexpected character: '<'.
132 cts filter, relative non-singular query, wildcard, equal $[?(@.*==42)] Parsing error in query line 1 column 8 unexpected character: '='.
133 cts filter, relative non-singular query, wildcard, not equal $[?(@.*!=42)] Parsing error in query line 1 column 8 unexpected character: '!'.
134 cts filter, relative non-singular query, wildcard, less-or-equal $[?(@.*<=42)] Parsing error in query line 1 column 8 unexpected character: '<'.
135 cts filter, relative non-singular query, slice, equal $[?(@[0:0]==42)] Parsing error in query line 1 column 11 unexpected character: '='.
136 cts filter, relative non-singular query, slice, not equal $[?(@[0:0]!=42)] Parsing error in query line 1 column 11 unexpected character: '!'.
137 cts filter, relative non-singular query, slice, less-or-equal $[?(@[0:0]<=42)] Parsing error in query line 1 column 11 unexpected character: '<'.
138 cts filter, absolute non-singular query, index, equal $[?($[0, 0]==42)] Parsing error in query line 1 column 12 unexpected character: '='.
139 cts filter, absolute non-singular query, index, not equal $[?($[0, 0]!=42)] Parsing error in query line 1 column 12 unexpected character: '!'.
140 cts filter, absolute non-singular query, index, less-or-equal $[?($[0, 0]<=42)] Parsing error in query line 1 column 12 unexpected character: '<'.
141 cts filter, absolute non-singular query, name, equal $[?($[\'a\', \'a\']==42)] Parsing error in query line 1 column 16 unexpected character: '='.
142 cts filter, absolute non-singular query, name, not equal $[?($[\'a\', \'a\']!=42)] Parsing error in query line 1 column 16 unexpected character: '!'.
143 cts filter, absolute non-singular query, name, less-or-equal $[?($[\'a\', \'a\']<=42)] Parsing error in query line 1 column 16 unexpected character: '<'.
144 cts filter, absolute non-singular query, combined, equal $[?($[0, \'0\']==42)] Parsing error in query line 1 column 14 unexpected character: '='.
145 cts filter, absolute non-singular query, combined, not equal $[?($[0, \'0\']!=42)] Parsing error in query line 1 column 14 unexpected character: '!'.
146 cts filter, absolute non-singular query, combined, less-or-equal $[?($[0, \'0\']<=42)] Parsing error in query line 1 column 14 unexpected character: '<'.
147 cts filter, absolute non-singular query, wildcard, equal $[?($.*==42)] Parsing error in query line 1 column 8 unexpected character: '='.
148 cts filter, absolute non-singular query, wildcard, not equal $[?($.*!=42)] Parsing error in query line 1 column 8 unexpected character: '!'.
149 cts filter, absolute non-singular query, wildcard, less-or-equal $[?($.*<=42)] Parsing error in query line 1 column 8 unexpected character: '<'.
150 cts filter, absolute non-singular query, slice, equal $[?($[0:0]==42)] Parsing error in query line 1 column 11 unexpected character: '='.
151 cts filter, absolute non-singular query, slice, not equal $[?($[0:0]!=42)] Parsing error in query line 1 column 11 unexpected character: '!'.
152 cts filter, absolute non-singular query, slice, less-or-equal $[?($[0:0]<=42)] Parsing error in query line 1 column 11 unexpected character: '<'.
153 cts filter, multiple selectors $[?@.a,?@.b] [{"a":"b","d":"e"},{"b":"c","d":"f"}] [{"a":"b","d":"e"},{"b":"c","d":"f"}] ["$[0]","$[1]"]
154 cts filter, multiple selectors, comparison $[?@.a==\'b\',?@.b==\'x\'] [{"a":"b","d":"e"},{"b":"c","d":"f"}] [{"a":"b","d":"e"}] ["$[0]"]
155 cts filter, multiple selectors, overlapping $[?@.a,?@.d] [{"a":"b","d":"e"},{"b":"c","d":"f"}] [{"a":"b","d":"e"},{"a":"b","d":"e"},{"b":"c","d":"f"}] ["$[0]","$[0]","$[1]"]
156 cts filter, multiple selectors, filter and index $[?@.a,1] [{"a":"b","d":"e"},{"b":"c","d":"f"}] [{"a":"b","d":"e"},{"b":"c","d":"f"}] ["$[0]","$[1]"]
157 cts filter, multiple selectors, filter and wildcard $[?@.a,*] [{"a":"b","d":"e"},{"b":"c","d":"f"}] [{"a":"b","d":"e"},{"a":"b","d":"e"},{"b":"c","d":"f"}] ["$[0]","$[0]","$[1]"]
158 cts filter, multiple selectors, filter and slice $[?@.a,1:] [{"a":"b","d":"e"},{"b":"c","d":"f"},{"g":"h"}] [{"a":"b","d":"e"},{"b":"c","d":"f"},{"g":"h"}] ["$[0]","$[1]","$[2]"]
159 cts filter, multiple selectors, comparison filter, index and slice $[1, ?@.a==\'b\', 1:] [{"a":"b","d":"e"},{"b":"c","d":"f"}] [{"b":"c","d":"f"},{"a":"b","d":"e"},{"b":"c","d":"f"}] ["$[1]","$[0]","$[1]"]
160 cts filter, equals number, zero and negative zero $[?@.a==0] [{"a":0.0E0,"d":"e"},{"a":0.1,"d":"f"},{"a":"0","d":"g"}] [{"a":0.0E0,"d":"e"}] ["$[0]"]
161 cts filter, equals number, negative zero and zero $[?@.a==-0] [{"a":0.0E0,"d":"e"},{"a":0.1,"d":"f"},{"a":"0","d":"g"}] [{"a":0.0E0,"d":"e"}] ["$[0]"]
162 cts filter, equals number, with and without decimal fraction $[?@.a==1.0] [{"a":1,"d":"e"},{"a":2,"d":"f"},{"a":"1","d":"g"}] [{"a":1,"d":"e"}] ["$[0]"]
163 cts filter, equals number, exponent $[?@.a==1e2] [{"a":100,"d":"e"},{"a":100.1,"d":"f"},{"a":"100","d":"g"}] [{"a":100,"d":"e"}] ["$[0]"]
164 cts filter, equals number, exponent upper e $[?@.a==1E2] [{"a":100,"d":"e"},{"a":100.1,"d":"f"},{"a":"100","d":"g"}] [{"a":100,"d":"e"}] ["$[0]"]
165 cts filter, equals number, positive exponent $[?@.a==1e+2] [{"a":100,"d":"e"},{"a":100.1,"d":"f"},{"a":"100","d":"g"}] [{"a":100,"d":"e"}] ["$[0]"]
166 cts filter, equals number, negative exponent $[?@.a==1e-2] [{"a":0.01,"d":"e"},{"a":0.02,"d":"f"},{"a":"0.01","d":"g"}] [{"a":0.01,"d":"e"}] ["$[0]"]
167 cts filter, equals number, exponent 0 $[?@.a==1e0] [{"a":1,"d":"e"},{"a":2,"d":"f"},{"a":"1","d":"g"}] [{"a":1,"d":"e"}] ["$[0]"]
168 cts filter, equals number, exponent -0 $[?@.a==1e-0] [{"a":1,"d":"e"},{"a":2,"d":"f"},{"a":"1","d":"g"}] [{"a":1,"d":"e"}] ["$[0]"]
169 cts filter, equals number, exponent +0 $[?@.a==1e+0] [{"a":1,"d":"e"},{"a":2,"d":"f"},{"a":"1","d":"g"}] [{"a":1,"d":"e"}] ["$[0]"]
170 cts filter, equals number, exponent leading -0 $[?@.a==1e-02] [{"a":0.01,"d":"e"},{"a":0.02,"d":"f"},{"a":"0.01","d":"g"}] [{"a":0.01,"d":"e"}] ["$[0]"]
171 cts filter, equals number, exponent +00 $[?@.a==1e+00] [{"a":1,"d":"e"},{"a":2,"d":"f"},{"a":"1","d":"g"}] [{"a":1,"d":"e"}] ["$[0]"]
172 cts filter, equals number, decimal fraction $[?@.a==1.1] [{"a":1.1,"d":"e"},{"a":1,"d":"f"},{"a":"1.1","d":"g"}] [{"a":1.1,"d":"e"}] ["$[0]"]
173 cts filter, equals number, decimal fraction, trailing 0 $[?@.a==1.10] [{"a":1.1,"d":"e"},{"a":1,"d":"f"},{"a":"1.1","d":"g"}] [{"a":1.1,"d":"e"}] ["$[0]"]
174 cts filter, equals number, decimal fraction, exponent $[?@.a==1.1e2] [{"a":110,"d":"e"},{"a":110.1,"d":"f"},{"a":"110","d":"g"}] [{"a":110,"d":"e"}] ["$[0]"]
175 cts filter, equals number, decimal fraction, positive exponent $[?@.a==1.1e+2] [{"a":110,"d":"e"},{"a":110.1,"d":"f"},{"a":"110","d":"g"}] [{"a":110,"d":"e"}] ["$[0]"]
176 cts filter, equals number, decimal fraction, negative exponent $[?@.a==1.1e-2] [{"a":0.011,"d":"e"},{"a":0.012,"d":"f"},{"a":"0.011","d":"g"}] [{"a":0.011,"d":"e"}] ["$[0]"]
177 cts filter, equals number, invalid plus $[?@.a==+1] Parsing error in query line 1 column 9 unexpected character: '+'.
178 cts filter, equals number, invalid minus space $[?@.a==- 1] Parsing error in query line 1 column 10 unexpected character: ' '.
179 cts filter, equals number, invalid double minus $[?@.a==--1] Parsing error in query line 1 column 10 unexpected character: '-'.
180 cts filter, equals number, invalid no int digit $[?@.a==.1] Parsing error in query line 1 column 9 unexpected character: '.'.
181 cts filter, equals number, invalid minus no int digit $[?@.a==-.1] Parsing error in query line 1 column 10 unexpected character: '.'.
182 cts filter, equals number, invalid 00 $[?@.a==00] Parsing error in query line 1 column 10 unexpected character: '0'.
183 cts filter, equals number, invalid leading 0 $[?@.a==01] Parsing error in query line 1 column 10 unexpected character: '1'.
184 cts filter, equals number, invalid no fractional digit $[?@.a==1.] Parsing error in query line 1 column 10 unexpected character: ']'.
185 cts filter, equals number, invalid middle minus $[?@.a==1.-1] Parsing error in query line 1 column 11 unexpected character: '-'.
186 cts filter, equals number, invalid no fractional digit e $[?@.a==1.e1] Parsing error in query line 1 column 11 unexpected character: 'e'.
187 cts filter, equals number, invalid no e digit $[?@.a==1e] Parsing error in query line 1 column 10 unexpected character: ']'.
188 cts filter, equals number, invalid no e digit minus $[?@.a==1e-] Parsing error in query line 1 column 11 unexpected character: ']'.
189 cts filter, equals number, invalid double e $[?@.a==1eE1] Parsing error in query line 1 column 11 unexpected character: 'E'.
190 cts filter, equals number, invalid e digit double minus $[?@.a==1e--1] Parsing error in query line 1 column 12 unexpected character: '-'.
191 cts filter, equals number, invalid e digit plus minus $[?@.a==1e+-1] Parsing error in query line 1 column 12 unexpected character: '-'.
192 cts filter, equals number, invalid e decimal $[?@.a==1e2.3] Parsing error in query line 1 column 12 unexpected character: '.'.
193 cts filter, equals number, invalid multi e $[?@.a==1e2e3] Parsing error in query line 1 column 12 unexpected character: 'e'.
194 cts filter, equals, special nothing $.values[?length(@.a) == value($..c)] {"c":"cd","values":[{"a":"ab"},{"c":"d"},{"a":null}]} [{"c":"d"},{"a":null}] ["$['values'][1]","$['values'][2]"]
195 cts filter, equals, empty node list and empty node list $[?@.a == @.b] [{"a":1},{"b":2},{"c":3}] [{"c":3}] ["$[2]"]
196 cts filter, equals, empty node list and special nothing $[?@.a == length(@.b)] [{"a":1},{"b":2},{"c":3}] [{"b":2},{"c":3}] ["$[1]","$[2]"]
197 cts filter, object data $[?@<3] {"a":1,"b":2,"c":3} [1,2] ["$['a']","$['b']"]
198 cts filter, and binds more tightly than or $[?@.a || @.b && @.c] [{"a":1},{"b":2,"c":3},{"c":3},{"b":2},{"a":1,"b":2,"c":3}] [{"a":1},{"b":2,"c":3},{"a":1,"b":2,"c":3}] ["$[0]","$[1]","$[4]"]
199 cts filter, left to right evaluation $[?@.a && @.b || @.c] [{"a":1},{"b":2},{"a":1,"b":2},{"a":1,"c":3},{"b":1,"c":3},{"c":3},{"a":1,"b":2,"c":3}] [{"a":1,"b":2},{"a":1,"c":3},{"b":1,"c":3},{"c":3},{"a":1,"b":2,"c":3}] ["$[2]","$[3]","$[4]","$[5]","$[6]"]
200 cts filter, group terms, left $[?(@.a || @.b) && @.c] [{"a":1,"b":2},{"a":1,"c":3},{"b":2,"c":3},{"a":1},{"b":2},{"c":3},{"a":1,"b":2,"c":3}] [{"a":1,"c":3},{"b":2,"c":3},{"a":1,"b":2,"c":3}] ["$[1]","$[2]","$[6]"]
201 cts filter, group terms, right $[?@.a && (@.b || @.c)] [{"a":1},{"a":1,"b":2},{"a":1,"c":2},{"b":2},{"c":2},{"a":1,"b":2,"c":3}] [{"a":1,"b":2},{"a":1,"c":2},{"a":1,"b":2,"c":3}] ["$[1]","$[2]","$[5]"]
202 cts filter, string literal, single quote in double quotes $[?@ == "quoted\' literal"] ["quoted\' literal","a","quoted\\\\\' literal"] ["quoted\' literal"] ["$[0]"]
203 cts filter, string literal, double quote in single quotes $[?@ == \'quoted" literal\'] ["quoted\\" literal","a","quoted\\\\\\" literal","\'quoted\\" literal\'"] ["quoted\\" literal"] ["$[0]"]
204 cts filter, string literal, escaped single quote in single quotes $[?@ == \'quoted\\\' literal\'] ["quoted\' literal","a","quoted\\\\\' literal","\'quoted\\" literal\'"] ["quoted\' literal"] ["$[0]"]
205 cts filter, string literal, escaped double quote in double quotes $[?@ == "quoted\\" literal"] ["quoted\\" literal","a","quoted\\\\\\" literal","\'quoted\\" literal\'"] ["quoted\\" literal"] ["$[0]"]
206 cts filter, literal true must be compared $[?true] Parsing error in query line 1 column 7 unexpected character: ']'.
207 cts filter, literal false must be compared $[?false] Parsing error in query line 1 column 8 unexpected character: ']'.
208 cts filter, literal string must be compared $[?\'abc\'] Parsing error in query line 1 column 8 unexpected character: ']'.
209 cts filter, literal int must be compared $[?2] Parsing error in query line 1 column 4 unexpected character: ']'.
210 cts filter, literal float must be compared $[?2.2] Parsing error in query line 1 column 6 unexpected character: ']'.
211 cts filter, literal null must be compared $[?null] Parsing error in query line 1 column 7 unexpected character: ']'.
212 cts filter, and, literals must be compared $[?true && false] Parsing error in query line 1 column 9 unexpected character: '&'.
213 cts filter, or, literals must be compared $[?true || false] Parsing error in query line 1 column 9 unexpected character: '|'.
214 cts filter, and, right hand literal must be compared $[?true == false && false] Parsing error in query line 1 column 25 unexpected character: ']'.
215 cts filter, or, right hand literal must be compared $[?true == false || false] Parsing error in query line 1 column 25 unexpected character: ']'.
216 cts filter, and, left hand literal must be compared $[?false && true == false] Parsing error in query line 1 column 10 unexpected character: '&'.
217 cts filter, or, left hand literal must be compared $[?false || true == false] Parsing error in query line 1 column 10 unexpected character: '|'.
218 cts filter, true, incorrectly capitalized $[?@==True] Parsing error in query line 1 column 7 unexpected character: 'T'.
219 cts filter, false, incorrectly capitalized $[?@==False] Parsing error in query line 1 column 7 unexpected character: 'F'.
220 cts filter, null, incorrectly capitalized $[?@==Null] Parsing error in query line 1 column 7 unexpected character: 'N'.
221 cts index selector, first element $[0] ["first","second"] ["first"] ["$[0]"]
222 cts index selector, second element $[1] ["first","second"] ["second"] ["$[1]"]
223 cts index selector, out of bound $[2] ["first","second"] [] []
224 cts index selector, min exact index $[-9007199254740991] ["first","second"] [] []
225 cts index selector, max exact index $[9007199254740991] ["first","second"] [] []
226 cts index selector, min exact index - 1 $[-9007199254740992] ajp:SEL0001: integer value of index-selector not within IJSON bounds (RFC9535 Sect 2.1) value: -9007199254740992
227 cts index selector, max exact index + 1 $[9007199254740992] ajp:SEL0001: integer value of index-selector not within IJSON bounds (RFC9535 Sect 2.1) value: 9007199254740992
228 cts index selector, overflowing index $[231584178474632390847141970017375815706539969331281128078915168015826259279872] ajp:SEL0001: integer value of index-selector not within IJSON bounds (RFC9535 Sect 2.1) value: 231584178474632390847141970017375815706539969331281128078915168015826259279872
229 cts index selector, not actually an index, overflowing index leads into general text $[231584178474632390847141970017375815706539969331281128078915168SomeRandomText] Parsing error in query line 1 column 66 unexpected character: 'S'.
230 cts index selector, negative $[-1] ["first","second"] ["second"] ["$[1]"]
231 cts index selector, more negative $[-2] ["first","second"] ["first"] ["$[0]"]
232 cts index selector, negative out of bound $[-3] ["first","second"] [] []
233 cts index selector, on object $[0] {"foo":1} [] []
234 cts index selector, leading 0 $[01] Parsing error in query line 1 column 4 unexpected character: '1'.
235 cts index selector, decimal $[1.0] Parsing error in query line 1 column 4 unexpected character: '.'.
236 cts index selector, plus $[+1] Parsing error in query line 1 column 3 unexpected character: '+'.
237 cts index selector, minus space $[- 1] Parsing error in query line 1 column 4 unexpected character: ' '.
238 cts index selector, -0 $[-0] Parsing error in query line 1 column 4 unexpected character: '0'.
239 cts index selector, leading -0 $[-01] Parsing error in query line 1 column 4 unexpected character: '0'.
240 cts name selector, double quotes $["a"] {"a":"A","b":"B"} ["A"] ["$['a']"]
241 cts name selector, double quotes, absent data $["c"] {"a":"A","b":"B"} [] []
242 cts name selector, double quotes, array data $["a"] ["first","second"] [] []
243 cts name selector, name, double quotes, contains single quote $["a\'"] {"b":"B","a\'":"A"} ["A"] ["$['a\\'']"]
244 cts name selector, name, double quotes, nested $["a"]["b"]["c"] {"a":{"b":{"c":"C"}}} ["C"] ["$['a']['b']['c']"]
245 cts name selector, double quotes, embedded U+0000 $["�"] Parsing error in query line 1 column 4 unexpected character: '�'.
246 cts name selector, double quotes, embedded U+0001 $["\u0001"] Parsing error in query line 1 column 4 unexpected character: '\u0001'.
247 cts name selector, double quotes, embedded U+0002 $["\u0002"] Parsing error in query line 1 column 4 unexpected character: '\u0002'.
248 cts name selector, double quotes, embedded U+0003 $["\u0003"] Parsing error in query line 1 column 4 unexpected character: '\u0003'.
249 cts name selector, double quotes, embedded U+0004 $["\u0004"] Parsing error in query line 1 column 4 unexpected character: '\u0004'.
250 cts name selector, double quotes, embedded U+0005 $["\u0005"] Parsing error in query line 1 column 4 unexpected character: '\u0005'.
251 cts name selector, double quotes, embedded U+0006 $["\u0006"] Parsing error in query line 1 column 4 unexpected character: '\u0006'.
252 cts name selector, double quotes, embedded U+0007 $["\u0007"] Parsing error in query line 1 column 4 unexpected character: '\u0007'.
253 cts name selector, double quotes, embedded U+0008 $["\b"] Parsing error in query line 1 column 4 unexpected character: '\b'.
254 cts name selector, double quotes, embedded U+0009 $["\t"] Parsing error in query line 1 column 4 unexpected character: '\t'.
255 cts name selector, double quotes, embedded U+000A $["\n"] Parsing error in query line 1 column 4 unexpected character: '\n'.
256 cts name selector, double quotes, embedded U+000B $["\u000b"] Parsing error in query line 1 column 4 unexpected character: '\u000b'.
257 cts name selector, double quotes, embedded U+000C $["\f"] Parsing error in query line 1 column 4 unexpected character: '\f'.
258 cts name selector, double quotes, embedded U+000D $["\r"] Parsing error in query line 1 column 4 unexpected character: '\r'.
259 cts name selector, double quotes, embedded U+000E $["\u000e"] Parsing error in query line 1 column 4 unexpected character: '\u000e'.
260 cts name selector, double quotes, embedded U+000F $["\u000f"] Parsing error in query line 1 column 4 unexpected character: '\u000f'.
261 cts name selector, double quotes, embedded U+0010 $["\u0010"] Parsing error in query line 1 column 4 unexpected character: '\u0010'.
262 cts name selector, double quotes, embedded U+0011 $["\u0011"] Parsing error in query line 1 column 4 unexpected character: '\u0011'.
263 cts name selector, double quotes, embedded U+0012 $["\u0012"] Parsing error in query line 1 column 4 unexpected character: '\u0012'.
264 cts name selector, double quotes, embedded U+0013 $["\u0013"] Parsing error in query line 1 column 4 unexpected character: '\u0013'.
265 cts name selector, double quotes, embedded U+0014 $["\u0014"] Parsing error in query line 1 column 4 unexpected character: '\u0014'.
266 cts name selector, double quotes, embedded U+0015 $["\u0015"] Parsing error in query line 1 column 4 unexpected character: '\u0015'.
267 cts name selector, double quotes, embedded U+0016 $["\u0016"] Parsing error in query line 1 column 4 unexpected character: '\u0016'.
268 cts name selector, double quotes, embedded U+0017 $["\u0017"] Parsing error in query line 1 column 4 unexpected character: '\u0017'.
269 cts name selector, double quotes, embedded U+0018 $["\u0018"] Parsing error in query line 1 column 4 unexpected character: '\u0018'.
270 cts name selector, double quotes, embedded U+0019 $["\u0019"] Parsing error in query line 1 column 4 unexpected character: '\u0019'.
271 cts name selector, double quotes, embedded U+001A $["\u001a"] Parsing error in query line 1 column 4 unexpected character: '\u001a'.
272 cts name selector, double quotes, embedded U+001B $["\u001b"] Parsing error in query line 1 column 4 unexpected character: '\u001b'.
273 cts name selector, double quotes, embedded U+001C $["\u001c"] Parsing error in query line 1 column 4 unexpected character: '\u001c'.
274 cts name selector, double quotes, embedded U+001D $["\u001d"] Parsing error in query line 1 column 4 unexpected character: '\u001d'.
275 cts name selector, double quotes, embedded U+001E $["\u001e"] Parsing error in query line 1 column 4 unexpected character: '\u001e'.
276 cts name selector, double quotes, embedded U+001F $["\u001f"] Parsing error in query line 1 column 4 unexpected character: '\u001f'.
277 cts name selector, double quotes, embedded U+0020 $[" "] {" ":"A"} ["A"] ["$[' ']"]
278 cts name selector, double quotes, embedded U+007F $[""] {"\\u007F":"A"} ["A"] ["$['\u007F']"]
279 cts name selector, double quotes, supplementary plane character $["\\ud834\\udd1e"] {"\\ud834\\udd1e":"A"} ["A"] ["$['𝄞']"]
280 cts name selector, double quotes, escaped double quote $["\\""] {"\\"":"A"} ["A"] ["$['\"']"]
281 cts name selector, double quotes, escaped reverse solidus $["\\\\"] {"\\\\":"A"} ["A"] ["$['\\\\']"]
282 cts name selector, double quotes, escaped solidus $["\\/"] {"\\/":"A"} ["A"] ["$['\/']"]
283 cts name selector, double quotes, escaped backspace $["\\b"] {"\\b":"A"} ["A"] ["$['\\b']"]
284 cts name selector, double quotes, escaped form feed $["\\f"] {"\\f":"A"} ["A"] ["$['\\f']"]
285 cts name selector, double quotes, escaped line feed $["\\n"] {"\\n":"A"} ["A"] ["$['\\n']"]
286 cts name selector, double quotes, escaped carriage return $["\\r"] {"\\r":"A"} ["A"] ["$['\\r']"]
287 cts name selector, double quotes, escaped tab $["\\t"] {"\\t":"A"} ["A"] ["$['\\t']"]
288 cts name selector, double quotes, escaped ☺, upper case hex $["\\u263A"] {"☺":"A"} ["A"] ["$['☺']"]
289 cts name selector, double quotes, escaped ☺, lower case hex $["\\u263a"] {"☺":"A"} ["A"] ["$['☺']"]
290 cts name selector, double quotes, surrogate pair 𝄞 $["\\uD834\\uDD1E"] {"\\ud834\\udd1e":"A"} ["A"] ["$['𝄞']"]
291 cts name selector, double quotes, surrogate pair 😀 $["\\uD83D\\uDE00"] {"\\ud83d\\ude00":"A"} ["A"] ["$['😀']"]
292 cts name selector, double quotes, before high surrogates $["\\uD7FF\\uD7FF"] {"퟿퟿":"A"} ["A"] ["$['퟿퟿']"]
293 cts name selector, double quotes, after low surrogates $["\\uE000\\uE000"] {"":"A"} ["A"] ["$['']"]
294 cts name selector, double quotes, invalid escaped single quote $["\\\'"] Parsing error in query line 1 column 5 unexpected character: '\''.
295 cts name selector, double quotes, embedded double quote $["""] Parsing error in query line 1 column 5 unexpected character: '"'.
296 cts name selector, double quotes, incomplete escape $["\\"] Parsing error in query line 1 column 5 unexpected character: ''.
297 cts name selector, double quotes, escape at end of line $["\\\n"] Parsing error in query line 1 column 5 unexpected character: '\n'.
298 cts name selector, double quotes, question mark escape $["\\?"] Parsing error in query line 1 column 5 unexpected character: '?'.
299 cts name selector, double quotes, bell escape $["\\a"] Parsing error in query line 1 column 5 unexpected character: 'a'.
300 cts name selector, double quotes, vertical tab escape $["\\v"] Parsing error in query line 1 column 5 unexpected character: 'v'.
301 cts name selector, double quotes, 0 escape $["\\0"] Parsing error in query line 1 column 5 unexpected character: '0'.
302 cts name selector, double quotes, x escape $["\\x12"] Parsing error in query line 1 column 5 unexpected character: 'x'.
303 cts name selector, double quotes, n escape $["\\N{LATIN CAPITAL LETTER A}"] Parsing error in query line 1 column 5 unexpected character: 'N'.
304 cts name selector, double quotes, unicode escape no hex $["\\u"] Parsing error in query line 1 column 6 unexpected character: '"'.
305 cts name selector, double quotes, unicode escape too few hex $["\\u123"] Parsing error in query line 1 column 9 unexpected character: '"'.
306 cts name selector, double quotes, unicode escape upper u $["\\U1234"] Parsing error in query line 1 column 5 unexpected character: 'U'.
307 cts name selector, double quotes, unicode escape upper u long $["\\U0010FFFF"] Parsing error in query line 1 column 5 unexpected character: 'U'.
308 cts name selector, double quotes, unicode escape plus $["\\u+1234"] Parsing error in query line 1 column 6 unexpected character: '+'.
309 cts name selector, double quotes, unicode escape brackets $["\\u{1234}"] Parsing error in query line 1 column 6 unexpected character: '{'.
310 cts name selector, double quotes, unicode escape brackets long $["\\u{10ffff}"] Parsing error in query line 1 column 6 unexpected character: '{'.
311 cts name selector, double quotes, single high surrogate $["\\uD800"] Parsing error in query line 1 column 10 unexpected character: '"'.
312 cts name selector, double quotes, single low surrogate $["\\uDC00"] Parsing error in query line 1 column 6 unexpected character: 'D'.
313 cts name selector, double quotes, high high surrogate $["\\uD800\\uD800"] Parsing error in query line 1 column 12 unexpected character: 'D'.
314 cts name selector, double quotes, low low surrogate $["\\uDC00\\uDC00"] Parsing error in query line 1 column 6 unexpected character: 'D'.
315 cts name selector, double quotes, surrogate non-surrogate $["\\uD800\\u1234"] Parsing error in query line 1 column 12 unexpected character: '1'.
316 cts name selector, double quotes, non-surrogate surrogate $["\\u1234\\uDC00"] Parsing error in query line 1 column 12 unexpected character: 'D'.
317 cts name selector, double quotes, surrogate supplementary $["\\uD800\\ud834\\udd1e"] Parsing error in query line 1 column 10 unexpected character: '𝄞'.
318 cts name selector, double quotes, supplementary surrogate $["\\ud834\\udd1e\\uDC00"] Parsing error in query line 1 column 7 unexpected character: 'D'.
319 cts name selector, double quotes, surrogate incomplete low $["\\uD800\\uDC0"] Parsing error in query line 1 column 15 unexpected character: '"'.
320 cts name selector, single quotes $[\'a\'] {"a":"A","b":"B"} ["A"] ["$['a']"]
321 cts name selector, single quotes, absent data $[\'c\'] {"a":"A","b":"B"} [] []
322 cts name selector, single quotes, array data $[\'a\'] ["first","second"] [] []
323 cts name selector, single quotes, embedded U+0000 $[\'�\'] Parsing error in query line 1 column 4 unexpected character: '�'.
324 cts name selector, single quotes, embedded U+0001 $[\'\u0001\'] Parsing error in query line 1 column 4 unexpected character: '\u0001'.
325 cts name selector, single quotes, embedded U+0002 $[\'\u0002\'] Parsing error in query line 1 column 4 unexpected character: '\u0002'.
326 cts name selector, single quotes, embedded U+0003 $[\'\u0003\'] Parsing error in query line 1 column 4 unexpected character: '\u0003'.
327 cts name selector, single quotes, embedded U+0004 $[\'\u0004\'] Parsing error in query line 1 column 4 unexpected character: '\u0004'.
328 cts name selector, single quotes, embedded U+0005 $[\'\u0005\'] Parsing error in query line 1 column 4 unexpected character: '\u0005'.
329 cts name selector, single quotes, embedded U+0006 $[\'\u0006\'] Parsing error in query line 1 column 4 unexpected character: '\u0006'.
330 cts name selector, single quotes, embedded U+0007 $[\'\u0007\'] Parsing error in query line 1 column 4 unexpected character: '\u0007'.
331 cts name selector, single quotes, embedded U+0008 $[\'\b\'] Parsing error in query line 1 column 4 unexpected character: '\b'.
332 cts name selector, single quotes, embedded U+0009 $[\'\t\'] Parsing error in query line 1 column 4 unexpected character: '\t'.
333 cts name selector, single quotes, embedded U+000A $[\'\n\'] Parsing error in query line 1 column 4 unexpected character: '\n'.
334 cts name selector, single quotes, embedded U+000B $[\'\u000b\'] Parsing error in query line 1 column 4 unexpected character: '\u000b'.
335 cts name selector, single quotes, embedded U+000C $[\'\f\'] Parsing error in query line 1 column 4 unexpected character: '\f'.
336 cts name selector, single quotes, embedded U+000D $[\'\r\'] Parsing error in query line 1 column 4 unexpected character: '\r'.
337 cts name selector, single quotes, embedded U+000E $[\'\u000e\'] Parsing error in query line 1 column 4 unexpected character: '\u000e'.
338 cts name selector, single quotes, embedded U+000F $[\'\u000f\'] Parsing error in query line 1 column 4 unexpected character: '\u000f'.
339 cts name selector, single quotes, embedded U+0010 $[\'\u0010\'] Parsing error in query line 1 column 4 unexpected character: '\u0010'.
340 cts name selector, single quotes, embedded U+0011 $[\'\u0011\'] Parsing error in query line 1 column 4 unexpected character: '\u0011'.
341 cts name selector, single quotes, embedded U+0012 $[\'\u0012\'] Parsing error in query line 1 column 4 unexpected character: '\u0012'.
342 cts name selector, single quotes, embedded U+0013 $[\'\u0013\'] Parsing error in query line 1 column 4 unexpected character: '\u0013'.
343 cts name selector, single quotes, embedded U+0014 $[\'\u0014\'] Parsing error in query line 1 column 4 unexpected character: '\u0014'.
344 cts name selector, single quotes, embedded U+0015 $[\'\u0015\'] Parsing error in query line 1 column 4 unexpected character: '\u0015'.
345 cts name selector, single quotes, embedded U+0016 $[\'\u0016\'] Parsing error in query line 1 column 4 unexpected character: '\u0016'.
346 cts name selector, single quotes, embedded U+0017 $[\'\u0017\'] Parsing error in query line 1 column 4 unexpected character: '\u0017'.
347 cts name selector, single quotes, embedded U+0018 $[\'\u0018\'] Parsing error in query line 1 column 4 unexpected character: '\u0018'.
348 cts name selector, single quotes, embedded U+0019 $[\'\u0019\'] Parsing error in query line 1 column 4 unexpected character: '\u0019'.
349 cts name selector, single quotes, embedded U+001A $[\'\u001a\'] Parsing error in query line 1 column 4 unexpected character: '\u001a'.
350 cts name selector, single quotes, embedded U+001B $[\'\u001b\'] Parsing error in query line 1 column 4 unexpected character: '\u001b'.
351 cts name selector, single quotes, embedded U+001C $[\'\u001c\'] Parsing error in query line 1 column 4 unexpected character: '\u001c'.
352 cts name selector, single quotes, embedded U+001D $[\'\u001d\'] Parsing error in query line 1 column 4 unexpected character: '\u001d'.
353 cts name selector, single quotes, embedded U+001E $[\'\u001e\'] Parsing error in query line 1 column 4 unexpected character: '\u001e'.
354 cts name selector, single quotes, embedded U+001F $[\'\u001f\'] Parsing error in query line 1 column 4 unexpected character: '\u001f'.
355 cts name selector, single quotes, embedded U+0020 $[\' \'] {" ":"A"} ["A"] ["$[' ']"]
356 cts name selector, single quotes, escaped single quote $[\'\\\'\'] {"\'":"A"} ["A"] ["$['\\'']"]
357 cts name selector, single quotes, escaped reverse solidus $[\'\\\\\'] {"\\\\":"A"} ["A"] ["$['\\\\']"]
358 cts name selector, single quotes, escaped solidus $[\'\\/\'] {"\\/":"A"} ["A"] ["$['\/']"]
359 cts name selector, single quotes, escaped backspace $[\'\\b\'] {"\\b":"A"} ["A"] ["$['\\b']"]
360 cts name selector, single quotes, escaped form feed $[\'\\f\'] {"\\f":"A"} ["A"] ["$['\\f']"]
361 cts name selector, single quotes, escaped line feed $[\'\\n\'] {"\\n":"A"} ["A"] ["$['\\n']"]
362 cts name selector, single quotes, escaped carriage return $[\'\\r\'] {"\\r":"A"} ["A"] ["$['\\r']"]
363 cts name selector, single quotes, escaped tab $[\'\\t\'] {"\\t":"A"} ["A"] ["$['\\t']"]
364 cts name selector, single quotes, escaped ☺, upper case hex $[\'\\u263A\'] {"☺":"A"} ["A"] ["$['☺']"]
365 cts name selector, single quotes, escaped ☺, lower case hex $[\'\\u263a\'] {"☺":"A"} ["A"] ["$['☺']"]
366 cts name selector, single quotes, surrogate pair 𝄞 $[\'\\uD834\\uDD1E\'] {"\\ud834\\udd1e":"A"} ["A"] ["$['𝄞']"]
367 cts name selector, single quotes, surrogate pair 😀 $[\'\\uD83D\\uDE00\'] {"\\ud83d\\ude00":"A"} ["A"] ["$['😀']"]
368 cts name selector, single quotes, invalid escaped double quote $[\'\\"\'] Parsing error in query line 1 column 5 unexpected character: '"'.
369 cts name selector, single quotes, embedded single quote $[\'\'\'] Parsing error in query line 1 column 5 unexpected character: '\''.
370 cts name selector, single quotes, incomplete escape $[\'\\\'] Parsing error in query line 1 column 5 unexpected character: ''.
371 cts name selector, double quotes, empty $[""] {"":"C","a":"A","b":"B"} ["C"] ["$['']"]
372 cts name selector, single quotes, empty $[\'\'] {"":"C","a":"A","b":"B"} ["C"] ["$['']"]
373 cts slice selector, slice selector $[1:3] [0.0E0,1,2,3,4,5,6,7,8,9] [1,2] ["$[1]","$[2]"]
374 cts slice selector, slice selector with step $[1:6:2] [0.0E0,1,2,3,4,5,6,7,8,9] [1,3,5] ["$[1]","$[3]","$[5]"]
375 cts slice selector, slice selector with everything omitted, short form $[:] [0.0E0,1,2,3] [0.0E0,1,2,3] ["$[0]","$[1]","$[2]","$[3]"]
376 cts slice selector, slice selector with everything omitted, long form $[::] [0.0E0,1,2,3] [0.0E0,1,2,3] ["$[0]","$[1]","$[2]","$[3]"]
377 cts slice selector, slice selector with start omitted $[:2] [0.0E0,1,2,3,4,5,6,7,8,9] [0.0E0,1] ["$[0]","$[1]"]
378 cts slice selector, slice selector with start and end omitted $[::2] [0.0E0,1,2,3,4,5,6,7,8,9] [0.0E0,2,4,6,8] ["$[0]","$[2]","$[4]","$[6]","$[8]"]
379 cts slice selector, negative step with default start and end $[::-1] [0.0E0,1,2,3] [3,2,1,0.0E0] ["$[3]","$[2]","$[1]","$[0]"]
380 cts slice selector, negative step with default start $[:0:-1] [0.0E0,1,2,3] [3,2,1] ["$[3]","$[2]","$[1]"]
381 cts slice selector, negative step with default end $[2::-1] [0.0E0,1,2,3] [2,1,0.0E0] ["$[2]","$[1]","$[0]"]
382 cts slice selector, larger negative step $[::-2] [0.0E0,1,2,3] [3,1] ["$[3]","$[1]"]
383 cts slice selector, negative range with default step $[-1:-3] [0.0E0,1,2,3,4,5,6,7,8,9] [] []
384 cts slice selector, negative range with negative step $[-1:-3:-1] [0.0E0,1,2,3,4,5,6,7,8,9] [9,8] ["$[9]","$[8]"]
385 cts slice selector, negative range with larger negative step $[-1:-6:-2] [0.0E0,1,2,3,4,5,6,7,8,9] [9,7,5] ["$[9]","$[7]","$[5]"]
386 cts slice selector, larger negative range with larger negative step $[-1:-7:-2] [0.0E0,1,2,3,4,5,6,7,8,9] [9,7,5] ["$[9]","$[7]","$[5]"]
387 cts slice selector, negative from, positive to $[-5:7] [0.0E0,1,2,3,4,5,6,7,8,9] [5,6] ["$[5]","$[6]"]
388 cts slice selector, negative from $[-2:] [0.0E0,1,2,3,4,5,6,7,8,9] [8,9] ["$[8]","$[9]"]
389 cts slice selector, positive from, negative to $[1:-1] [0.0E0,1,2,3,4,5,6,7,8,9] [1,2,3,4,5,6,7,8] ["$[1]","$[2]","$[3]","$[4]","$[5]","$[6]","$[7]","$[8]"]
390 cts slice selector, negative from, positive to, negative step $[-1:1:-1] [0.0E0,1,2,3,4,5,6,7,8,9] [9,8,7,6,5,4,3,2] ["$[9]","$[8]","$[7]","$[6]","$[5]","$[4]","$[3]","$[2]"]
391 cts slice selector, positive from, negative to, negative step $[7:-5:-1] [0.0E0,1,2,3,4,5,6,7,8,9] [7,6] ["$[7]","$[6]"]
392 cts slice selector, in serial, on nested array $[1:3][1:2] [["a","b","c"],["d","e","f"],["g","h","i"]] ["e","h"] ["$[1][1]","$[2][1]"]
393 cts slice selector, in serial, on flat array $[1:3][::] [0.0E0,1,2,3,4,5] [] []
394 cts slice selector, negative from, negative to, positive step $[-5:-2] [0.0E0,1,2,3,4,5,6,7,8,9] [5,6,7] ["$[5]","$[6]","$[7]"]
395 cts slice selector, too many colons $[1:2:3:4] Parsing error in query line 1 column 8 unexpected character: ':'.
396 cts slice selector, non-integer array index $[1:2:a] Parsing error in query line 1 column 7 unexpected character: 'a'.
397 cts slice selector, zero step $[1:2:0] [0.0E0,1,2,3,4,5,6,7,8,9] [] []
398 cts slice selector, empty range $[2:2] [0.0E0,1,2,3,4,5,6,7,8,9] [] []
399 cts slice selector, slice selector with everything omitted with empty array $[:] [] [] []
400 cts slice selector, negative step with empty array $[::-1] [] [] []
401 cts slice selector, maximal range with positive step $[0:10] [0.0E0,1,2,3,4,5,6,7,8,9] [0.0E0,1,2,3,4,5,6,7,8,9] ["$[0]","$[1]","$[2]","$[3]","$[4]","$[5]","$[6]","$[7]","$[8]","$[9]"]
402 cts slice selector, maximal range with negative step $[9:0:-1] [0.0E0,1,2,3,4,5,6,7,8,9] [9,8,7,6,5,4,3,2,1] ["$[9]","$[8]","$[7]","$[6]","$[5]","$[4]","$[3]","$[2]","$[1]"]
403 cts slice selector, excessively large to value $[2:113667776004] [0.0E0,1,2,3,4,5,6,7,8,9] [2,3,4,5,6,7,8,9] ["$[2]","$[3]","$[4]","$[5]","$[6]","$[7]","$[8]","$[9]"]
404 cts slice selector, excessively small from value $[-113667776004:1] [0.0E0,1,2,3,4,5,6,7,8,9] [0.0E0] ["$[0]"]
405 cts slice selector, excessively large from value with negative step $[113667776004:0:-1] [0.0E0,1,2,3,4,5,6,7,8,9] [9,8,7,6,5,4,3,2,1] ["$[9]","$[8]","$[7]","$[6]","$[5]","$[4]","$[3]","$[2]","$[1]"]
406 cts slice selector, excessively small to value with negative step $[3:-113667776004:-1] [0.0E0,1,2,3,4,5,6,7,8,9] [3,2,1,0.0E0] ["$[3]","$[2]","$[1]","$[0]"]
407 cts slice selector, excessively large step $[1:10:113667776004] [0.0E0,1,2,3,4,5,6,7,8,9] [1] ["$[1]"]
408 cts slice selector, excessively small step $[-1:-10:-113667776004] [0.0E0,1,2,3,4,5,6,7,8,9] [9] ["$[9]"]
409 cts slice selector, start, min exact $[-9007199254740991::] [] [] []
410 cts slice selector, start, max exact $[9007199254740991::] [] [] []
411 cts slice selector, start, min exact - 1 $[-9007199254740992::] ajp:SEL0002: integer value of slice parameter not within IJSON bounds (RFC9535 Sect 2.1) slice parameter: start value: -9007199254740992
412 cts slice selector, start, max exact + 1 $[9007199254740992::] ajp:SEL0002: integer value of slice parameter not within IJSON bounds (RFC9535 Sect 2.1) slice parameter: start value: 9007199254740992
413 cts slice selector, end, min exact $[:-9007199254740991:] [] [] []
414 cts slice selector, end, max exact $[:9007199254740991:] [] [] []
415 cts slice selector, end, min exact - 1 $[:-9007199254740992:] ajp:SEL0002: integer value of slice parameter not within IJSON bounds (RFC9535 Sect 2.1) slice parameter: end value: -9007199254740992
416 cts slice selector, end, max exact + 1 $[:9007199254740992:] ajp:SEL0002: integer value of slice parameter not within IJSON bounds (RFC9535 Sect 2.1) slice parameter: end value: 9007199254740992
417 cts slice selector, step, min exact $[::-9007199254740991] [] [] []
418 cts slice selector, step, max exact $[::9007199254740991] [] [] []
419 cts slice selector, step, min exact - 1 $[::-9007199254740992] ajp:SEL0002: integer value of slice parameter not within IJSON bounds (RFC9535 Sect 2.1) slice parameter: step value: -9007199254740992
420 cts slice selector, step, max exact + 1 $[::9007199254740992] ajp:SEL0002: integer value of slice parameter not within IJSON bounds (RFC9535 Sect 2.1) slice parameter: step value: 9007199254740992
421 cts slice selector, overflowing to value $[2:231584178474632390847141970017375815706539969331281128078915168015826259279872] ajp:SEL0002: integer value of slice parameter not within IJSON bounds (RFC9535 Sect 2.1) slice parameter: end value: 231584178474632390847141970017375815706539969331281128078915168015826259279872
422 cts slice selector, underflowing from value $[-231584178474632390847141970017375815706539969331281128078915168015826259279872:1] ajp:SEL0002: integer value of slice parameter not within IJSON bounds (RFC9535 Sect 2.1) slice parameter: start value: -231584178474632390847141970017375815706539969331281128078915168015826259279872
423 cts slice selector, overflowing from value with negative step $[231584178474632390847141970017375815706539969331281128078915168015826259279872:0:-1] ajp:SEL0002: integer value of slice parameter not within IJSON bounds (RFC9535 Sect 2.1) slice parameter: start value: 231584178474632390847141970017375815706539969331281128078915168015826259279872
424 cts slice selector, underflowing to value with negative step $[3:-231584178474632390847141970017375815706539969331281128078915168015826259279872:-1] ajp:SEL0002: integer value of slice parameter not within IJSON bounds (RFC9535 Sect 2.1) slice parameter: end value: -231584178474632390847141970017375815706539969331281128078915168015826259279872
425 cts slice selector, overflowing step $[1:10:231584178474632390847141970017375815706539969331281128078915168015826259279872] ajp:SEL0002: integer value of slice parameter not within IJSON bounds (RFC9535 Sect 2.1) slice parameter: step value: 231584178474632390847141970017375815706539969331281128078915168015826259279872
426 cts slice selector, underflowing step $[-1:-10:-231584178474632390847141970017375815706539969331281128078915168015826259279872] ajp:SEL0002: integer value of slice parameter not within IJSON bounds (RFC9535 Sect 2.1) slice parameter: step value: -231584178474632390847141970017375815706539969331281128078915168015826259279872
427 cts slice selector, start, leading 0 $[01::] Parsing error in query line 1 column 4 unexpected character: '1'.
428 cts slice selector, start, decimal $[1.0::] Parsing error in query line 1 column 4 unexpected character: '.'.
429 cts slice selector, start, plus $[+1::] Parsing error in query line 1 column 3 unexpected character: '+'.
430 cts slice selector, start, minus space $[- 1::] Parsing error in query line 1 column 4 unexpected character: ' '.
431 cts slice selector, start, -0 $[-0::] Parsing error in query line 1 column 4 unexpected character: '0'.
432 cts slice selector, start, leading -0 $[-01::] Parsing error in query line 1 column 4 unexpected character: '0'.
433 cts slice selector, end, leading 0 $[:01:] Parsing error in query line 1 column 5 unexpected character: '1'.
434 cts slice selector, end, decimal $[:1.0:] Parsing error in query line 1 column 5 unexpected character: '.'.
435 cts slice selector, end, plus $[:+1:] Parsing error in query line 1 column 4 unexpected character: '+'.
436 cts slice selector, end, minus space $[:- 1:] Parsing error in query line 1 column 5 unexpected character: ' '.
437 cts slice selector, end, -0 $[:-0:] Parsing error in query line 1 column 5 unexpected character: '0'.
438 cts slice selector, end, leading -0 $[:-01:] Parsing error in query line 1 column 5 unexpected character: '0'.
439 cts slice selector, step, leading 0 $[::01] Parsing error in query line 1 column 6 unexpected character: '1'.
440 cts slice selector, step, decimal $[::1.0] Parsing error in query line 1 column 6 unexpected character: '.'.
441 cts slice selector, step, plus $[::+1] Parsing error in query line 1 column 5 unexpected character: '+'.
442 cts slice selector, step, minus space $[::- 1] Parsing error in query line 1 column 6 unexpected character: ' '.
443 cts slice selector, step, -0 $[::-0] Parsing error in query line 1 column 6 unexpected character: '0'.
444 cts slice selector, step, leading -0 $[::-01] Parsing error in query line 1 column 6 unexpected character: '0'.
445 cts functions, count, count function $[?count(@..*)>2] [{"a":[1,2,3]},{"a":[1],"d":"f"},{"a":1,"d":"f"}] [{"a":[1,2,3]},{"a":[1],"d":"f"}] ["$[0]","$[1]"]
446 cts functions, count, single-node arg $[?count(@.a)>1] [{"a":[1,2,3]},{"a":[1],"d":"f"},{"a":1,"d":"f"}] [] []
447 cts functions, count, multiple-selector arg $[?count(@[\'a\',\'d\'])>1] [{"a":[1,2,3]},{"a":[1],"d":"f"},{"a":1,"d":"f"}] [{"a":[1],"d":"f"},{"a":1,"d":"f"}] ["$[1]","$[2]"]
448 cts functions, count, non-query arg, number $[?count(1)>2] ajp:FCT0006: argument 1 of function count() must come from a query but instead is a literal value.
449 cts functions, count, non-query arg, string $[?count(\'string\')>2] ajp:FCT0006: argument 1 of function count() must come from a query but instead is a literal value.
450 cts functions, count, non-query arg, true $[?count(true)>2] ajp:FCT0006: argument 1 of function count() must come from a query but instead is a literal value.
451 cts functions, count, non-query arg, false $[?count(false)>2] ajp:FCT0006: argument 1 of function count() must come from a query but instead is a literal value.
452 cts functions, count, non-query arg, null $[?count(null)>2] ajp:FCT0006: argument 1 of function count() must come from a query but instead is a literal value.
453 cts functions, count, result must be compared $[?count(@..*)] ajp:FCT0003: function extension of ValueType not allowed for test expression: count().
454 cts functions, count, no params $[?count()==1] ajp:FCT0005: bad number of arguments for: count() was : 0 but must be: 1
455 cts functions, count, too many params $[?count(@.a,@.b)==1] ajp:FCT0002: function: count() takes 1 arguments but here has at least 2 arguments in its invocation.
456 cts functions, length, string data $[?length(@.a)>=2] [{"a":"ab"},{"a":"d"}] [{"a":"ab"}] ["$[0]"]
457 cts functions, length, string data, unicode $[?length(@)==2] ["☺","☺☺","☺☺☺","ж","жж","жжж","磨","阿美","形声字"] ["☺☺","жж","阿美"] ["$[1]","$[4]","$[7]"]
458 cts functions, length, array data $[?length(@.a)>=2] [{"a":[1,2,3]},{"a":[1]}] [{"a":[1,2,3]}] ["$[0]"]
459 cts functions, length, missing data $[?length(@.a)>=2] [{"d":"f"}] [] []
460 cts functions, length, number arg $[?length(1)>=2] [{"d":"f"}] [] []
461 cts functions, length, true arg $[?length(true)>=2] [{"d":"f"}] [] []
462 cts functions, length, false arg $[?length(false)>=2] [{"d":"f"}] [] []
463 cts functions, length, null arg $[?length(null)>=2] [{"d":"f"}] [] []
464 cts functions, length, result must be compared $[?length(@.a)] ajp:FCT0003: function extension of ValueType not allowed for test expression: length().
465 cts functions, length, no params $[?length()==1] ajp:FCT0005: bad number of arguments for: length() was : 0 but must be: 1
466 cts functions, length, too many params $[?length(@.a,@.b)==1] ajp:FCT0002: function: length() takes 1 arguments but here has at least 2 arguments in its invocation.
467 cts functions, length, non-singular query arg $[?length(@.*)<3] ajp:FCT0008: argument 1 of function length() must be a singular query.
468 cts functions, length, arg is a function expression $.values[?length(@.a)==length(value($..c))] {"c":"cd","values":[{"a":"ab"},{"a":"d"}]} [{"a":"ab"}] ["$['values'][0]"]
469 cts functions, length, arg is special nothing $[?length(value(@.a))>0] [{"a":"ab"},{"c":"d"},{"a":null}] [{"a":"ab"}] ["$[0]"]
470 cts functions, length, non-singular query arg, multiple index selectors $[?length(@[1, 2])<3] ajp:FCT0008: argument 1 of function length() must be a singular query.
471 cts functions, length, non-singular query arg, multiple name selectors $[?length(@[\'a\', \'b\'])<3] ajp:FCT0008: argument 1 of function length() must be a singular query.
472 cts functions, match, found match $[?match(@.a, \'a.*\')] [{"a":"ab"}] [{"a":"ab"}] ["$[0]"]
473 cts functions, match, double quotes $[?match(@.a, "a.*")] [{"a":"ab"}] [{"a":"ab"}] ["$[0]"]
474 cts functions, match, regex from the document $.values[?match(@, $.regex)] {"regex":"b.?b","values":["abc","bcd","bab","bba","bbab","b",true,[],{}]} ["bab"] ["$['values'][2]"]
475 cts functions, match, don't select match $[?!match(@.a, \'a.*\')] [{"a":"ab"}] [] []
476 cts functions, match, not a match $[?match(@.a, \'a.*\')] [{"a":"bc"}] [] []
477 cts functions, match, select non-match $[?!match(@.a, \'a.*\')] [{"a":"bc"}] [{"a":"bc"}] ["$[0]"]
478 cts functions, match, non-string first arg $[?match(1, \'a.*\')] [{"a":"bc"}] [] []
479 cts functions, match, non-string second arg $[?match(@.a, 1)] [{"a":"bc"}] [] []
480 cts functions, match, filter, match function, unicode char class, uppercase $[?match(@, \'\\\\p{Lu}\')] ["ж","Ж","1","жЖ",true,[],{}] ["Ж"] ["$[1]"]
481 cts functions, match, filter, match function, unicode char class negated, uppercase $[?match(@, \'\\\\P{Lu}\')] ["ж","Ж","1",true,[],{}] ["ж","1"] ["$[0]","$[2]"]
482 cts functions, match, filter, match function, unicode, surrogate pair $[?match(@, \'a.b\')] ["a\\ud800\\udd01b","ab","1",true,[],{}] ["a\\ud800\\udd01b"] ["$[0]"]
483 cts functions, match, dot matcher on \u2028 $[?match(@, \'.\')] ["
","\\r","\\n",true,[],{}] ["
"] ["$[0]"]
484 cts functions, match, dot matcher on \u2029 $[?match(@, \'.\')] ["
","\\r","\\n",true,[],{}] ["
"] ["$[0]"]
485 cts functions, match, result cannot be compared $[?match(@.a, \'a.*\')==true] ajp:FCT0004: the function match() cannot be used in a comparison expression; it is of type LogicalType but it must be ValueType.
486 cts functions, match, too few params $[?match(@.a)==1] ajp:FCT0005: bad number of arguments for: match() was : 1 but must be: 2
487 cts functions, match, too many params $[?match(@.a,@.b,@.c)==1] ajp:FCT0002: function: match() takes 2 arguments but here has at least 3 arguments in its invocation.
488 cts functions, match, arg is a function expression $.values[?match(@.a, value($..[\'regex\']))] {"regex":"a.*","values":[{"a":"ab"},{"a":"ba"}]} [{"a":"ab"}] ["$['values'][0]"]
489 cts functions, match, dot in character class $[?match(@, \'a[.b]c\')] ["abc","a.c","axc"] ["abc","a.c"] ["$[0]","$[1]"]
490 cts functions, match, escaped dot $[?match(@, \'a\\\\.c\')] ["abc","a.c","axc"] ["a.c"] ["$[1]"]
491 cts functions, match, escaped backslash before dot $[?match(@, \'a\\\\\\\\.c\')] ["abc","a.c","axc","a\\\\
c"] ["a\\\\
c"] ["$[3]"]
492 cts functions, match, escaped left square bracket $[?match(@, \'a\\\\[.c\')] ["abc","a.c","a[
c"] ["a[
c"] ["$[2]"]
493 cts functions, match, escaped right square bracket $[?match(@, \'a[\\\\].]c\')] ["abc","a.c","a
c","a]c"] ["a.c","a]c"] ["$[1]","$[3]"]
494 cts functions, match, explicit caret $[?match(@, \'^ab.*\')] ["abc","axc","ab","xab"] ["abc","ab"] ["$[0]","$[2]"]
495 cts functions, match, explicit dollar $[?match(@, \'.*bc$\')] ["abc","axc","ab","abcx"] ["abc"] ["$[0]"]
496 cts functions, search, at the end $[?search(@.a, \'a.*\')] [{"a":"the end is ab"}] [{"a":"the end is ab"}] ["$[0]"]
497 cts functions, search, double quotes $[?search(@.a, "a.*")] [{"a":"the end is ab"}] [{"a":"the end is ab"}] ["$[0]"]
498 cts functions, search, at the start $[?search(@.a, \'a.*\')] [{"a":"ab is at the start"}] [{"a":"ab is at the start"}] ["$[0]"]
499 cts functions, search, in the middle $[?search(@.a, \'a.*\')] [{"a":"contains two matches"}] [{"a":"contains two matches"}] ["$[0]"]
500 cts functions, search, regex from the document $.values[?search(@, $.regex)] {"regex":"b.?b","values":["abc","bcd","bab","bba","bbab","b",true,[],{}]} ["bab","bba","bbab"] ["$['values'][2]","$['values'][3]","$['values'][4]"]
501 cts functions, search, don't select match $[?!search(@.a, \'a.*\')] [{"a":"contains two matches"}] [] []
502 cts functions, search, not a match $[?search(@.a, \'a.*\')] [{"a":"bc"}] [] []
503 cts functions, search, select non-match $[?!search(@.a, \'a.*\')] [{"a":"bc"}] [{"a":"bc"}] ["$[0]"]
504 cts functions, search, non-string first arg $[?search(1, \'a.*\')] [{"a":"bc"}] [] []
505 cts functions, search, non-string second arg $[?search(@.a, 1)] [{"a":"bc"}] [] []
506 cts functions, search, filter, search function, unicode char class, uppercase $[?search(@, \'\\\\p{Lu}\')] ["ж","Ж","1","жЖ",true,[],{}] ["Ж","жЖ"] ["$[1]","$[3]"]
507 cts functions, search, filter, search function, unicode char class negated, uppercase $[?search(@, \'\\\\P{Lu}\')] ["ж","Ж","1",true,[],{}] ["ж","1"] ["$[0]","$[2]"]
508 cts functions, search, filter, search function, unicode, surrogate pair $[?search(@, \'a.b\')] ["a\\ud800\\udd01bc","abc","1",true,[],{}] ["a\\ud800\\udd01bc"] ["$[0]"]
509 cts functions, search, dot matcher on \u2028 $[?search(@, \'.\')] ["
","\\r
\\n","\\r","\\n",true,[],{}] ["
","\\r
\\n"] ["$[0]","$[1]"]
510 cts functions, search, dot matcher on \u2029 $[?search(@, \'.\')] ["
","\\r
\\n","\\r","\\n",true,[],{}] ["
","\\r
\\n"] ["$[0]","$[1]"]
511 cts functions, search, result cannot be compared $[?search(@.a, \'a.*\')==true] ajp:FCT0004: the function search() cannot be used in a comparison expression; it is of type LogicalType but it must be ValueType.
512 cts functions, search, too few params $[?search(@.a)] ajp:FCT0005: bad number of arguments for: search() was : 1 but must be: 2
513 cts functions, search, too many params $[?search(@.a,@.b,@.c)] ajp:FCT0002: function: search() takes 2 arguments but here has at least 3 arguments in its invocation.
514 cts functions, search, arg is a function expression $.values[?search(@, value($..[\'regex\']))] {"regex":"b.?b","values":["abc","bcd","bab","bba","bbab","b",true,[],{}]} ["bab","bba","bbab"] ["$['values'][2]","$['values'][3]","$['values'][4]"]
515 cts functions, search, dot in character class $[?search(@, \'a[.b]c\')] ["x abc y","x a.c y","x axc y"] ["x abc y","x a.c y"] ["$[0]","$[1]"]
516 cts functions, search, escaped dot $[?search(@, \'a\\\\.c\')] ["x abc y","x a.c y","x axc y"] ["x a.c y"] ["$[1]"]
517 cts functions, search, escaped backslash before dot $[?search(@, \'a\\\\\\\\.c\')] ["x abc y","x a.c y","x axc y","x a\\\\
c y"] ["x a\\\\
c y"] ["$[3]"]
518 cts functions, search, escaped left square bracket $[?search(@, \'a\\\\[.c\')] ["x abc y","x a.c y","x a[
c y"] ["x a[
c y"] ["$[2]"]
519 cts functions, search, escaped right square bracket $[?search(@, \'a[\\\\].]c\')] ["x abc y","x a.c y","x a
c y","x a]c y"] ["x a.c y","x a]c y"] ["$[1]","$[3]"]
520 cts functions, value, single-value nodelist $[?value(@.*)==4] [[4],{"foo":4},[5],{"foo":5},4] [[4],{"foo":4}] ["$[0]","$[1]"]
521 cts functions, value, multi-value nodelist $[?value(@.*)==4] [[4,4],{"bar":4,"foo":4}] [] []
522 cts functions, value, too few params $[?value()==4] ajp:FCT0005: bad number of arguments for: value() was : 0 but must be: 1
523 cts functions, value, too many params $[?value(@.a,@.b)==4] ajp:FCT0002: function: value() takes 1 arguments but here has at least 2 arguments in its invocation.
524 cts functions, value, result must be compared $[?value(@.a)] ajp:FCT0003: function extension of ValueType not allowed for test expression: value().
525 cts whitespace, filter, space between question mark and expression $[? @.a] [{"a":"b","d":"e"},{"b":"c","d":"f"}] [{"a":"b","d":"e"}] ["$[0]"]
526 cts whitespace, filter, newline between question mark and expression $[?\n@.a] [{"a":"b","d":"e"},{"b":"c","d":"f"}] [{"a":"b","d":"e"}] ["$[0]"]
527 cts whitespace, filter, tab between question mark and expression $[?\t@.a] [{"a":"b","d":"e"},{"b":"c","d":"f"}] [{"a":"b","d":"e"}] ["$[0]"]
528 cts whitespace, filter, return between question mark and expression $[?\r@.a] [{"a":"b","d":"e"},{"b":"c","d":"f"}] [{"a":"b","d":"e"}] ["$[0]"]
529 cts whitespace, filter, space between question mark and parenthesized expression $[? (@.a)] [{"a":"b","d":"e"},{"b":"c","d":"f"}] [{"a":"b","d":"e"}] ["$[0]"]
530 cts whitespace, filter, newline between question mark and parenthesized expression $[?\n(@.a)] [{"a":"b","d":"e"},{"b":"c","d":"f"}] [{"a":"b","d":"e"}] ["$[0]"]
531 cts whitespace, filter, tab between question mark and parenthesized expression $[?\t(@.a)] [{"a":"b","d":"e"},{"b":"c","d":"f"}] [{"a":"b","d":"e"}] ["$[0]"]
532 cts whitespace, filter, return between question mark and parenthesized expression $[?\r(@.a)] [{"a":"b","d":"e"},{"b":"c","d":"f"}] [{"a":"b","d":"e"}] ["$[0]"]
533 cts whitespace, filter, space between parenthesized expression and bracket $[?(@.a) ] [{"a":"b","d":"e"},{"b":"c","d":"f"}] [{"a":"b","d":"e"}] ["$[0]"]
534 cts whitespace, filter, newline between parenthesized expression and bracket $[?(@.a)\n] [{"a":"b","d":"e"},{"b":"c","d":"f"}] [{"a":"b","d":"e"}] ["$[0]"]
535 cts whitespace, filter, tab between parenthesized expression and bracket $[?(@.a)\t] [{"a":"b","d":"e"},{"b":"c","d":"f"}] [{"a":"b","d":"e"}] ["$[0]"]
536 cts whitespace, filter, return between parenthesized expression and bracket $[?(@.a)\r] [{"a":"b","d":"e"},{"b":"c","d":"f"}] [{"a":"b","d":"e"}] ["$[0]"]
537 cts whitespace, filter, space between bracket and question mark $[ ?@.a] [{"a":"b","d":"e"},{"b":"c","d":"f"}] [{"a":"b","d":"e"}] ["$[0]"]
538 cts whitespace, filter, newline between bracket and question mark $[\n?@.a] [{"a":"b","d":"e"},{"b":"c","d":"f"}] [{"a":"b","d":"e"}] ["$[0]"]
539 cts whitespace, filter, tab between bracket and question mark $[\t?@.a] [{"a":"b","d":"e"},{"b":"c","d":"f"}] [{"a":"b","d":"e"}] ["$[0]"]
540 cts whitespace, filter, return between bracket and question mark $[\r?@.a] [{"a":"b","d":"e"},{"b":"c","d":"f"}] [{"a":"b","d":"e"}] ["$[0]"]
541 cts whitespace, functions, space between function name and parenthesis $[?count (@.*)==1] Parsing error in query line 1 column 9 unexpected character: ' '.
542 cts whitespace, functions, newline between function name and parenthesis $[?count\n(@.*)==1] Parsing error in query line 1 column 9 unexpected character: '\n'.
543 cts whitespace, functions, tab between function name and parenthesis $[?count\t(@.*)==1] Parsing error in query line 1 column 9 unexpected character: '\t'.
544 cts whitespace, functions, return between function name and parenthesis $[?count\r(@.*)==1] Parsing error in query line 1 column 9 unexpected character: '\r'.
545 cts whitespace, functions, space between parenthesis and arg $[?count( @.*)==1] [{"a":1},{"b":2},{"a":2,"b":1}] [{"a":1},{"b":2}] ["$[0]","$[1]"]
546 cts whitespace, functions, newline between parenthesis and arg $[?count(\n@.*)==1] [{"a":1},{"b":2},{"a":2,"b":1}] [{"a":1},{"b":2}] ["$[0]","$[1]"]
547 cts whitespace, functions, tab between parenthesis and arg $[?count(\t@.*)==1] [{"a":1},{"b":2},{"a":2,"b":1}] [{"a":1},{"b":2}] ["$[0]","$[1]"]
548 cts whitespace, functions, return between parenthesis and arg $[?count(\r@.*)==1] [{"a":1},{"b":2},{"a":2,"b":1}] [{"a":1},{"b":2}] ["$[0]","$[1]"]
549 cts whitespace, functions, space between arg and comma $[?search(@ ,\'[a-z]+\')] ["foo","123"] ["foo"] ["$[0]"]
550 cts whitespace, functions, newline between arg and comma $[?search(@\n,\'[a-z]+\')] ["foo","123"] ["foo"] ["$[0]"]
551 cts whitespace, functions, tab between arg and comma $[?search(@\t,\'[a-z]+\')] ["foo","123"] ["foo"] ["$[0]"]
552 cts whitespace, functions, return between arg and comma $[?search(@\r,\'[a-z]+\')] ["foo","123"] ["foo"] ["$[0]"]
553 cts whitespace, functions, space between comma and arg $[?search(@, \'[a-z]+\')] ["foo","123"] ["foo"] ["$[0]"]
554 cts whitespace, functions, newline between comma and arg $[?search(@,\n\'[a-z]+\')] ["foo","123"] ["foo"] ["$[0]"]
555 cts whitespace, functions, tab between comma and arg $[?search(@,\t\'[a-z]+\')] ["foo","123"] ["foo"] ["$[0]"]
556 cts whitespace, functions, return between comma and arg $[?search(@,\r\'[a-z]+\')] ["foo","123"] ["foo"] ["$[0]"]
557 cts whitespace, functions, space between arg and parenthesis $[?count(@.* )==1] [{"a":1},{"b":2},{"a":2,"b":1}] [{"a":1},{"b":2}] ["$[0]","$[1]"]
558 cts whitespace, functions, newline between arg and parenthesis $[?count(@.*\n)==1] [{"a":1},{"b":2},{"a":2,"b":1}] [{"a":1},{"b":2}] ["$[0]","$[1]"]
559 cts whitespace, functions, tab between arg and parenthesis $[?count(@.*\t)==1] [{"a":1},{"b":2},{"a":2,"b":1}] [{"a":1},{"b":2}] ["$[0]","$[1]"]
560 cts whitespace, functions, return between arg and parenthesis $[?count(@.*\r)==1] [{"a":1},{"b":2},{"a":2,"b":1}] [{"a":1},{"b":2}] ["$[0]","$[1]"]
561 cts whitespace, functions, spaces in a relative singular selector $[?length(@ .a .b) == 3] [{"a":{"b":"foo"}},{}] [{"a":{"b":"foo"}}] ["$[0]"]
562 cts whitespace, functions, newlines in a relative singular selector $[?length(@\n.a\n.b) == 3] [{"a":{"b":"foo"}},{}] [{"a":{"b":"foo"}}] ["$[0]"]
563 cts whitespace, functions, tabs in a relative singular selector $[?length(@\t.a\t.b) == 3] [{"a":{"b":"foo"}},{}] [{"a":{"b":"foo"}}] ["$[0]"]
564 cts whitespace, functions, returns in a relative singular selector $[?length(@\r.a\r.b) == 3] [{"a":{"b":"foo"}},{}] [{"a":{"b":"foo"}}] ["$[0]"]
565 cts whitespace, functions, spaces in an absolute singular selector $..[?length(@)==length($ [0] .a)] [{"a":"foo"},{}] ["foo"] ["$[0]['a']"]
566 cts whitespace, functions, newlines in an absolute singular selector $..[?length(@)==length($\n[0]\n.a)] [{"a":"foo"},{}] ["foo"] ["$[0]['a']"]
567 cts whitespace, functions, tabs in an absolute singular selector $..[?length(@)==length($\t[0]\t.a)] [{"a":"foo"},{}] ["foo"] ["$[0]['a']"]
568 cts whitespace, functions, returns in an absolute singular selector $..[?length(@)==length($\r[0]\r.a)] [{"a":"foo"},{}] ["foo"] ["$[0]['a']"]
569 cts whitespace, operators, space before || $[?@.a ||@.b] [{"a":1},{"b":2},{"c":3}] [{"a":1},{"b":2}] ["$[0]","$[1]"]
570 cts whitespace, operators, newline before || $[?@.a\n||@.b] [{"a":1},{"b":2},{"c":3}] [{"a":1},{"b":2}] ["$[0]","$[1]"]
571 cts whitespace, operators, tab before || $[?@.a\t||@.b] [{"a":1},{"b":2},{"c":3}] [{"a":1},{"b":2}] ["$[0]","$[1]"]
572 cts whitespace, operators, return before || $[?@.a\r||@.b] [{"a":1},{"b":2},{"c":3}] [{"a":1},{"b":2}] ["$[0]","$[1]"]
573 cts whitespace, operators, space after || $[?@.a|| @.b] [{"a":1},{"b":2},{"c":3}] [{"a":1},{"b":2}] ["$[0]","$[1]"]
574 cts whitespace, operators, newline after || $[?@.a||\n@.b] [{"a":1},{"b":2},{"c":3}] [{"a":1},{"b":2}] ["$[0]","$[1]"]
575 cts whitespace, operators, tab after || $[?@.a||\t@.b] [{"a":1},{"b":2},{"c":3}] [{"a":1},{"b":2}] ["$[0]","$[1]"]
576 cts whitespace, operators, return after || $[?@.a||\r@.b] [{"a":1},{"b":2},{"c":3}] [{"a":1},{"b":2}] ["$[0]","$[1]"]
577 cts whitespace, operators, space before && $[?@.a &&@.b] [{"a":1},{"b":2},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[2]"]
578 cts whitespace, operators, newline before && $[?@.a\n&&@.b] [{"a":1},{"b":2},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[2]"]
579 cts whitespace, operators, tab before && $[?@.a\t&&@.b] [{"a":1},{"b":2},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[2]"]
580 cts whitespace, operators, return before && $[?@.a\r&&@.b] [{"a":1},{"b":2},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[2]"]
581 cts whitespace, operators, space after && $[?@.a&& @.b] [{"a":1},{"b":2},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[2]"]
582 cts whitespace, operators, newline after && $[?@.a&& @.b] [{"a":1},{"b":2},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[2]"]
583 cts whitespace, operators, tab after && $[?@.a&& @.b] [{"a":1},{"b":2},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[2]"]
584 cts whitespace, operators, return after && $[?@.a&& @.b] [{"a":1},{"b":2},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[2]"]
585 cts whitespace, operators, space before == $[?@.a ==@.b] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":1}] ["$[0]"]
586 cts whitespace, operators, newline before == $[?@.a\n==@.b] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":1}] ["$[0]"]
587 cts whitespace, operators, tab before == $[?@.a\t==@.b] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":1}] ["$[0]"]
588 cts whitespace, operators, return before == $[?@.a\r==@.b] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":1}] ["$[0]"]
589 cts whitespace, operators, space after == $[?@.a== @.b] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":1}] ["$[0]"]
590 cts whitespace, operators, newline after == $[?@.a==\n@.b] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":1}] ["$[0]"]
591 cts whitespace, operators, tab after == $[?@.a==\t@.b] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":1}] ["$[0]"]
592 cts whitespace, operators, return after == $[?@.a==\r@.b] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":1}] ["$[0]"]
593 cts whitespace, operators, space before != $[?@.a !=@.b] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[1]"]
594 cts whitespace, operators, newline before != $[?@.a\n!=@.b] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[1]"]
595 cts whitespace, operators, tab before != $[?@.a\t!=@.b] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[1]"]
596 cts whitespace, operators, return before != $[?@.a\r!=@.b] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[1]"]
597 cts whitespace, operators, space after != $[?@.a!= @.b] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[1]"]
598 cts whitespace, operators, newline after != $[?@.a!=\n@.b] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[1]"]
599 cts whitespace, operators, tab after != $[?@.a!=\t@.b] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[1]"]
600 cts whitespace, operators, return after != $[?@.a!=\r@.b] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[1]"]
601 cts whitespace, operators, space before < $[?@.a <@.b] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[1]"]
602 cts whitespace, operators, newline before < $[?@.a\n<@.b] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[1]"]
603 cts whitespace, operators, tab before < $[?@.a\t<@.b] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[1]"]
604 cts whitespace, operators, return before < $[?@.a\r<@.b] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[1]"]
605 cts whitespace, operators, space after < $[?@.a< @.b] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[1]"]
606 cts whitespace, operators, newline after < $[?@.a<\n@.b] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[1]"]
607 cts whitespace, operators, tab after < $[?@.a<\t@.b] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[1]"]
608 cts whitespace, operators, return after < $[?@.a<\r@.b] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[1]"]
609 cts whitespace, operators, space before > $[?@.b >@.a] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[1]"]
610 cts whitespace, operators, newline before > $[?@.b\n>@.a] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[1]"]
611 cts whitespace, operators, tab before > $[?@.b\t>@.a] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[1]"]
612 cts whitespace, operators, return before > $[?@.b\r>@.a] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[1]"]
613 cts whitespace, operators, space after > $[?@.b> @.a] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[1]"]
614 cts whitespace, operators, newline after > $[?@.b>\n@.a] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[1]"]
615 cts whitespace, operators, tab after > $[?@.b>\t@.a] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[1]"]
616 cts whitespace, operators, return after > $[?@.b>\r@.a] [{"a":1,"b":1},{"a":1,"b":2}] [{"a":1,"b":2}] ["$[1]"]
617 cts whitespace, operators, space before <= $[?@.a <=@.b] [{"a":1,"b":1},{"a":1,"b":2},{"a":2,"b":1}] [{"a":1,"b":1},{"a":1,"b":2}] ["$[0]","$[1]"]
618 cts whitespace, operators, newline before <= $[?@.a\n<=@.b] [{"a":1,"b":1},{"a":1,"b":2},{"a":2,"b":1}] [{"a":1,"b":1},{"a":1,"b":2}] ["$[0]","$[1]"]
619 cts whitespace, operators, tab before <= $[?@.a\t<=@.b] [{"a":1,"b":1},{"a":1,"b":2},{"a":2,"b":1}] [{"a":1,"b":1},{"a":1,"b":2}] ["$[0]","$[1]"]
620 cts whitespace, operators, return before <= $[?@.a\r<=@.b] [{"a":1,"b":1},{"a":1,"b":2},{"a":2,"b":1}] [{"a":1,"b":1},{"a":1,"b":2}] ["$[0]","$[1]"]
621 cts whitespace, operators, space after <= $[?@.a<= @.b] [{"a":1,"b":1},{"a":1,"b":2},{"a":2,"b":1}] [{"a":1,"b":1},{"a":1,"b":2}] ["$[0]","$[1]"]
622 cts whitespace, operators, newline after <= $[?@.a<=\n@.b] [{"a":1,"b":1},{"a":1,"b":2},{"a":2,"b":1}] [{"a":1,"b":1},{"a":1,"b":2}] ["$[0]","$[1]"]
623 cts whitespace, operators, tab after <= $[?@.a<=\t@.b] [{"a":1,"b":1},{"a":1,"b":2},{"a":2,"b":1}] [{"a":1,"b":1},{"a":1,"b":2}] ["$[0]","$[1]"]
624 cts whitespace, operators, return after <= $[?@.a<=\r@.b] [{"a":1,"b":1},{"a":1,"b":2},{"a":2,"b":1}] [{"a":1,"b":1},{"a":1,"b":2}] ["$[0]","$[1]"]
625 cts whitespace, operators, space before >= $[?@.b >=@.a] [{"a":1,"b":1},{"a":1,"b":2},{"a":2,"b":1}] [{"a":1,"b":1},{"a":1,"b":2}] ["$[0]","$[1]"]
626 cts whitespace, operators, newline before >= $[?@.b\n>=@.a] [{"a":1,"b":1},{"a":1,"b":2},{"a":2,"b":1}] [{"a":1,"b":1},{"a":1,"b":2}] ["$[0]","$[1]"]
627 cts whitespace, operators, tab before >= $[?@.b\t>=@.a] [{"a":1,"b":1},{"a":1,"b":2},{"a":2,"b":1}] [{"a":1,"b":1},{"a":1,"b":2}] ["$[0]","$[1]"]
628 cts whitespace, operators, return before >= $[?@.b\r>=@.a] [{"a":1,"b":1},{"a":1,"b":2},{"a":2,"b":1}] [{"a":1,"b":1},{"a":1,"b":2}] ["$[0]","$[1]"]
629 cts whitespace, operators, space after >= $[?@.b>= @.a] [{"a":1,"b":1},{"a":1,"b":2},{"a":2,"b":1}] [{"a":1,"b":1},{"a":1,"b":2}] ["$[0]","$[1]"]
630 cts whitespace, operators, newline after >= $[?@.b>=\n@.a] [{"a":1,"b":1},{"a":1,"b":2},{"a":2,"b":1}] [{"a":1,"b":1},{"a":1,"b":2}] ["$[0]","$[1]"]
631 cts whitespace, operators, tab after >= $[?@.b>=\t@.a] [{"a":1,"b":1},{"a":1,"b":2},{"a":2,"b":1}] [{"a":1,"b":1},{"a":1,"b":2}] ["$[0]","$[1]"]
632 cts whitespace, operators, return after >= $[?@.b>=\r@.a] [{"a":1,"b":1},{"a":1,"b":2},{"a":2,"b":1}] [{"a":1,"b":1},{"a":1,"b":2}] ["$[0]","$[1]"]
633 cts whitespace, operators, space between logical not and test expression $[?! @.a] [{"a":"a","d":"e"},{"d":"f"},{"a":"d","d":"f"}] [{"d":"f"}] ["$[1]"]
634 cts whitespace, operators, newline between logical not and test expression $[?!\n@.a] [{"a":"a","d":"e"},{"d":"f"},{"a":"d","d":"f"}] [{"d":"f"}] ["$[1]"]
635 cts whitespace, operators, tab between logical not and test expression $[?!\t@.a] [{"a":"a","d":"e"},{"d":"f"},{"a":"d","d":"f"}] [{"d":"f"}] ["$[1]"]
636 cts whitespace, operators, return between logical not and test expression $[?!\r@.a] [{"a":"a","d":"e"},{"d":"f"},{"a":"d","d":"f"}] [{"d":"f"}] ["$[1]"]
637 cts whitespace, operators, space between logical not and parenthesized expression $[?! (@.a==\'b\')] [{"a":"a","d":"e"},{"a":"b","d":"f"},{"a":"d","d":"f"}] [{"a":"a","d":"e"},{"a":"d","d":"f"}] ["$[0]","$[2]"]
638 cts whitespace, operators, newline between logical not and parenthesized expression $[?!\n(@.a==\'b\')] [{"a":"a","d":"e"},{"a":"b","d":"f"},{"a":"d","d":"f"}] [{"a":"a","d":"e"},{"a":"d","d":"f"}] ["$[0]","$[2]"]
639 cts whitespace, operators, tab between logical not and parenthesized expression $[?!\t(@.a==\'b\')] [{"a":"a","d":"e"},{"a":"b","d":"f"},{"a":"d","d":"f"}] [{"a":"a","d":"e"},{"a":"d","d":"f"}] ["$[0]","$[2]"]
640 cts whitespace, operators, return between logical not and parenthesized expression $[?!\r(@.a==\'b\')] [{"a":"a","d":"e"},{"a":"b","d":"f"},{"a":"d","d":"f"}] [{"a":"a","d":"e"},{"a":"d","d":"f"}] ["$[0]","$[2]"]
641 cts whitespace, selectors, space between root and bracket $ [\'a\'] {"a":"ab"} ["ab"] ["$['a']"]
642 cts whitespace, selectors, newline between root and bracket $\n[\'a\'] {"a":"ab"} ["ab"] ["$['a']"]
643 cts whitespace, selectors, tab between root and bracket $\t[\'a\'] {"a":"ab"} ["ab"] ["$['a']"]
644 cts whitespace, selectors, return between root and bracket $\r[\'a\'] {"a":"ab"} ["ab"] ["$['a']"]
645 cts whitespace, selectors, space between bracket and bracket $[\'a\'] [\'b\'] {"a":{"b":"ab"}} ["ab"] ["$['a']['b']"]
646 cts whitespace, selectors, newline between bracket and bracket $[\'a\'] \n[\'b\'] {"a":{"b":"ab"}} ["ab"] ["$['a']['b']"]
647 cts whitespace, selectors, tab between bracket and bracket $[\'a\'] \t[\'b\'] {"a":{"b":"ab"}} ["ab"] ["$['a']['b']"]
648 cts whitespace, selectors, return between bracket and bracket $[\'a\'] \r[\'b\'] {"a":{"b":"ab"}} ["ab"] ["$['a']['b']"]
649 cts whitespace, selectors, space between root and dot $ .a {"a":"ab"} ["ab"] ["$['a']"]
650 cts whitespace, selectors, newline between root and dot $\n.a {"a":"ab"} ["ab"] ["$['a']"]
651 cts whitespace, selectors, tab between root and dot $\t.a {"a":"ab"} ["ab"] ["$['a']"]
652 cts whitespace, selectors, return between root and dot $\r.a {"a":"ab"} ["ab"] ["$['a']"]
653 cts whitespace, selectors, space between dot and name $. a Parsing error in query line 1 column 3 unexpected character: ' '.
654 cts whitespace, selectors, newline between dot and name $.\na Parsing error in query line 1 column 3 unexpected character: '\n'.
655 cts whitespace, selectors, tab between dot and name $.\ta Parsing error in query line 1 column 3 unexpected character: '\t'.
656 cts whitespace, selectors, return between dot and name $.\ra Parsing error in query line 1 column 3 unexpected character: '\r'.
657 cts whitespace, selectors, space between recursive descent and name $.. a Parsing error in query line 1 column 4 unexpected character: ' '.
658 cts whitespace, selectors, newline between recursive descent and name $..\na Parsing error in query line 1 column 4 unexpected character: '\n'.
659 cts whitespace, selectors, tab between recursive descent and name $..\ta Parsing error in query line 1 column 4 unexpected character: '\t'.
660 cts whitespace, selectors, return between recursive descent and name $..\ra Parsing error in query line 1 column 4 unexpected character: '\r'.
661 cts whitespace, selectors, space between bracket and selector $[ \'a\'] {"a":"ab"} ["ab"] ["$['a']"]
662 cts whitespace, selectors, newline between bracket and selector $[\n\'a\'] {"a":"ab"} ["ab"] ["$['a']"]
663 cts whitespace, selectors, tab between bracket and selector $[\t\'a\'] {"a":"ab"} ["ab"] ["$['a']"]
664 cts whitespace, selectors, return between bracket and selector $[\r\'a\'] {"a":"ab"} ["ab"] ["$['a']"]
665 cts whitespace, selectors, space between selector and bracket $[\'a\' ] {"a":"ab"} ["ab"] ["$['a']"]
666 cts whitespace, selectors, newline between selector and bracket $[\'a\'\n] {"a":"ab"} ["ab"] ["$['a']"]
667 cts whitespace, selectors, tab between selector and bracket $[\'a\'\t] {"a":"ab"} ["ab"] ["$['a']"]
668 cts whitespace, selectors, return between selector and bracket $[\'a\'\r] {"a":"ab"} ["ab"] ["$['a']"]
669 cts whitespace, selectors, space between selector and comma $[\'a\' ,\'b\'] {"a":"ab","b":"bc"} ["ab","bc"] ["$['a']","$['b']"]
670 cts whitespace, selectors, newline between selector and comma $[\'a\'\n,\'b\'] {"a":"ab","b":"bc"} ["ab","bc"] ["$['a']","$['b']"]
671 cts whitespace, selectors, tab between selector and comma $[\'a\'\t,\'b\'] {"a":"ab","b":"bc"} ["ab","bc"] ["$['a']","$['b']"]
672 cts whitespace, selectors, return between selector and comma $[\'a\'\r,\'b\'] {"a":"ab","b":"bc"} ["ab","bc"] ["$['a']","$['b']"]
673 cts whitespace, selectors, space between comma and selector $[\'a\', \'b\'] {"a":"ab","b":"bc"} ["ab","bc"] ["$['a']","$['b']"]
674 cts whitespace, selectors, newline between comma and selector $[\'a\',\n\'b\'] {"a":"ab","b":"bc"} ["ab","bc"] ["$['a']","$['b']"]
675 cts whitespace, selectors, tab between comma and selector $[\'a\',\t\'b\'] {"a":"ab","b":"bc"} ["ab","bc"] ["$['a']","$['b']"]
676 cts whitespace, selectors, return between comma and selector $[\'a\',\r\'b\'] {"a":"ab","b":"bc"} ["ab","bc"] ["$['a']","$['b']"]
677 cts whitespace, slice, space between start and colon $[1 :5:2] [1,2,3,4,5,6] [2,4] ["$[1]","$[3]"]
678 cts whitespace, slice, newline between start and colon $[1\n:5:2] [1,2,3,4,5,6] [2,4] ["$[1]","$[3]"]
679 cts whitespace, slice, tab between start and colon $[1\t:5:2] [1,2,3,4,5,6] [2,4] ["$[1]","$[3]"]
680 cts whitespace, slice, return between start and colon $[1\r:5:2] [1,2,3,4,5,6] [2,4] ["$[1]","$[3]"]
681 cts whitespace, slice, space between colon and end $[1: 5:2] [1,2,3,4,5,6] [2,4] ["$[1]","$[3]"]
682 cts whitespace, slice, newline between colon and end $[1:\n5:2] [1,2,3,4,5,6] [2,4] ["$[1]","$[3]"]
683 cts whitespace, slice, tab between colon and end $[1:\t5:2] [1,2,3,4,5,6] [2,4] ["$[1]","$[3]"]
684 cts whitespace, slice, return between colon and end $[1:\r5:2] [1,2,3,4,5,6] [2,4] ["$[1]","$[3]"]
685 cts whitespace, slice, space between end and colon $[1:5 :2] [1,2,3,4,5,6] [2,4] ["$[1]","$[3]"]
686 cts whitespace, slice, newline between end and colon $[1:5\n:2] [1,2,3,4,5,6] [2,4] ["$[1]","$[3]"]
687 cts whitespace, slice, tab between end and colon $[1:5\t:2] [1,2,3,4,5,6] [2,4] ["$[1]","$[3]"]
688 cts whitespace, slice, return between end and colon $[1:5\r:2] [1,2,3,4,5,6] [2,4] ["$[1]","$[3]"]
689 cts whitespace, slice, space between colon and step $[1:5: 2] [1,2,3,4,5,6] [2,4] ["$[1]","$[3]"]
690 cts whitespace, slice, newline between colon and step $[1:5:\n2] [1,2,3,4,5,6] [2,4] ["$[1]","$[3]"]
691 cts whitespace, slice, tab between colon and step $[1:5:\t2] [1,2,3,4,5,6] [2,4] ["$[1]","$[3]"]
692 cts whitespace, slice, return between colon and step $[1:5:\r2] [1,2,3,4,5,6] [2,4] ["$[1]","$[3]"]
1 ajp multiple slice selectors, positive and negative steps $[2:5:1,-2:-4:-1,1:2:1,4:1:-1,1:3:-1] [0.0E0,1,2,3,4,5,6] [2,3,4,5,4,1,4,3,2] ["$[2]","$[3]","$[4]","$[5]","$[4]","$[1]","$[4]","$[3]","$[2]"]
2 ajp filter, match, special function $[?@.*[?match(@, \'[A-J]\')]] [[{"a":"A"}],[{"b":"B"}],[{"c":"C"}],[{"x":"X"}],[{"y":"Y"}],[{"z":"Z"}]] [[{"a":"A"}],[{"b":"B"}],[{"c":"C"}]] ["$[0]","$[1]","$[2]"]
3 ajp filter, unknown function $[?not_a_function(@, \'[A-J]\')] ajp:FCT0001: unknown function extension: not_a_function().
4 ajp filter, function, value argument, non-singular query $[?length($.*)==4] ajp:FCT0008: argument 1 of function length() must be a singular query.
5 ajp filter, function, nodes formal parameter, value argument $[?count(length($.*))==4] ajp:FCT0010: argument 1 of function count() requires type NodesType but called function length() is type ValueType
6 ajp filter, function, value formal parameter, logical-expr argument, non-singular-query $[?length($.a || $.b)==4] ajp:FCT0009: argument 1 of function length() requires a singular query argument
7 ajp filter, function, boolean argument, string true $[?boolstr(\'true\')==\'true\'] ajp:FCT0007: argument 1 of function boolstr must be type LogicalType.
8 ajp filter, function, boolean argument, string false $[?boolstr(\'false\')==\'false\'] ajp:FCT0007: argument 1 of function boolstr must be type LogicalType.
9 ajp filter, function, boolean argument, boolean false $[?boolstr(false)==\'false\'] [[{"a":"A"}],[{"b":"B"}]] [[{"a":"A"}],[{"b":"B"}]] ["$[0]","$[1]"]
10 ajp filter, function, boolean argument, boolean true $[?boolstr(true)==\'true\'] [[{"a":"A"}],[{"b":"B"}]] [[{"a":"A"}],[{"b":"B"}]] ["$[0]","$[1]"]
11 ajp filter, function, boolean argument, boolean true, string mismatch $[?boolstr(true)==\'false\'] [[{"a":"A"}],[{"b":"B"}]] [] []
12 ajp filter, function, nodes argument, nodes type $[?value(identity($.a))==$.a] [[{"a":"A"}],[{"b":"B"}]] [[{"a":"A"}],[{"b":"B"}]] ["$[0]","$[1]"]
13 ajp a random example $..[\'a\', \'e\', 0] {"a":1,"b":"hello","c":true,"d":null,"e":[42,23]} [1,[42,23],42] ["$['a']","$['e']","$['e'][0]"]
14 ajp another random example $..[\'a\', \'e\', 0]..[1] {"a":1,"b":"hello","c":true,"d":null,"e":[42,23]} [23] ["$['e'][1]"]
15 ajp yet another random example $.e[1] {"a":1,"b":"hello","c":true,"d":null,"e":[42,23]} [23] ["$['e'][1]"]
16 ajp query argument that is literal null, trivial query $ null [null] ["$"]
17 ajp query argument that is literal null, one segment $[0] null [] []
18 ajp key_search() test with object root $[?key_search(@, \'CH\')] {"CH_id":123,"CH_name":"Channel 1","status":"active"} [123,"Channel 1"] ["$['CH_id']","$['CH_name']"]
19 ajp key_match() test with object root $[?key_match(@, \'CH.*\')] {"CH_id":123,"CH_name":"Channel 1","status":"active"} [123,"Channel 1"] ["$['CH_id']","$['CH_name']"]
20 ajp key_search() test with object root, no-match $[?key_search(@, \'CHX.*\')] {"CH_id":123,"CH_name":"Channel 1","status":"active"} [] []
21 ajp key_match() test with object root, no-match $[?key_match(@, \'CHX\')] {"CH_id":123,"CH_name":"Channel 1","status":"active"} [] []
22 ajp key_search() test with array of objects $[?key_search(@.*, \'CH\')] [{"CH_name":"Channel 1"},{"CH_id":123},{"status":"active"}] [{"CH_name":"Channel 1"},{"CH_id":123}] ["$[0]","$[1]"]
23 ajp key_match() test with array of objects $[?key_match(@.*, \'CH.*\')] [{"CH_name":"Channel 1"},{"CH_id":123},{"status":"active"}] [{"CH_name":"Channel 1"},{"CH_id":123}] ["$[0]","$[1]"]