Andreas Wacknitz
2023-09-22 95a17185fa4cbf564b8ee91cf2999891c8a6e477
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
Test #1: 'true' at line number 8
Test #2: 'false' at line number 12
Test #3: 'null' at line number 16
Test #4: '1' at line number 20
Test #5: '-1' at line number 25
Test #6: '{}' at line number 31
Test #7: '[]' at line number 35
Test #8: '{x: -1}' at line number 39
Test #9: '.' at line number 46
Test #10: '"Aa\r\n\t\b\f\u03bc"' at line number 52
Test #11: '.' at line number 56
Test #12: '"inter\("pol" + "ation")"' at line number 60
Test #13: '@text,@json,([1,.]|@csv,@tsv),@html,@uri,@sh,(@base64|.,@base64d)' at line number 64
Test #14: '@base64' at line number 77
Test #15: '@base64d' at line number 81
Test #16: '@uri' at line number 85
Test #17: '@html "<b>\(.)</b>"' at line number 89
Test #18: '[.[]|tojson|fromjson]' at line number 93
Test #19: '{a: 1}' at line number 101
Test #20: '{a,b,(.d):.a,e:.b}' at line number 105
Test #21: '{"a",b,"a$\(1+1)"}' at line number 109
Test #22: '{(0):1}' at line number 114
Test #23: '{non_const:., (0):1}' at line number 118
Test #24: '.foo' at line number 125
Test #25: '.foo | .bar' at line number 129
Test #26: '.foo.bar' at line number 133
Test #27: '.foo_bar' at line number 137
Test #28: '.["foo"].bar' at line number 141
Test #29: '."foo"."bar"' at line number 145
Test #30: '.e0, .E1, .E-1, .E+1' at line number 149
Test #31: '[.[]|.foo?]' at line number 156
Test #32: '[.[]|.foo?.bar?]' at line number 160
Test #33: '[..]' at line number 164
Test #34: '[.[]|.[]?]' at line number 168
Test #35: '[.[]|.[1:3]?]' at line number 172
Test #36: 'map(try .a[] catch ., try .a.[] catch ., .a[]?, .a.[]?)' at line number 177
Test #37: 'try (.foo[-1] = 0) catch .' at line number 185
Test #38: 'try (.foo[-2] = 0) catch .' at line number 189
Test #39: '.[-1] = 5' at line number 193
Test #40: '.[-2] = 5' at line number 197
Test #41: '.[]' at line number 205
Test #42: '1,1' at line number 211
Test #43: '1,.' at line number 216
Test #44: '[.]' at line number 221
Test #45: '[[2]]' at line number 225
Test #46: '[{}]' at line number 229
Test #47: '[.[]]' at line number 233
Test #48: '[(.,1),((.,.[]),(2,3))]' at line number 237
Test #49: '[([5,5][]),.,.[]]' at line number 241
Test #50: '{x: (1,2)},{x:3} | .x' at line number 245
Test #51: '[.[-4,-3,-2,-1,0,1,2,3]]' at line number 251
Test #52: '[range(0;10)]' at line number 255
Test #53: '[range(0,1;3,4)]' at line number 259
Test #54: '[range(0;10;3)]' at line number 263
Test #55: '[range(0;10;-1)]' at line number 267
Test #56: '[range(0;-5;-1)]' at line number 271
Test #57: '[range(0,1;4,5;1,2)]' at line number 275
Test #58: '[while(.<100; .*2)]' at line number 279
Test #59: '[(label $here | .[] | if .>1 then break $here else . end), "hi!"]' at line number 283
Test #60: '[(label $here | .[] | if .>1 then break $here else . end), "hi!"]' at line number 287
Test #61: '. as $foo | break $foo' at line number 292
Test #62: '[.[]|[.,1]|until(.[0] < 1; [.[0] - 1, .[1] * .[0]])|.[1]]' at line number 295
Test #63: '[label $out | foreach .[] as $item ([3, null]; if .[0] < 1 then break $out else [.[0] -1, $item] end; .[1])]' at line number 299
Test #64: '[foreach range(5) as $item (0; $item)]' at line number 303
Test #65: '[foreach .[] as [$i, $j] (0; . + $i - $j)]' at line number 307
Test #66: '[foreach .[] as {a:$a} (0; . + $a; -.)]' at line number 311
Test #67: '[limit(3; .[])]' at line number 315
Test #68: '[limit(0; error)]' at line number 319
Test #69: '[limit(1; 1, error)]' at line number 323
Test #70: '[first(range(.)), last(range(.))]' at line number 327
Test #71: '[nth(0,5,9,10,15; range(.)), try nth(-1; range(.)) catch .]' at line number 331
Test #72: 'first(1,error("foo"))' at line number 336
Test #73: '[limit(5,7; range(9))]' at line number 346
Test #74: '[nth(5,7; range(9;0;-1))]' at line number 351
Test #75: '[range(0,1,2;4,3,2;2,3)]' at line number 356
Test #76: '[range(3,5)]' at line number 361
Test #77: '[(index(",","|"), rindex(",","|")), indices(",","|")]' at line number 366
Test #78: 'join(",","/")' at line number 371
Test #79: '[.[]|join("a")]' at line number 376
Test #80: 'flatten(3,2,1)' at line number 381
Test #81: '[.[3:2], .[-5:4], .[:-2], .[-2:], .[3:3][1:], .[10:]]' at line number 392
Test #82: '[.[3:2], .[-5:4], .[:-2], .[-2:], .[3:3][1:], .[10:]]' at line number 396
Test #83: 'del(.[2:4],.[0],.[-2:])' at line number 400
Test #84: '.[2:4] = ([], ["a","b"], ["a","b","c"])' at line number 404
Test #85: 'reduce range(65540;65536;-1) as $i ([]; .[$i] = $i)|.[65536:]' at line number 416
Test #86: '1 as $x | 2 as $y | [$x,$y,$x]' at line number 424
Test #87: '[1,2,3][] as $x | [[4,5,6,7][$x]]' at line number 428
Test #88: '42 as $x | . | . | . + 432 | $x + 1' at line number 434
Test #89: '1 as $x | [$x,$x,$x as $x | $x]' at line number 438
Test #90: '[1, {c:3, d:4}] as [$a, {c:$b, b:$c}] | $a, $b, $c' at line number 442
Test #91: '. as {as: $kw, "str": $str, ("e"+"x"+"p"): $exp} | [$kw, $str, $exp]' at line number 448
Test #92: '.[] as [$a, $b] | [$b, $a]' at line number 452
Test #93: '. as $i | . as [$i] | $i' at line number 457
Test #94: '. as [$i] | . as $i | $i' at line number 461
Test #95: '. as [] | null' at line number 466
Test #96: '. as {} | null' at line number 470
Test #97: '1+1' at line number 479
Test #98: '1+1' at line number 483
Test #99: '2-1' at line number 487
Test #100: '2-(-1)' at line number 491
Test #101: '1e+0+0.001e3' at line number 495
Test #102: '.+4' at line number 499
Test #103: '.+null' at line number 503
Test #104: 'null+.' at line number 507
Test #105: '.a+.b' at line number 511
Test #106: '[1,2,3] + [.]' at line number 515
Test #107: '{"a":1} + {"b":2} + {"c":3}' at line number 519
Test #108: '"asdf" + "jkl;" + . + . + .' at line number 523
Test #109: '"\u0000\u0020\u0000" + .' at line number 527
Test #110: '42 - .' at line number 531
Test #111: '[1,2,3,4,1] - [.,3]' at line number 535
Test #112: '[10 * 20, 20 / .]' at line number 539
Test #113: '1 + 2 * 2 + 10 / 2' at line number 543
Test #114: '[16 / 4 / 2, 16 / 4 * 2, 16 - 4 - 2, 16 - 4 + 2]' at line number 547
Test #115: '1e-19 + 1e-20 - 5e-21' at line number 551
Test #116: '1 / 1e-17' at line number 555
Test #117: '9E999999999, 9999999999E999999990, 1E-999999999, 0.000000001E-999999990' at line number 559
Test #118: '5E500000000 > 5E-5000000000, 10000E500000000 > 10000E-5000000000' at line number 566
Test #119: '(1e999999999, 10e999999999) > (1e-1147483646, 0.1e-1147483646)' at line number 572
Test #120: '25 % 7' at line number 579
Test #121: '49732 % 472' at line number 583
Test #122: '[(infinite, -infinite) % (1, -1, infinite)]' at line number 587
Test #123: '[nan % 1, 1 % nan | isnan]' at line number 591
Test #124: '1 + tonumber + ("10" | tonumber)' at line number 595
Test #125: '[{"a":42},.object,10,.num,false,true,null,"b",[1,4]] | .[] as $x | [$x == .[]]' at line number 599
Test #126: '[.[] | length]' at line number 611
Test #127: 'utf8bytelength' at line number 615
Test #128: '[.[] | try utf8bytelength catch .]' at line number 619
Test #129: 'map(keys)' at line number 624
Test #130: '[1,2,empty,3,empty,4]' at line number 628
Test #131: 'map(add)' at line number 632
Test #132: 'map_values(.+1)' at line number 636
Test #133: 'def f: . + 1; def g: def g: . + 100; f | g | f; (f | g), g' at line number 645
Test #134: 'def f: (1000,2000); f' at line number 650
Test #135: 'def f(a;b;c;d;e;f): [a+1,b,c,d,e,f]; f(.[0];.[1];.[0];.[0];.[0];.[0])' at line number 655
Test #136: 'def f: 1; def g: f, def f: 2; def g: 3; f, def f: g; f, g; def f: 4; [f, def f: g; def g: 5; f, g]+[f,g]' at line number 659
Test #137: 'def a: 0; . | a' at line number 664
Test #138: 'def f(a;b;c;d;e;f;g;h;i;j): [j,i,h,g,f,e,d,c,b,a]; f(.[0];.[1];.[2];.[3];.[4];.[5];.[6];.[7];.[8];.[9])' at line number 669
Test #139: '([1,2] + [4,5])' at line number 673
Test #140: 'true' at line number 677
Test #141: 'null,1,null' at line number 681
Test #142: '[1,2,3]' at line number 687
Test #143: '[.[]|floor]' at line number 691
Test #144: '[.[]|sqrt]' at line number 695
Test #145: '(add / length) as $m | map((. - $m) as $d | $d * $d) | add / length | sqrt' at line number 699
Test #146: 'atan * 4 * 1000000|floor / 1000000' at line number 708
Test #147: '[(3.141592 / 2) * (range(0;20) / 20)|cos * 1000000|floor / 1000000]' at line number 712
Test #148: '[(3.141592 / 2) * (range(0;20) / 20)|sin * 1000000|floor / 1000000]' at line number 716
Test #149: 'def f(x): x | x; f([.], . + [42])' at line number 721
Test #150: 'def f: .+1; def g: f; def f: .+100; def f(a):a+.+11; [(g|f(20)), f]' at line number 729
Test #151: 'def id(x):x; 2000 as $x | def f(x):1 as $x | id([$x, x, x]); def g(x): 100 as $x | f($x,$x+x); g($x)' at line number 734
Test #152: 'def x(a;b): a as $a | b as $b | $a + $b; def y($a;$b): $a + $b; def check(a;b): [x(a;b)] == [y(a;b)]; check(.[];.[]*2)' at line number 739
Test #153: '[[20,10][1,0] as $x | def f: (100,200) as $y | def g: [$x + $y, .]; . + $x | g; f[0] | [f][0][1] | f]' at line number 745
Test #154: 'def fac: if . == 1 then 1 else . * (. - 1 | fac) end; [.[] | fac]' at line number 750
Test #155: 'reduce .[] as $x (0; . + $x)' at line number 760
Test #156: 'reduce .[] as [$i, {j:$j}] (0; . + $i - $j)' at line number 764
Test #157: 'reduce [[1,2,10], [3,4,10]][] as [$i,$j] (0; . + $i * $j)' at line number 768
Test #158: 'reduce . as $n (.; .)' at line number 773
Test #159: '. as {$a, b: [$c, {$d}]} | [$a, $c, $d]' at line number 778
Test #160: '. as {$a, $b:[$c, $d]}| [$a, $b, $c, $d]' at line number 782
Test #161: '.[] | . as {$a, b: [$c, {$d}]} ?// [$a, {$b}, $e] ?// $f | [$a, $b, $c, $d, $e, $f]' at line number 787
Test #162: '.[] | . as {a:$a} ?// {a:$a} ?// {a:$a} | $a' at line number 794
Test #163: '.[] as {a:$a} ?// {a:$a} ?// {a:$a} | $a' at line number 798
Test #164: '[[3],[4],[5],6][] | . as {a:$a} ?// {a:$a} ?// {a:$a} | $a' at line number 802
Test #165: '[[3],[4],[5],6] | .[] as {a:$a} ?// {a:$a} ?// {a:$a} | $a' at line number 806
Test #166: '.[] | . as {a:$a} ?// {a:$a} ?// $a | $a' at line number 810
Test #167: '.[] as {a:$a} ?// {a:$a} ?// $a | $a' at line number 817
Test #168: '[[3],[4],[5],6][] | . as {a:$a} ?// {a:$a} ?// $a | $a' at line number 824
Test #169: '[[3],[4],[5],6] | .[] as {a:$a} ?// {a:$a} ?// $a | $a' at line number 831
Test #170: '.[] | . as {a:$a} ?// $a ?// {a:$a} | $a' at line number 838
Test #171: '.[] as {a:$a} ?// $a ?// {a:$a} | $a' at line number 845
Test #172: '[[3],[4],[5],6][] | . as {a:$a} ?// $a ?// {a:$a} | $a' at line number 852
Test #173: '[[3],[4],[5],6] | .[] as {a:$a} ?// $a ?// {a:$a} | $a' at line number 859
Test #174: '.[] | . as $a ?// {a:$a} ?// {a:$a} | $a' at line number 866
Test #175: '.[] as $a ?// {a:$a} ?// {a:$a} | $a' at line number 873
Test #176: '[[3],[4],[5],6][] | . as $a ?// {a:$a} ?// {a:$a} | $a' at line number 880
Test #177: '[[3],[4],[5],6] | .[] as $a ?// {a:$a} ?// {a:$a} | $a' at line number 887
Test #178: '. as $dot|any($dot[];not)' at line number 894
Test #179: '. as $dot|any($dot[];not)' at line number 898
Test #180: '. as $dot|all($dot[];.)' at line number 902
Test #181: '. as $dot|all($dot[];.)' at line number 906
Test #182: 'any(true, error; .)' at line number 911
Test #183: 'all(false, error; .)' at line number 915
Test #184: 'any(not)' at line number 919
Test #185: 'all(not)' at line number 923
Test #186: 'any(not)' at line number 927
Test #187: 'all(not)' at line number 931
Test #188: '[any,all]' at line number 935
Test #189: '[any,all]' at line number 939
Test #190: '[any,all]' at line number 943
Test #191: '[any,all]' at line number 947
Test #192: '[any,all]' at line number 951
Test #193: 'path(.foo[0,1])' at line number 959
Test #194: 'path(.[] | select(.>3))' at line number 964
Test #195: 'path(.)' at line number 968
Test #196: 'try path(.a | map(select(.b == 0))) catch .' at line number 972
Test #197: 'try path(.a | map(select(.b == 0)) | .[0]) catch .' at line number 976
Test #198: 'try path(.a | map(select(.b == 0)) | .c) catch .' at line number 980
Test #199: 'try path(.a | map(select(.b == 0)) | .[]) catch .' at line number 984
Test #200: 'path(.a[path(.b)[0]])' at line number 988
Test #201: '[paths]' at line number 992
Test #202: '["foo",1] as $p | getpath($p), setpath($p; 20), delpaths([$p])' at line number 996
Test #203: 'map(getpath([2])), map(setpath([2]; 42)), map(delpaths([[2]]))' at line number 1002
Test #204: 'map(delpaths([[0,"foo"]]))' at line number 1008
Test #205: '["foo",1] as $p | getpath($p), setpath($p; 20), delpaths([$p])' at line number 1012
Test #206: 'delpaths([[-200]])' at line number 1018
Test #207: 'try delpaths(0) catch .' at line number 1022
Test #208: 'del(.), del(empty), del((.foo,.bar,.baz) | .[2,3,0]), del(.foo[0], .bar[0], .foo, .baz.bar[0].x)' at line number 1026
Test #209: 'del(.[1], .[-6], .[2], .[-3:9])' at line number 1033
Test #210: 'setpath([-1]; 1)' at line number 1038
Test #211: 'pick(.a.b.c)' at line number 1042
Test #212: 'pick(first)' at line number 1046
Test #213: 'pick(first|first)' at line number 1050
Test #214: 'try pick(last) catch .' at line number 1055
Test #215: '.message = "goodbye"' at line number 1062
Test #216: '.foo = .bar' at line number 1066
Test #217: '.foo |= .+1' at line number 1070
Test #218: '.[] += 2, .[] *= 2, .[] -= 2, .[] /= 2, .[] %=2' at line number 1074
Test #219: '[.[] % 7]' at line number 1082
Test #220: '.foo += .foo' at line number 1086
Test #221: '.[0].a |= {"old":., "new":(.+1)}' at line number 1090
Test #222: 'def inc(x): x |= .+1; inc(.[].a)' at line number 1094
Test #223: '.[] | try (getpath(["a",0,"b"]) |= 5) catch .' at line number 1099
Test #224: '(.[] | select(. >= 2)) |= empty' at line number 1111
Test #225: '.[] |= select(. % 2 == 0)' at line number 1115
Test #226: '.foo[1,4,2,3] |= empty' at line number 1119
Test #227: '.[2][3] = 1' at line number 1123
Test #228: '.foo[2].bar = 1' at line number 1127
Test #229: 'try ((map(select(.a == 1))[].b) = 10) catch .' at line number 1131
Test #230: 'try ((map(select(.a == 1))[].a) |= .+1) catch .' at line number 1135
Test #231: 'def x: .[1,2]; x=10' at line number 1139
Test #232: 'try (def x: reverse; x=10) catch .' at line number 1143
Test #233: '.[] = 1' at line number 1147
Test #234: '[.[] | if .foo then "yep" else "nope" end]' at line number 1155
Test #235: '[.[] | if .baz then "strange" elif .foo then "yep" else "nope" end]' at line number 1159
Test #236: '[if 1,null,2 then 3 else 4 end]' at line number 1163
Test #237: '[if empty then 3 else 4 end]' at line number 1167
Test #238: '[if 1 then 3,4 else 5 end]' at line number 1171
Test #239: '[if null then 3 else 5,6 end]' at line number 1175
Test #240: '[if true then 3 end]' at line number 1179
Test #241: '[if false then 3 end]' at line number 1183
Test #242: '[if false then 3 else . end]' at line number 1187
Test #243: '[if false then 3 elif false then 4 end]' at line number 1191
Test #244: '[if false then 3 elif false then 4 else . end]' at line number 1195
Test #245: '[.[] | [.foo[] // .bar]]' at line number 1199
Test #246: '.[] //= .[0]' at line number 1203
Test #247: '.[] | [.[0] and .[1], .[0] or .[1]]' at line number 1207
Test #248: '[.[] | not]' at line number 1214
Test #249: '[10 > 0, 10 > 10, 10 > 20, 10 < 0, 10 < 10, 10 < 20]' at line number 1219
Test #250: '[10 >= 0, 10 >= 10, 10 >= 20, 10 <= 0, 10 <= 10, 10 <= 20]' at line number 1223
Test #251: '[ 10 == 10, 10 != 10, 10 != 11, 10 == 11]' at line number 1228
Test #252: '["hello" == "hello", "hello" != "hello", "hello" == "world", "hello" != "world" ]' at line number 1232
Test #253: '[[1,2,3] == [1,2,3], [1,2,3] != [1,2,3], [1,2,3] == [4,5,6], [1,2,3] != [4,5,6]]' at line number 1236
Test #254: '[{"foo":42} == {"foo":42},{"foo":42} != {"foo":42}, {"foo":42} != {"bar":42}, {"foo":42} == {"bar":42}]' at line number 1240
Test #255: '[{"foo":[1,2,{"bar":18},"world"]} == {"foo":[1,2,{"bar":18},"world"]},{"foo":[1,2,{"bar":18},"world"]} == {"foo":[1,2,{"bar":19},"world"]}]' at line number 1245
Test #256: '[("foo" | contains("foo")), ("foobar" | contains("foo")), ("foo" | contains("foobar"))]' at line number 1250
Test #257: '[contains(""), contains("\u0000")]' at line number 1255
Test #258: '[contains(""), contains("a"), contains("ab"), contains("c"), contains("d")]' at line number 1259
Test #259: '[contains("cd"), contains("b\u0000"), contains("ab\u0000")]' at line number 1263
Test #260: '[contains("b\u0000c"), contains("b\u0000cd"), contains("b\u0000cd")]' at line number 1267
Test #261: '[contains("@"), contains("\u0000@"), contains("\u0000what")]' at line number 1271
Test #262: '[.[]|try if . == 0 then error("foo") elif . == 1 then .a elif . == 2 then empty else . end catch .]' at line number 1277
Test #263: '[.[]|(.a, .a)?]' at line number 1281
Test #264: '[[.[]|[.a,.a]]?]' at line number 1285
Test #265: '.[] | try error catch .' at line number 1289
Test #266: 'try error("\($__loc__)") catch .' at line number 1295
Test #267: '[.[]|startswith("foo")]' at line number 1300
Test #268: '[.[]|endswith("foo")]' at line number 1304
Test #269: '[.[] | split(", ")]' at line number 1308
Test #270: 'split("")' at line number 1312
Test #271: '[.[]|ltrimstr("foo")]' at line number 1316
Test #272: '[.[]|rtrimstr("foo")]' at line number 1320
Test #273: '[(index(","), rindex(",")), indices(",")]' at line number 1324
Test #274: '[ index("aba"), rindex("aba"), indices("aba") ]' at line number 1328
Test #275: 'indices(1)' at line number 1332
Test #276: 'indices([1,2])' at line number 1336
Test #277: 'indices([1,2])' at line number 1340
Test #278: 'indices(", ")' at line number 1344
Test #279: '[.[]|split(",")]' at line number 1348
Test #280: '[.[]|split(", ")]' at line number 1352
Test #281: '[.[] * 3]' at line number 1356
Test #282: '[.[] * "abc"]' at line number 1360
Test #283: '[. * (nan,-nan)]' at line number 1364
Test #284: '[.[] / ","]' at line number 1368
Test #285: '[.[] / ", "]' at line number 1372
Test #286: 'map(.[1] as $needle | .[0] | contains($needle))' at line number 1376
Test #287: 'map(.[1] as $needle | .[0] | contains($needle))' at line number 1380
Test #288: '[({foo: 12, bar:13} | contains({foo: 12})), ({foo: 12} | contains({})), ({foo: 12, bar:13} | contains({baz:14}))]' at line number 1384
Test #289: '{foo: {baz: 12, blap: {bar: 13}}, bar: 14} | contains({bar: 14, foo: {blap: {}}})' at line number 1388
Test #290: '{foo: {baz: 12, blap: {bar: 13}}, bar: 14} | contains({bar: 14, foo: {blap: {bar: 14}}})' at line number 1392
Test #291: 'sort' at line number 1396
Test #292: '(sort_by(.b) | sort_by(.a)), sort_by(.a, .b), sort_by(.b, .c), group_by(.b), group_by(.a + .b - .c == 2)' at line number 1400
Test #293: 'unique' at line number 1408
Test #294: 'unique' at line number 1412
Test #295: '[min, max, min_by(.[1]), max_by(.[1]), min_by(.[2]), max_by(.[2])]' at line number 1416
Test #296: '[min,max,min_by(.),max_by(.)]' at line number 1420
Test #297: '.foo[.baz]' at line number 1424
Test #298: '.[] | .error = "no, it's OK"' at line number 1428
Test #299: '[{a:1}] | .[] | .a=999' at line number 1432
Test #300: 'to_entries' at line number 1436
Test #301: 'from_entries' at line number 1440
Test #302: 'with_entries(.key |= "KEY_" + .)' at line number 1444
Test #303: 'map(has("foo"))' at line number 1448
Test #304: 'map(has(2))' at line number 1452
Test #305: 'has(nan)' at line number 1456
Test #306: 'keys' at line number 1460
Test #307: '[][.]' at line number 1464
Test #308: 'map([1,2][0:.])' at line number 1468
Test #309: '{"k": {"a": 1, "b": 2}} * .' at line number 1474
Test #310: '{"k": {"a": 1, "b": 2}, "hello": {"x": 1}} * .' at line number 1478
Test #311: '{"k": {"a": 1, "b": 2}, "hello": 1} * .' at line number 1482
Test #312: '{"a": {"b": 1}, "c": {"d": 2}, "e": 5} * .' at line number 1486
Test #313: '[.[]|arrays]' at line number 1490
Test #314: '[.[]|objects]' at line number 1494
Test #315: '[.[]|iterables]' at line number 1498
Test #316: '[.[]|scalars]' at line number 1502
Test #317: '[.[]|values]' at line number 1506
Test #318: '[.[]|booleans]' at line number 1510
Test #319: '[.[]|nulls]' at line number 1514
Test #320: 'flatten' at line number 1518
Test #321: 'flatten(0)' at line number 1522
Test #322: 'flatten(2)' at line number 1526
Test #323: 'flatten(2)' at line number 1530
Test #324: 'try flatten(-1) catch .' at line number 1534
Test #325: 'transpose' at line number 1538
Test #326: 'transpose' at line number 1542
Test #327: 'ascii_upcase' at line number 1546
Test #328: 'bsearch(0,2,4)' at line number 1550
Test #329: 'strftime("%Y-%m-%dT%H:%M:%SZ")' at line number 1558
Test #330: 'strftime("%A, %B %d, %Y")' at line number 1562
*** Expected "Tuesday, June 30, 2015", but got "Dienstag, Juni 30, 2015" for test at line number 1564: strftime("%A, %B %d, %Y")
Test #331: 'gmtime' at line number 1566
Test #332: 'try strftime("%Y-%m-%dT%H:%M:%SZ") catch .' at line number 1571
Test #333: 'try strflocaltime("%Y-%m-%dT%H:%M:%SZ") catch .' at line number 1575
Test #334: 'try mktime catch .' at line number 1579
Test #335: 'import "a" as foo; import "b" as bar; def fooa: foo::a; [fooa, bar::a, bar::b, foo::a]' at line number 1584
Test #336: 'import "c" as foo; [foo::a, foo::c]' at line number 1588
Test #337: 'include "c"; [a, c]' at line number 1592
Test #338: 'import "data" as $e; import "data" as $d; [$d[].this,$e[].that,$d::d[].this,$e::e[].that]|join(";")' at line number 1596
Test #339: 'import "data" as $a; import "data" as $b; def f: {$a, $b}; f' at line number 1601
Test #340: 'include "shadow1"; e' at line number 1605
Test #341: 'include "shadow1"; include "shadow2"; e' at line number 1609
Test #342: 'import "shadow1" as f; import "shadow2" as f; import "shadow1" as e; [e::e, f::e]' at line number 1613
Test #343: 'module (.+1); 0' at line number 1618
Test #344: 'module []; 0' at line number 1622
Test #345: 'include "a" (.+1); 0' at line number 1626
Test #346: 'include "a" []; 0' at line number 1630
Test #347: 'include "\ "; 0' at line number 1634
Test #348: 'include "\(a)"; 0' at line number 1638
Test #349: 'modulemeta' at line number 1641
Test #350: 'modulemeta | .deps | length' at line number 1645
Test #351: 'modulemeta | .defs | length' at line number 1649
Test #352: 'import "syntaxerror" as e; .' at line number 1654
Test #353: '%::wat' at line number 1658
Test #354: 'import "test_bind_order" as check; check::check' at line number 1661
Test #355: 'try -. catch .' at line number 1665
Test #356: 'join(",")' at line number 1669
Test #357: '.[] | join(",")' at line number 1673
Test #358: '.[] | join(",")' at line number 1680
Test #359: 'try join(",") catch .' at line number 1685
Test #360: 'try join(",") catch .' at line number 1689
Test #361: '{if:0,and:1,or:2,then:3,else:4,elif:5,end:6,as:7,def:8,reduce:9,foreach:10,try:11,catch:12,label:13,import:14,include:15,module:16}' at line number 1693
Test #362: 'try (1/.) catch .' at line number 1697
Test #363: 'try (1/0) catch .' at line number 1701
Test #364: 'try (0/0) catch .' at line number 1705
Test #365: 'try (1%.) catch .' at line number 1709
Test #366: 'try (1%0) catch .' at line number 1713
Test #367: '[range(-52;52;1)] as $powers | [$powers[]|pow(2;.)|log2|round] == $powers' at line number 1718
Test #368: '[range(-99/2;99/2;1)] as $orig | [$orig[]|pow(2;.)|log2] as $back | ($orig|keys)[]|. as $k | (($orig|.[$k])-($back|.[$k]))|if . < 0 then . * -1 else . end|select(.>.00005)' at line number 1722
Test #369: '}' at line number 1726
Test #370: '(.[{}] = 0)?' at line number 1729
Test #371: 'INDEX(range(5)|[., "foo\(.)"]; .[0])' at line number 1732
Test #372: 'JOIN({"0":[0,"abc"],"1":[1,"bcd"],"2":[2,"def"],"3":[3,"efg"],"4":[4,"fgh"]}; .[0]|tostring)' at line number 1736
Test #373: 'range(5;10)|IN(range(10))' at line number 1740
Test #374: 'range(5;13)|IN(range(0;10;3))' at line number 1748
Test #375: 'range(10;12)|IN(range(10))' at line number 1759
Test #376: 'IN(range(10;20); range(10))' at line number 1764
Test #377: 'IN(range(5;20); range(10))' at line number 1768
Test #378: '(.a as $x | .b) = "b"' at line number 1773
Test #379: '(.. | select(type == "object" and has("b") and (.b | type) == "array")|.b) |= .[0]' at line number 1778
Test #380: 'isempty(empty)' at line number 1782
Test #381: 'isempty(range(3))' at line number 1786
Test #382: 'isempty(1,error("foo"))' at line number 1790
Test #383: 'index("")' at line number 1795
Test #384: 'builtins|length > 10' at line number 1800
Test #385: '"-1"|IN(builtins[] / "/"|.[1])' at line number 1804
Test #386: 'all(builtins[] / "/"; .[1]|tonumber >= 0)' at line number 1808
Test #387: 'builtins|any(.[:1] == "_")' at line number 1812
Test #388: 'map(. == 1)' at line number 1833
Test #389: '.[0] | tostring' at line number 1839
Test #390: '.x | tojson' at line number 1843
Test #391: '13911860366432393 == 13911860366432392' at line number 1847
Test #392: '. - 10' at line number 1854
Test #393: '.[0] - 10' at line number 1858
Test #394: '.x - 10' at line number 1862
Test #395: '. |= try . catch .' at line number 1866
Test #396: 'abs' at line number 1871
Test #397: 'map(abs)' at line number 1875
Test #398: 'map(fabs == length) | unique' at line number 1879
Test #399: 'map(abs)' at line number 1884
Test #400: '123 as $label | $label' at line number 1890
Test #401: '[ label $if | range(10) | ., (select(. == 5) | break $if) ]' at line number 1894
Test #402: 'reduce .[] as $then (4 as $else | $else; . as $elif | . + $then * $elif)' at line number 1898
Test #403: '1 as $foreach | 2 as $and | 3 as $or | { $foreach, $and, $or, a }' at line number 1902
Test #404: '[ foreach .[] as $try (1 as $catch | $catch - 1; . + $try; .) ]' at line number 1906
Test #405: '{ a, $__loc__, c }' at line number 1913
Test #406: '1 as $x | "2" as $y | "3" as $z | { $x, as, $y: 4, ($z): 5, if: 6, foo: 7 }' at line number 1917
Test #407: 'fromjson | isnan' at line number 1924
Test #408: 'tojson | fromjson' at line number 1928
Test #409: 'try input catch .' at line number 1935
Test #410: 'debug' at line number 1939
Test #411: '"foo" | try ((try . catch "caught too much") | error) catch "caught just right"' at line number 1944
Test #412: '.[]|(try (if .=="hi" then . else error end) catch empty) | "\(.) there!"' at line number 1948
Test #413: 'try (["hi","ho"]|.[]|(try . catch (if .=="ho" then "BROKEN"|error else empty end)) | if .=="ho" then error else "\(.) there!" end) catch "caught outside \(.)"' at line number 1952
Test #414: '.[]|(try . catch (if .=="ho" then "BROKEN"|error else empty end)) | if .=="ho" then error else "\(.) there!" end' at line number 1957
Test #415: 'try (try error catch "inner catch \(.)") catch "outer catch \(.)"' at line number 1961
Test #416: 'try ((try error catch "inner catch \(.)")|error) catch "outer catch \(.)"' at line number 1965
Test #417: 'first(.?,.?)' at line number 1970
Test #418: '{foo: "bar"} | .foo |= .?' at line number 1975
Test #419: '. |= try 2' at line number 1980
Test #420: '. |= try 2 catch 3' at line number 1984
Test #421: '.[] |= try tonumber' at line number 1988
Test #422: 'any(keys[]|tostring?;true)' at line number 1993
Test #423: 'implode|explode' at line number 2001
Test #424: 'map(try implode catch .)' at line number 2005
Test #425: 'walk(.)' at line number 2010
Test #426: 'walk(1)' at line number 2014
Test #427: '[walk(.,1)]' at line number 2019
Test #428: 'walk(select(IN({}, []) | not))' at line number 2024
Test #429: '[range(10)] | .[1.2:3.5]' at line number 2029
Test #430: '[range(10)] | .[1.5:3.5]' at line number 2033
Test #431: '[range(10)] | .[1.7:3.5]' at line number 2037
Test #432: '[range(10)] | .[1.7:4294967295]' at line number 2041
Test #433: '[range(10)] | .[1.7:-4294967296]' at line number 2045
Test #434: '[[range(10)] | .[1.1,1.5,1.7]]' at line number 2049
Test #435: '[range(5)] | .[1.1] = 5' at line number 2053
Test #436: '[range(3)] | .[nan:1]' at line number 2057
Test #437: '[range(3)] | .[1:nan]' at line number 2061
Test #438: '[range(3)] | .[nan]' at line number 2065
Test #439: 'try ([range(3)] | .[nan] = 9) catch .' at line number 2069
Test #440: 'try ("foobar" | .[1.5:3.5] = "xyz") catch .' at line number 2073
Test #441: 'try ([range(10)] | .[1.5:3.5] = ["xyz"]) catch .' at line number 2077
Test #442: 'try ("foobar" | .[1.5]) catch .' at line number 2081
441 of 442 tests passed (0 malformed, 0 skipped)