| Array slice with large number for end and negative step | $[2:-113667776004:-1] | 
| Array slice with large number for start end negative step | $[113667776004:2:-1] | 
| Array slice with negative step | $[3:0:-2] | 
| Array slice with negative step on partially overlapping array | $[7:3:-1] | 
| Array slice with negative step only | $[::-2] | 
| Array slice with open end and negative step | $[3::-1] | 
| Array slice with open start and negative step | $[:2:-1] | 
| Array slice with range of 0 | $[0:0] | 
| Array slice with step 0 | $[0:3:0] | 
| Array slice with step and leading zeros | $[010:024:010] | 
| Bracket notation with empty path | $[] | 
| Bracket notation with number on object | $[0] | 
| Bracket notation with number on string | $[0] | 
| Bracket notation with number -1 | $[-1] | 
| Bracket notation with quoted array slice literal | $[':'] | 
| Bracket notation with quoted closing bracket literal | $[']'] | 
| Bracket notation with quoted current object literal | $['@'] | 
| Bracket notation with quoted escaped backslash | $['\'] | 
| Bracket notation with quoted escaped single quote | $['''] | 
| Bracket notation with quoted root literal | $['$'] | 
| Bracket notation with quoted special characters combined | $[':@."$,*'\'] | 
| Bracket notation with quoted string and unescaped single quote | $['single'quote'] | 
| Bracket notation with quoted union literal | $[','] | 
| Bracket notation with quoted wildcard literal ? | $['*'] | 
| Bracket notation with quoted wildcard literal on object without key | $['*'] | 
| Bracket notation with spaces | $[ 'a' ] | 
| Bracket notation with two literals separated by dot | $['two'.'some'] | 
| Bracket notation with two literals separated by dot without quotes | $[two.some] | 
| Bracket notation without quotes | $[key] | 
| Current with dot notation | @.a | 
| Dot bracket notation | $.['key'] | 
| Dot bracket notation with double quotes | $.["key"] | 
| Dot bracket notation without quotes | $.[key] | 
| Dot notation after recursive descent with extra dot ? | $...key | 
| Dot notation after union with keys | $['one','three'].key | 
| Dot notation with dash | $.key-dash | 
| Dot notation with double quotes | $."key" | 
| Dot notation with double quotes after recursive descent ? | $.."key" | 
| Dot notation with empty path | $. | 
| Dot notation with key named length on array | $.length | 
| Dot notation with key root literal | $.$ | 
| Dot notation with non ASCII key | $.?? | 
| Dot notation with number | $.2 | 
| Dot notation with number -1 | $.-1 | 
| Dot notation with single quotes | $.'key' | 
| Dot notation with single quotes after recursive descent ? | $..'key' | 
| Dot notation with single quotes and dot | $.'some.key' | 
| Dot notation with space padded key | $. a | 
| Dot notation with wildcard after recursive descent on scalar ? | $..* | 
| Dot notation without dot | $a | 
| Dot notation without root | .key | 
| Dot notation without root and dot | key | 
| Empty | n/a | 
| Filter expression on object | $[?(@.key)] | 
| Filter expression after dot notation with wildcard after recursive descent ? | $..*[?(@.id>2)] | 
| Filter expression after recursive descent ? | $..[?(@.id==2)] | 
| Filter expression with addition | $[?(@.key+50==100)] | 
| Filter expression with boolean and operator and value false | $[?(@.key>0 && false)] | 
| Filter expression with boolean and operator and value true | $[?(@.key>0 && true)] | 
| Filter expression with boolean or operator and value false | $[?(@.key>0 || false)] | 
| Filter expression with boolean or operator and value true | $[?(@.key>0 || true)] | 
| Filter expression with bracket notation with -1 | $[?(@[-1]==2)] | 
| Filter expression with bracket notation with number on object | $[?(@[1]=='b')] | 
| Filter expression with current object | $[?(@)] | 
| Filter expression with different ungrouped operators | $[?(@.a && @.b || @.c)] | 
| Filter expression with division | $[?(@.key/10==5)] | 
| Filter expression with dot notation with dash | $[?(@.key-dash == 'value')] | 
| Filter expression with dot notation with number | $[?(@.2 == 'second')] | 
| Filter expression with dot notation with number on array | $[?(@.2 == 'third')] | 
| Filter expression with empty expression | $[?()] | 
| Filter expression with equals | $[?(@.key==42)] | 
| Filter expression with equals on array of numbers | $[?(@==42)] | 
| Filter expression with equals on object | $[?(@.key==42)] | 
| Filter expression with equals array | $[?(@.d==["v1","v2"])] | 
| Filter expression with equals array for array slice with range 1 | $[?(@[0:1]==[1])] | 
| Filter expression with equals array for dot notation with star | $[?(@.*==[1,2])] | 
| Filter expression with equals array or equals true | $[?(@.d==["v1","v2"] || (@.d == true))] | 
| Filter expression with equals array with single quotes | $[?(@.d==['v1','v2'])] | 
| Filter expression with equals boolean expression value | $[?((@.key<44)==false)] | 
| Filter expression with equals false | $[?(@.key==false)] | 
| Filter expression with equals null | $[?(@.key==null)] | 
| Filter expression with equals number for array slice with range 1 | $[?(@[0:1]==1)] | 
| Filter expression with equals number for bracket notation with star | $[?(@[*]==2)] | 
| Filter expression with equals number for dot notation with star | $[?(@.*==2)] | 
| Filter expression with equals number with fraction | $[?(@.key==-0.123e2)] | 
| Filter expression with equals number with leading zeros | $[?(@.key==010)] | 
| Filter expression with equals object | $[?(@.d=={"k":"v"})] | 
| Filter expression with equals string | $[?(@.key=="value")] | 
| Filter expression with equals string with unicode character escape | $[?(@.key=="Mot\u00f6rhead")] | 
| Filter expression with equals true | $[?(@.key==true)] | 
| Filter expression with equals with path and path | $[?(@[email protected])] | 
| Filter expression with equals with root reference | $.items[?(@.key==$.value)] | 
| Filter expression with greater than | $[?(@.key>42)] | 
| Filter expression with greater than or equal | $[?(@.key>=42)] | 
| Filter expression with in array of values | $[?(@.d in [2, 3])] | 
| Filter expression with in current object | $[?(2 in @.d)] | 
| Filter expression with length free function | $[?(length(@) == 4)] | 
| Filter expression with length function | $[?(@.length() == 4)] | 
| Filter expression with length property | $[?(@.length == 4)] | 
| Filter expression with less than | $[?(@.key<42)] | 
| Filter expression with less than or equal | $[?(@.key<=42)] | 
| Filter expression with local dot key and null in data | $[?(@.key='value')] | 
| Filter expression with multiplication | $[?(@.key*2==100)] | 
| Filter expression with negation and equals | $[?(!(@.key==42))] | 
| Filter expression with negation and equals array or equals true | $[?(!(@.d==["v1","v2"]) || (@.d == true))] | 
| Filter expression with negation and less than | $[?(!(@.key<42))] | 
| Filter expression with negation and without value | $[?([email protected])] | 
| Filter expression with non singular existence test | $[?(@.a.*)] | 
| Filter expression with not equals | $[?(@.key!=42)] | 
| Filter expression with not equals array or equals true | $[?((@.d!=["v1","v2"]) || (@.d == true))] | 
| Filter expression with parent axis operator | $[*].bookmarks[?(@.page == 45)]^^^ | 
| Filter expression with regular expression | $[?(@.name=~/hello.*/)] | 
| Filter expression with regular expression from member | $[?(@.name=~/@.pattern/)] | 
| Filter expression with set wise comparison to scalar | $[?(@[*]>=4)] | 
| Filter expression with set wise comparison to set | $.x[?(@[]>=$.y[])] | 
| Filter expression with single equal | $[?(@.key=42)] | 
| Filter expression with subfilter | $[?(@.a[?(@.price>10)])] | 
| Filter expression with subpaths deeply nested | $[?(@.a.b.c==3)] | 
| Filter expression with subtraction | $[?(@.key-50==-100)] | 
| Filter expression with triple equal | $[?(@.key===42)] | 
| Filter expression with value | $[?(@.key)] | 
| Filter expression with value after recursive descent ? | $..[?(@.id)] | 
| Filter expression with value false | $[?(false)] | 
| Filter expression with value from recursive descent | $[?(@..child)] | 
| Filter expression with value null | $[?(null)] | 
| Filter expression with value true | $[?(true)] | 
| Filter expression without parens | $[[email protected]==42] | 
| Filter expression without value | $[?(@.key)] | 
| Function sum | $.data.sum() | 
| Parens notation | $(key,more) | 
| Recursive descent ? | $.. | 
| Recursive descent after dot notation ? | $.key.. | 
| Root on scalar | $ | 
| Root on scalar false | $ | 
| Root on scalar true | $ | 
| Script expression | $[(@.length-1)] | 
| Union with duplication from array | $[0,0] | 
| Union with duplication from object | $['a','a'] | 
| Union with filter | $[?(@.key<3),?(@.key>6)] | 
| Union with keys | $['key','another'] | 
| Union with keys on object without key | $['missing','key'] | 
| Union with keys after array slice | $[:]['c','d'] | 
| Union with keys after bracket notation | $[0]['c','d'] | 
| Union with keys after dot notation with wildcard | $.*['c','d'] | 
| Union with keys after recursive descent ? | $..['c','d'] | 
| Union with repeated matches after dot notation with wildcard | $.*[0,:5] | 
| Union with slice and number | $[1:3,4] | 
| Union with spaces | $[ 0 , 1 ] | 
| Union with wildcard and number | $[*,1] |