-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
draft3.json
632 lines (632 loc) · 223 KB
/
draft3.json
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
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
{"implementations": {"python-jsonschema": {"name": "jsonschema", "language": "python", "homepage": "https://python-jsonschema.readthedocs.io/", "issues": "https://github.com/python-jsonschema/jsonschema/issues", "source": "https://github.com/python-jsonschema/jsonschema", "dialects": ["https://json-schema.org/draft/2020-12/schema", "https://json-schema.org/draft/2019-09/schema", "http://json-schema.org/draft-07/schema#", "http://json-schema.org/draft-06/schema#", "http://json-schema.org/draft-04/schema#", "http://json-schema.org/draft-03/schema#"], "version": "4.23.0", "language_version": "3.12.7", "os": "Linux", "os_version": "6.5.0-1025-azure", "documentation": "https://python-jsonschema.readthedocs.io/", "links": []}, "js-jsonschema": {"name": "jsonschema", "language": "javascript", "homepage": "https://github.com/tdegrunt/jsonschema", "issues": "https://github.com/tdegrunt/jsonschema/issues", "source": "https://github.com/tdegrunt/jsonschema", "dialects": ["http://json-schema.org/draft-07/schema#", "http://json-schema.org/draft-06/schema#", "http://json-schema.org/draft-04/schema#", "http://json-schema.org/draft-03/schema#"], "version": "1.4.1", "language_version": "v23.2.0", "os": "linux", "os_version": "6.5.0-1025-azure", "links": []}, "java-json-tools-json-schema-validator": {"name": "com.github.java-json-tools-json-schema-validator", "language": "java", "homepage": "https://github.com/java-json-tools/json-schema-validator", "issues": "https://github.com/java-json-tools/json-schema-validator/issues", "source": "https://github.com/java-json-tools/json-schema-validator", "dialects": ["http://json-schema.org/draft-04/schema#", "http://json-schema.org/draft-03/schema#"], "version": "2.2.14", "language_version": "23.0.1+13", "os": "Linux", "os_version": "6.5.0-1025-azure", "documentation": "https://github.com/java-json-tools/json-schema-validator", "links": []}, "php-justinrainbow-json-schema": {"name": "justinrainbow-json-schema", "language": "php", "homepage": "https://github.com/jsonrainbow/json-schema", "issues": "https://github.com/jsonrainbow/json-schema/issues", "source": "https://github.com/jsonrainbow/json-schema", "dialects": ["http://json-schema.org/draft-04/schema#", "http://json-schema.org/draft-03/schema#"], "version": "dev-master", "language_version": "8.4.0RC4", "os": "Linux", "os_version": "6.5.0-1025-azure", "documentation": "https://github.com/jsonrainbow/json-schema/wiki", "links": []}, "java-jsonschemafriend": {"name": "jsonschemafriend", "language": "java", "homepage": "https://github.com/jimblackler/jsonschemafriend", "issues": "https://github.com/jimblackler/jsonschemafriend/issues", "source": "https://github.com/jimblackler/jsonschemafriend", "dialects": ["https://json-schema.org/draft/2020-12/schema", "https://json-schema.org/draft/2019-09/schema", "http://json-schema.org/draft-07/schema#", "http://json-schema.org/draft-06/schema#", "http://json-schema.org/draft-04/schema#", "http://json-schema.org/draft-03/schema#"], "version": "0.12.4", "language_version": "23.0.1+13", "os": "Linux", "os_version": "6.5.0-1025-azure", "links": [{"description": "Maven Central - used JSON provider", "url": "https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind/2.18.1"}]}}, "bowtie_version": "2024.11.7", "metadata": {"Commit": {"text": "82a0774", "href": "https://github.com/json-schema-org/JSON-Schema-Test-Suite/commit/82a077498cc761d69e8530c721702be980926c89"}}, "dialect": "http://json-schema.org/draft-03/schema#", "started": "2024-11-21T01:59:32.540466+00:00"}
{"seq": 1, "case": {"description": "additionalItems as schema", "schema": {"items": [], "additionalItems": {"type": "integer"}}, "tests": [{"description": "additional items match schema", "instance": [1, 2, 3, 4], "valid": true}, {"description": "additional items do not match schema", "instance": [1, 2, 3, "foo"], "valid": false}]}}
{"seq": 1, "implementation": "python-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 1, "implementation": "php-justinrainbow-json-schema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 1, "implementation": "js-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 1, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 1, "implementation": "java-jsonschemafriend", "expected": [true, false], "context": {"message": "{valid=false, keywordLocation=http://json-schema.org/draft-04/schema, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#, instanceLocation=, errors=[{valid=false, error=All anyOf failed: [[[] at #/items failed against http://json-schema.org/draft-04/schema with \"Expected: [object] Found: [array]\"], [[] at #/items failed against http://json-schema.org/draft-04/schema#/definitions/schemaArray with \"Below min items: 1\"]], keywordLocation=http://json-schema.org/draft-04/schema#/properties/items, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#/properties/items, instanceLocation=#/items}]}", "traceback": "net.jimblackler.jsonschemafriend.StandardGenerationException: {valid=false, keywordLocation=http://json-schema.org/draft-04/schema, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#, instanceLocation=, errors=[{valid=false, error=All anyOf failed: [[[] at #/items failed against http://json-schema.org/draft-04/schema with \"Expected: [object] Found: [array]\"], [[] at #/items failed against http://json-schema.org/draft-04/schema#/definitions/schemaArray with \"Below min items: 1\"]], keywordLocation=http://json-schema.org/draft-04/schema#/properties/items, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#/properties/items, instanceLocation=#/items}]}\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:233)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:138)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:94)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:86)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchemaJson(SchemaStore.java:131)\n\tat BowtieJsonSchemaFriend.run(BowtieJsonSchemaFriend.java:118)\n\tat BowtieJsonSchemaFriend.handle(BowtieJsonSchemaFriend.java:42)\n\tat java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)\n\tat java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)\n\tat java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:807)\n\tat BowtieJsonSchemaFriend.run(BowtieJsonSchemaFriend.java:32)\n\tat BowtieJsonSchemaFriend.main(BowtieJsonSchemaFriend.java:26)\n"}, "message": "", "caught": true, "errored": true}
{"seq": 2, "case": {"description": "when items is schema, additionalItems does nothing", "schema": {"items": {}, "additionalItems": false}, "tests": [{"description": "all items match schema", "instance": [1, 2, 3, 4, 5], "valid": true}]}}
{"seq": 2, "implementation": "python-jsonschema", "expected": [true], "results": [{"valid": true}]}
{"seq": 2, "implementation": "php-justinrainbow-json-schema", "expected": [true], "results": [{"valid": true}]}
{"seq": 2, "implementation": "java-json-tools-json-schema-validator", "expected": [true], "results": [{"valid": true}]}
{"seq": 2, "implementation": "js-jsonschema", "expected": [true], "results": [{"valid": true}]}
{"seq": 2, "implementation": "java-jsonschemafriend", "expected": [true], "results": [{"valid": true}]}
{"seq": 3, "case": {"description": "array of items with no additionalItems permitted", "schema": {"items": [{}, {}, {}], "additionalItems": false}, "tests": [{"description": "empty array", "instance": [], "valid": true}, {"description": "fewer number of items present (1)", "instance": [1], "valid": true}, {"description": "fewer number of items present (2)", "instance": [1, 2], "valid": true}, {"description": "equal number of items present", "instance": [1, 2, 3], "valid": true}, {"description": "additional items are not permitted", "instance": [1, 2, 3, 4], "valid": false}]}}
{"seq": 3, "implementation": "python-jsonschema", "expected": [true, true, true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 3, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 3, "implementation": "js-jsonschema", "expected": [true, true, true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 3, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 3, "implementation": "java-jsonschemafriend", "expected": [true, true, true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 4, "case": {"description": "additionalItems as false without items", "schema": {"additionalItems": false}, "tests": [{"description": "items defaults to empty schema so everything is valid", "instance": [1, 2, 3, 4, 5], "valid": true}, {"description": "ignores non-arrays", "instance": {"foo": "bar"}, "valid": true}]}}
{"seq": 4, "implementation": "python-jsonschema", "expected": [true, true], "results": [{"valid": true}, {"valid": true}]}
{"seq": 4, "implementation": "php-justinrainbow-json-schema", "expected": [true, true], "results": [{"valid": true}, {"valid": true}]}
{"seq": 4, "implementation": "js-jsonschema", "expected": [true, true], "results": [{"valid": true}, {"valid": true}]}
{"seq": 4, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true], "results": [{"valid": true}, {"valid": true}]}
{"seq": 4, "implementation": "java-jsonschemafriend", "expected": [true, true], "results": [{"valid": true}, {"valid": true}]}
{"seq": 5, "case": {"description": "additionalItems are allowed by default", "schema": {"items": [{"type": "integer"}]}, "tests": [{"description": "only the first item is validated", "instance": [1, "foo", false], "valid": true}]}}
{"seq": 5, "implementation": "python-jsonschema", "expected": [true], "results": [{"valid": true}]}
{"seq": 5, "implementation": "php-justinrainbow-json-schema", "expected": [true], "results": [{"valid": true}]}
{"seq": 5, "implementation": "java-json-tools-json-schema-validator", "expected": [true], "results": [{"valid": true}]}
{"seq": 5, "implementation": "js-jsonschema", "expected": [true], "results": [{"valid": true}]}
{"seq": 5, "implementation": "java-jsonschemafriend", "expected": [true], "results": [{"valid": true}]}
{"seq": 6, "case": {"description": "additionalItems does not look in applicators", "schema": {"extends": [{"items": [{"type": "integer"}]}], "additionalItems": {"type": "boolean"}}, "tests": [{"description": "items defined in extends are not examined", "instance": [1, null], "valid": true}]}}
{"seq": 6, "implementation": "python-jsonschema", "expected": [true], "results": [{"valid": true}]}
{"seq": 6, "implementation": "php-justinrainbow-json-schema", "expected": [true], "results": [{"valid": true}]}
{"seq": 6, "implementation": "java-json-tools-json-schema-validator", "expected": [true], "results": [{"valid": false}]}
{"seq": 6, "implementation": "js-jsonschema", "expected": [true], "results": [{"valid": false}]}
{"seq": 6, "implementation": "java-jsonschemafriend", "expected": [true], "results": [{"valid": true}]}
{"seq": 7, "case": {"description": "additionalItems with heterogeneous array", "schema": {"items": [{}], "additionalItems": false}, "tests": [{"description": "heterogeneous invalid instance", "instance": ["foo", "bar", 37], "valid": false}, {"description": "valid instance", "instance": [null], "valid": true}]}}
{"seq": 7, "implementation": "python-jsonschema", "expected": [false, true], "results": [{"valid": false}, {"valid": true}]}
{"seq": 7, "implementation": "php-justinrainbow-json-schema", "expected": [false, true], "results": [{"valid": false}, {"valid": true}]}
{"seq": 7, "implementation": "java-jsonschemafriend", "expected": [false, true], "results": [{"valid": false}, {"valid": true}]}
{"seq": 7, "implementation": "js-jsonschema", "expected": [false, true], "results": [{"valid": false}, {"valid": true}]}
{"seq": 7, "implementation": "java-json-tools-json-schema-validator", "expected": [false, true], "results": [{"valid": false}, {"valid": true}]}
{"seq": 8, "case": {"description": "additionalItems with null instance elements", "schema": {"additionalItems": {"type": "null"}}, "tests": [{"description": "allows null elements", "instance": [null], "valid": true}]}}
{"seq": 8, "implementation": "python-jsonschema", "expected": [true], "results": [{"valid": true}]}
{"seq": 8, "implementation": "php-justinrainbow-json-schema", "expected": [true], "results": [{"valid": true}]}
{"seq": 8, "implementation": "java-json-tools-json-schema-validator", "expected": [true], "results": [{"valid": true}]}
{"seq": 8, "implementation": "js-jsonschema", "expected": [true], "results": [{"valid": true}]}
{"seq": 8, "implementation": "java-jsonschemafriend", "expected": [true], "results": [{"valid": true}]}
{"seq": 9, "case": {"description": "additionalProperties being false does not allow other properties", "schema": {"properties": {"foo": {}, "bar": {}}, "patternProperties": {"^v": {}}, "additionalProperties": false}, "tests": [{"description": "no additional properties is valid", "instance": {"foo": 1}, "valid": true}, {"description": "an additional property is invalid", "instance": {"foo": 1, "bar": 2, "quux": "boom"}, "valid": false}, {"description": "ignores arrays", "instance": [1, 2, 3], "valid": true}, {"description": "ignores strings", "instance": "foobarbaz", "valid": true}, {"description": "ignores other non-objects", "instance": 12, "valid": true}, {"description": "patternProperties are not additional properties", "instance": {"foo": 1, "vroom": 2}, "valid": true}]}}
{"seq": 9, "implementation": "python-jsonschema", "expected": [true, false, true, true, true, true], "results": [{"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 9, "implementation": "php-justinrainbow-json-schema", "expected": [true, false, true, true, true, true], "results": [{"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 9, "implementation": "js-jsonschema", "expected": [true, false, true, true, true, true], "results": [{"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 9, "implementation": "java-jsonschemafriend", "expected": [true, false, true, true, true, true], "results": [{"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 9, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false, true, true, true, true], "results": [{"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 10, "case": {"description": "non-ASCII pattern with additionalProperties", "schema": {"patternProperties": {"^\u00e1": {}}, "additionalProperties": false}, "tests": [{"description": "matching the pattern is valid", "instance": {"\u00e1rm\u00e1nyos": 2}, "valid": true}, {"description": "not matching the pattern is invalid", "instance": {"\u00e9lm\u00e9ny": 2}, "valid": false}]}}
{"seq": 10, "implementation": "python-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 10, "implementation": "php-justinrainbow-json-schema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 10, "implementation": "js-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 10, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 10, "implementation": "java-jsonschemafriend", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 11, "case": {"description": "additionalProperties with schema", "schema": {"properties": {"foo": {}, "bar": {}}, "additionalProperties": {"type": "boolean"}}, "tests": [{"description": "no additional properties is valid", "instance": {"foo": 1}, "valid": true}, {"description": "an additional valid property is valid", "instance": {"foo": 1, "bar": 2, "quux": true}, "valid": true}, {"description": "an additional invalid property is invalid", "instance": {"foo": 1, "bar": 2, "quux": 12}, "valid": false}]}}
{"seq": 11, "implementation": "python-jsonschema", "expected": [true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 11, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 11, "implementation": "js-jsonschema", "expected": [true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 11, "implementation": "java-jsonschemafriend", "expected": [true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 11, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 12, "case": {"description": "additionalProperties can exist by itself", "schema": {"additionalProperties": {"type": "boolean"}}, "tests": [{"description": "an additional valid property is valid", "instance": {"foo": true}, "valid": true}, {"description": "an additional invalid property is invalid", "instance": {"foo": 1}, "valid": false}]}}
{"seq": 12, "implementation": "python-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 12, "implementation": "php-justinrainbow-json-schema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 12, "implementation": "js-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 12, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 12, "implementation": "java-jsonschemafriend", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 13, "case": {"description": "additionalProperties are allowed by default", "schema": {"properties": {"foo": {}, "bar": {}}}, "tests": [{"description": "additional properties are allowed", "instance": {"foo": 1, "bar": 2, "quux": true}, "valid": true}]}}
{"seq": 13, "implementation": "python-jsonschema", "expected": [true], "results": [{"valid": true}]}
{"seq": 13, "implementation": "php-justinrainbow-json-schema", "expected": [true], "results": [{"valid": true}]}
{"seq": 13, "implementation": "js-jsonschema", "expected": [true], "results": [{"valid": true}]}
{"seq": 13, "implementation": "java-json-tools-json-schema-validator", "expected": [true], "results": [{"valid": true}]}
{"seq": 13, "implementation": "java-jsonschemafriend", "expected": [true], "results": [{"valid": true}]}
{"seq": 14, "case": {"description": "additionalProperties does not look in applicators", "schema": {"extends": [{"properties": {"foo": {}}}], "additionalProperties": {"type": "boolean"}}, "tests": [{"description": "properties defined in extends are not examined", "instance": {"foo": 1, "bar": true}, "valid": false}]}}
{"seq": 14, "implementation": "python-jsonschema", "expected": [false], "results": [{"valid": false}]}
{"seq": 14, "implementation": "js-jsonschema", "expected": [false], "results": [{"valid": true}]}
{"seq": 14, "implementation": "php-justinrainbow-json-schema", "expected": [false], "results": [{"valid": false}]}
{"seq": 14, "implementation": "java-json-tools-json-schema-validator", "expected": [false], "results": [{"valid": false}]}
{"seq": 14, "implementation": "java-jsonschemafriend", "expected": [false], "results": [{"valid": false}]}
{"seq": 15, "case": {"description": "additionalProperties with null valued instance properties", "schema": {"additionalProperties": {"type": "null"}}, "tests": [{"description": "allows null values", "instance": {"foo": null}, "valid": true}]}}
{"seq": 15, "implementation": "python-jsonschema", "expected": [true], "results": [{"valid": true}]}
{"seq": 15, "implementation": "php-justinrainbow-json-schema", "expected": [true], "results": [{"valid": true}]}
{"seq": 15, "implementation": "js-jsonschema", "expected": [true], "results": [{"valid": true}]}
{"seq": 15, "implementation": "java-json-tools-json-schema-validator", "expected": [true], "results": [{"valid": true}]}
{"seq": 15, "implementation": "java-jsonschemafriend", "expected": [true], "results": [{"valid": true}]}
{"seq": 16, "case": {"description": "invalid type for default", "schema": {"properties": {"foo": {"type": "integer", "default": []}}}, "tests": [{"description": "valid when property is specified", "instance": {"foo": 13}, "valid": true}, {"description": "still valid when the invalid default is used", "instance": {}, "valid": true}]}}
{"seq": 16, "implementation": "python-jsonschema", "expected": [true, true], "results": [{"valid": true}, {"valid": true}]}
{"seq": 16, "implementation": "php-justinrainbow-json-schema", "expected": [true, true], "results": [{"valid": true}, {"valid": true}]}
{"seq": 16, "implementation": "js-jsonschema", "expected": [true, true], "results": [{"valid": true}, {"valid": true}]}
{"seq": 16, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true], "results": [{"valid": true}, {"valid": true}]}
{"seq": 16, "implementation": "java-jsonschemafriend", "expected": [true, true], "results": [{"valid": true}, {"valid": true}]}
{"seq": 17, "case": {"description": "invalid string value for default", "schema": {"properties": {"bar": {"type": "string", "minLength": 4, "default": "bad"}}}, "tests": [{"description": "valid when property is specified", "instance": {"bar": "good"}, "valid": true}, {"description": "still valid when the invalid default is used", "instance": {}, "valid": true}]}}
{"seq": 17, "implementation": "python-jsonschema", "expected": [true, true], "results": [{"valid": true}, {"valid": true}]}
{"seq": 17, "implementation": "php-justinrainbow-json-schema", "expected": [true, true], "results": [{"valid": true}, {"valid": true}]}
{"seq": 17, "implementation": "js-jsonschema", "expected": [true, true], "results": [{"valid": true}, {"valid": true}]}
{"seq": 17, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true], "results": [{"valid": true}, {"valid": true}]}
{"seq": 17, "implementation": "java-jsonschemafriend", "expected": [true, true], "results": [{"valid": true}, {"valid": true}]}
{"seq": 18, "case": {"description": "the default keyword does not do anything if the property is missing", "schema": {"type": "object", "properties": {"alpha": {"type": "number", "maximum": 3, "default": 5}}}, "tests": [{"description": "an explicit property value is checked against maximum (passing)", "instance": {"alpha": 1}, "valid": true}, {"description": "an explicit property value is checked against maximum (failing)", "instance": {"alpha": 5}, "valid": false}, {"description": "missing properties are not filled in with the default", "instance": {}, "valid": true}]}}
{"seq": 18, "implementation": "python-jsonschema", "expected": [true, false, true], "results": [{"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 18, "implementation": "php-justinrainbow-json-schema", "expected": [true, false, true], "results": [{"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 18, "implementation": "js-jsonschema", "expected": [true, false, true], "results": [{"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 18, "implementation": "java-jsonschemafriend", "expected": [true, false, true], "results": [{"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 18, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false, true], "results": [{"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 19, "case": {"description": "dependencies", "schema": {"dependencies": {"bar": "foo"}}, "tests": [{"description": "neither", "instance": {}, "valid": true}, {"description": "nondependant", "instance": {"foo": 1}, "valid": true}, {"description": "with dependency", "instance": {"foo": 1, "bar": 2}, "valid": true}, {"description": "missing dependency", "instance": {"bar": 2}, "valid": false}, {"description": "ignores arrays", "instance": ["bar"], "valid": true}, {"description": "ignores strings", "instance": "foobar", "valid": true}, {"description": "ignores other non-objects", "instance": 12, "valid": true}]}}
{"seq": 19, "implementation": "python-jsonschema", "expected": [true, true, true, false, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 19, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, true, false, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 19, "implementation": "js-jsonschema", "expected": [true, true, true, false, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 19, "implementation": "java-jsonschemafriend", "expected": [true, true, true, false, true, true, true], "context": {"message": "{valid=false, keywordLocation=http://json-schema.org/draft-04/schema, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#, instanceLocation=, errors=[{valid=false, error=All anyOf failed: [[\"foo\" at #/dependencies/bar failed against http://json-schema.org/draft-04/schema with \"Expected: [object] Found: [string]\"], [\"foo\" at #/dependencies/bar failed against http://json-schema.org/draft-04/schema#/definitions/stringArray with \"Expected: [array] Found: [string]\"]], keywordLocation=http://json-schema.org/draft-04/schema#/properties/dependencies/additionalProperties, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#/properties/dependencies/additionalProperties, instanceLocation=#/dependencies/bar}]}", "traceback": "net.jimblackler.jsonschemafriend.StandardGenerationException: {valid=false, keywordLocation=http://json-schema.org/draft-04/schema, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#, instanceLocation=, errors=[{valid=false, error=All anyOf failed: [[\"foo\" at #/dependencies/bar failed against http://json-schema.org/draft-04/schema with \"Expected: [object] Found: [string]\"], [\"foo\" at #/dependencies/bar failed against http://json-schema.org/draft-04/schema#/definitions/stringArray with \"Expected: [array] Found: [string]\"]], keywordLocation=http://json-schema.org/draft-04/schema#/properties/dependencies/additionalProperties, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#/properties/dependencies/additionalProperties, instanceLocation=#/dependencies/bar}]}\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:233)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:138)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:94)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:86)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchemaJson(SchemaStore.java:131)\n\tat BowtieJsonSchemaFriend.run(BowtieJsonSchemaFriend.java:118)\n\tat BowtieJsonSchemaFriend.handle(BowtieJsonSchemaFriend.java:42)\n\tat java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)\n\tat java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)\n\tat java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:807)\n\tat BowtieJsonSchemaFriend.run(BowtieJsonSchemaFriend.java:32)\n\tat BowtieJsonSchemaFriend.main(BowtieJsonSchemaFriend.java:26)\n"}, "message": "", "caught": true, "errored": true}
{"seq": 19, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, true, false, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 20, "case": {"description": "multiple dependencies", "schema": {"dependencies": {"quux": ["foo", "bar"]}}, "tests": [{"description": "neither", "instance": {}, "valid": true}, {"description": "nondependants", "instance": {"foo": 1, "bar": 2}, "valid": true}, {"description": "with dependencies", "instance": {"foo": 1, "bar": 2, "quux": 3}, "valid": true}, {"description": "missing dependency", "instance": {"foo": 1, "quux": 2}, "valid": false}, {"description": "missing other dependency", "instance": {"bar": 1, "quux": 2}, "valid": false}, {"description": "missing both dependencies", "instance": {"quux": 1}, "valid": false}]}}
{"seq": 20, "implementation": "python-jsonschema", "expected": [true, true, true, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 20, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, true, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 20, "implementation": "js-jsonschema", "expected": [true, true, true, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 20, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, true, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 20, "implementation": "java-jsonschemafriend", "expected": [true, true, true, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 21, "case": {"description": "multiple dependencies subschema", "schema": {"dependencies": {"bar": {"properties": {"foo": {"type": "integer"}, "bar": {"type": "integer"}}}}}, "tests": [{"description": "valid", "instance": {"foo": 1, "bar": 2}, "valid": true}, {"description": "no dependency", "instance": {"foo": "quux"}, "valid": true}, {"description": "wrong type", "instance": {"foo": "quux", "bar": 2}, "valid": false}, {"description": "wrong type other", "instance": {"foo": 2, "bar": "quux"}, "valid": false}, {"description": "wrong type both", "instance": {"foo": "quux", "bar": "quux"}, "valid": false}]}}
{"seq": 21, "implementation": "python-jsonschema", "expected": [true, true, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 21, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 21, "implementation": "js-jsonschema", "expected": [true, true, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 21, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 21, "implementation": "java-jsonschemafriend", "expected": [true, true, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 22, "case": {"description": "disallow", "schema": {"disallow": "integer"}, "tests": [{"description": "allowed", "instance": "foo", "valid": true}, {"description": "disallowed", "instance": 1, "valid": false}]}}
{"seq": 22, "implementation": "python-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 22, "implementation": "php-justinrainbow-json-schema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 22, "implementation": "js-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 22, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 22, "implementation": "java-jsonschemafriend", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 23, "case": {"description": "multiple disallow", "schema": {"disallow": ["integer", "boolean"]}, "tests": [{"description": "valid", "instance": "foo", "valid": true}, {"description": "mismatch", "instance": 1, "valid": false}, {"description": "other mismatch", "instance": true, "valid": false}]}}
{"seq": 23, "implementation": "python-jsonschema", "expected": [true, false, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 23, "implementation": "php-justinrainbow-json-schema", "expected": [true, false, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 23, "implementation": "js-jsonschema", "expected": [true, false, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 23, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 23, "implementation": "java-jsonschemafriend", "expected": [true, false, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 24, "case": {"description": "multiple disallow subschema", "schema": {"disallow": ["string", {"type": "object", "properties": {"foo": {"type": "string"}}}]}, "tests": [{"description": "match", "instance": 1, "valid": true}, {"description": "other match", "instance": {"foo": 1}, "valid": true}, {"description": "mismatch", "instance": "foo", "valid": false}, {"description": "other mismatch", "instance": {"foo": "bar"}, "valid": false}]}}
{"seq": 24, "implementation": "python-jsonschema", "expected": [true, true, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 24, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 24, "implementation": "js-jsonschema", "expected": [true, true, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 24, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 24, "implementation": "java-jsonschemafriend", "expected": [true, true, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 25, "case": {"description": "by int", "schema": {"divisibleBy": 2}, "tests": [{"description": "int by int", "instance": 10, "valid": true}, {"description": "int by int fail", "instance": 7, "valid": false}, {"description": "ignores non-numbers", "instance": "foo", "valid": true}]}}
{"seq": 25, "implementation": "python-jsonschema", "expected": [true, false, true], "results": [{"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 25, "implementation": "php-justinrainbow-json-schema", "expected": [true, false, true], "results": [{"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 25, "implementation": "js-jsonschema", "expected": [true, false, true], "results": [{"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 25, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false, true], "results": [{"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 25, "implementation": "java-jsonschemafriend", "expected": [true, false, true], "results": [{"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 26, "case": {"description": "by number", "schema": {"divisibleBy": 1.5}, "tests": [{"description": "zero is divisible by anything (except 0)", "instance": 0, "valid": true}, {"description": "4.5 is divisible by 1.5", "instance": 4.5, "valid": true}, {"description": "35 is not divisible by 1.5", "instance": 35, "valid": false}]}}
{"seq": 26, "implementation": "python-jsonschema", "expected": [true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 26, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 26, "implementation": "js-jsonschema", "expected": [true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 26, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 26, "implementation": "java-jsonschemafriend", "expected": [true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 27, "case": {"description": "by small number", "schema": {"divisibleBy": 0.0001}, "tests": [{"description": "0.0075 is divisible by 0.0001", "instance": 0.0075, "valid": true}, {"description": "0.00751 is not divisible by 0.0001", "instance": 0.00751, "valid": false}]}}
{"seq": 27, "implementation": "python-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 27, "implementation": "php-justinrainbow-json-schema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 27, "implementation": "js-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 27, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 27, "implementation": "java-jsonschemafriend", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 28, "case": {"description": "simple enum validation", "schema": {"enum": [1, 2, 3]}, "tests": [{"description": "one of the enum is valid", "instance": 1, "valid": true}, {"description": "something else is invalid", "instance": 4, "valid": false}]}}
{"seq": 28, "implementation": "python-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 28, "implementation": "js-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 28, "implementation": "php-justinrainbow-json-schema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 28, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 28, "implementation": "java-jsonschemafriend", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 29, "case": {"description": "heterogeneous enum validation", "schema": {"enum": [6, "foo", [], true, {"foo": 12}]}, "tests": [{"description": "one of the enum is valid", "instance": [], "valid": true}, {"description": "something else is invalid", "instance": null, "valid": false}, {"description": "objects are deep compared", "instance": {"foo": false}, "valid": false}]}}
{"seq": 29, "implementation": "python-jsonschema", "expected": [true, false, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 29, "implementation": "php-justinrainbow-json-schema", "expected": [true, false, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 29, "implementation": "js-jsonschema", "expected": [true, false, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 29, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 29, "implementation": "java-jsonschemafriend", "expected": [true, false, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 30, "case": {"description": "heterogeneous enum-with-null validation", "schema": {"enum": [6, null]}, "tests": [{"description": "null is valid", "instance": null, "valid": true}, {"description": "number is valid", "instance": 6, "valid": true}, {"description": "something else is invalid", "instance": "test", "valid": false}]}}
{"seq": 30, "implementation": "python-jsonschema", "expected": [true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 30, "implementation": "js-jsonschema", "expected": [true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 30, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 30, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 30, "implementation": "java-jsonschemafriend", "expected": [true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 31, "case": {"description": "enums in properties", "schema": {"type": "object", "properties": {"foo": {"enum": ["foo"]}, "bar": {"enum": ["bar"], "required": true}}}, "tests": [{"description": "both properties are valid", "instance": {"foo": "foo", "bar": "bar"}, "valid": true}, {"description": "wrong foo value", "instance": {"foo": "foot", "bar": "bar"}, "valid": false}, {"description": "wrong bar value", "instance": {"foo": "foo", "bar": "bart"}, "valid": false}, {"description": "missing optional property is valid", "instance": {"bar": "bar"}, "valid": true}, {"description": "missing required property is invalid", "instance": {"foo": "foo"}, "valid": false}, {"description": "missing all properties is invalid", "instance": {}, "valid": false}]}}
{"seq": 31, "implementation": "python-jsonschema", "expected": [true, false, false, true, false, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 31, "implementation": "php-justinrainbow-json-schema", "expected": [true, false, false, true, false, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 31, "implementation": "js-jsonschema", "expected": [true, false, false, true, false, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 31, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false, false, true, false, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 31, "implementation": "java-jsonschemafriend", "expected": [true, false, false, true, false, false], "context": {"message": "{valid=false, keywordLocation=http://json-schema.org/draft-04/schema, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#, instanceLocation=, errors=[{valid=false, error=Expected: [array] Found: [boolean], keywordLocation=http://json-schema.org/draft-04/schema#/definitions/stringArray, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#/definitions/stringArray, instanceLocation=#/properties/bar/required}]}", "traceback": "net.jimblackler.jsonschemafriend.StandardGenerationException: {valid=false, keywordLocation=http://json-schema.org/draft-04/schema, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#, instanceLocation=, errors=[{valid=false, error=Expected: [array] Found: [boolean], keywordLocation=http://json-schema.org/draft-04/schema#/definitions/stringArray, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#/definitions/stringArray, instanceLocation=#/properties/bar/required}]}\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:233)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:138)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:94)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:86)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchemaJson(SchemaStore.java:131)\n\tat BowtieJsonSchemaFriend.run(BowtieJsonSchemaFriend.java:118)\n\tat BowtieJsonSchemaFriend.handle(BowtieJsonSchemaFriend.java:42)\n\tat java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)\n\tat java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)\n\tat java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:807)\n\tat BowtieJsonSchemaFriend.run(BowtieJsonSchemaFriend.java:32)\n\tat BowtieJsonSchemaFriend.main(BowtieJsonSchemaFriend.java:26)\n"}, "message": "", "caught": true, "errored": true}
{"seq": 32, "case": {"description": "nul characters in strings", "schema": {"enum": ["hello\u0000there"]}, "tests": [{"description": "match string with nul", "instance": "hello\u0000there", "valid": true}, {"description": "do not match string lacking nul", "instance": "hellothere", "valid": false}]}}
{"seq": 32, "implementation": "python-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 32, "implementation": "js-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 32, "implementation": "php-justinrainbow-json-schema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 32, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 32, "implementation": "java-jsonschemafriend", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 33, "case": {"description": "extends", "schema": {"properties": {"bar": {"type": "integer", "required": true}}, "extends": {"properties": {"foo": {"type": "string", "required": true}}}}, "tests": [{"description": "extends", "instance": {"foo": "baz", "bar": 2}, "valid": true}, {"description": "mismatch extends", "instance": {"foo": "baz"}, "valid": false}, {"description": "mismatch extended", "instance": {"bar": 2}, "valid": false}, {"description": "wrong type", "instance": {"foo": "baz", "bar": "quux"}, "valid": false}]}}
{"seq": 33, "implementation": "python-jsonschema", "expected": [true, false, false, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 33, "implementation": "php-justinrainbow-json-schema", "expected": [true, false, false, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 33, "implementation": "js-jsonschema", "expected": [true, false, false, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 33, "implementation": "java-jsonschemafriend", "expected": [true, false, false, false], "context": {"message": "{valid=false, keywordLocation=http://json-schema.org/draft-04/schema, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#, instanceLocation=, errors=[{valid=false, error=Expected: [array] Found: [boolean], keywordLocation=http://json-schema.org/draft-04/schema#/definitions/stringArray, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#/definitions/stringArray, instanceLocation=#/properties/bar/required}]}", "traceback": "net.jimblackler.jsonschemafriend.StandardGenerationException: {valid=false, keywordLocation=http://json-schema.org/draft-04/schema, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#, instanceLocation=, errors=[{valid=false, error=Expected: [array] Found: [boolean], keywordLocation=http://json-schema.org/draft-04/schema#/definitions/stringArray, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#/definitions/stringArray, instanceLocation=#/properties/bar/required}]}\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:233)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:138)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:94)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:86)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchemaJson(SchemaStore.java:131)\n\tat BowtieJsonSchemaFriend.run(BowtieJsonSchemaFriend.java:118)\n\tat BowtieJsonSchemaFriend.handle(BowtieJsonSchemaFriend.java:42)\n\tat java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)\n\tat java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)\n\tat java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:807)\n\tat BowtieJsonSchemaFriend.run(BowtieJsonSchemaFriend.java:32)\n\tat BowtieJsonSchemaFriend.main(BowtieJsonSchemaFriend.java:26)\n"}, "message": "", "caught": true, "errored": true}
{"seq": 33, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false, false, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 34, "case": {"description": "multiple extends", "schema": {"properties": {"bar": {"type": "integer", "required": true}}, "extends": [{"properties": {"foo": {"type": "string", "required": true}}}, {"properties": {"baz": {"type": "null", "required": true}}}]}, "tests": [{"description": "valid", "instance": {"foo": "quux", "bar": 2, "baz": null}, "valid": true}, {"description": "mismatch first extends", "instance": {"bar": 2, "baz": null}, "valid": false}, {"description": "mismatch second extends", "instance": {"foo": "quux", "bar": 2}, "valid": false}, {"description": "mismatch both", "instance": {"bar": 2}, "valid": false}]}}
{"seq": 34, "implementation": "python-jsonschema", "expected": [true, false, false, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 34, "implementation": "js-jsonschema", "expected": [true, false, false, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 34, "implementation": "php-justinrainbow-json-schema", "expected": [true, false, false, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 34, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false, false, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 34, "implementation": "java-jsonschemafriend", "expected": [true, false, false, false], "context": {"message": "{valid=false, keywordLocation=http://json-schema.org/draft-04/schema, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#, instanceLocation=, errors=[{valid=false, error=Expected: [array] Found: [boolean], keywordLocation=http://json-schema.org/draft-04/schema#/definitions/stringArray, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#/definitions/stringArray, instanceLocation=#/properties/bar/required}]}", "traceback": "net.jimblackler.jsonschemafriend.StandardGenerationException: {valid=false, keywordLocation=http://json-schema.org/draft-04/schema, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#, instanceLocation=, errors=[{valid=false, error=Expected: [array] Found: [boolean], keywordLocation=http://json-schema.org/draft-04/schema#/definitions/stringArray, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#/definitions/stringArray, instanceLocation=#/properties/bar/required}]}\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:233)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:138)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:94)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:86)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchemaJson(SchemaStore.java:131)\n\tat BowtieJsonSchemaFriend.run(BowtieJsonSchemaFriend.java:118)\n\tat BowtieJsonSchemaFriend.handle(BowtieJsonSchemaFriend.java:42)\n\tat java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)\n\tat java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)\n\tat java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:807)\n\tat BowtieJsonSchemaFriend.run(BowtieJsonSchemaFriend.java:32)\n\tat BowtieJsonSchemaFriend.main(BowtieJsonSchemaFriend.java:26)\n"}, "message": "", "caught": true, "errored": true}
{"seq": 35, "case": {"description": "extends simple types", "schema": {"minimum": 20, "extends": {"maximum": 30}}, "tests": [{"description": "valid", "instance": 25, "valid": true}, {"description": "mismatch extends", "instance": 35, "valid": false}]}}
{"seq": 35, "implementation": "python-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 35, "implementation": "js-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 35, "implementation": "php-justinrainbow-json-schema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 35, "implementation": "java-jsonschemafriend", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 35, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 36, "case": {"description": "email format", "schema": {"format": "email"}, "tests": [{"description": "all string formats ignore integers", "instance": 12, "valid": true}, {"description": "all string formats ignore floats", "instance": 13.7, "valid": true}, {"description": "all string formats ignore objects", "instance": {}, "valid": true}, {"description": "all string formats ignore arrays", "instance": [], "valid": true}, {"description": "all string formats ignore booleans", "instance": false, "valid": true}, {"description": "all string formats ignore nulls", "instance": null, "valid": true}]}}
{"seq": 36, "implementation": "python-jsonschema", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 36, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, true, true, true, true], "results": [{"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 36, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 36, "implementation": "js-jsonschema", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 36, "implementation": "java-jsonschemafriend", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 37, "case": {"description": "ip-address format", "schema": {"format": "ip-address"}, "tests": [{"description": "all string formats ignore integers", "instance": 12, "valid": true}, {"description": "all string formats ignore floats", "instance": 13.7, "valid": true}, {"description": "all string formats ignore objects", "instance": {}, "valid": true}, {"description": "all string formats ignore arrays", "instance": [], "valid": true}, {"description": "all string formats ignore booleans", "instance": false, "valid": true}, {"description": "all string formats ignore nulls", "instance": null, "valid": true}]}}
{"seq": 37, "implementation": "python-jsonschema", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 37, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, true, true, true, true], "results": [{"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 37, "implementation": "js-jsonschema", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 37, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 37, "implementation": "java-jsonschemafriend", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 38, "case": {"description": "ipv6 format", "schema": {"format": "ipv6"}, "tests": [{"description": "all string formats ignore integers", "instance": 12, "valid": true}, {"description": "all string formats ignore floats", "instance": 13.7, "valid": true}, {"description": "all string formats ignore objects", "instance": {}, "valid": true}, {"description": "all string formats ignore arrays", "instance": [], "valid": true}, {"description": "all string formats ignore booleans", "instance": false, "valid": true}, {"description": "all string formats ignore nulls", "instance": null, "valid": true}]}}
{"seq": 38, "implementation": "python-jsonschema", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 38, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, true, true, true, true], "results": [{"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 38, "implementation": "js-jsonschema", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 38, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 38, "implementation": "java-jsonschemafriend", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 39, "case": {"description": "host-name format", "schema": {"format": "host-name"}, "tests": [{"description": "all string formats ignore integers", "instance": 12, "valid": true}, {"description": "all string formats ignore floats", "instance": 13.7, "valid": true}, {"description": "all string formats ignore objects", "instance": {}, "valid": true}, {"description": "all string formats ignore arrays", "instance": [], "valid": true}, {"description": "all string formats ignore booleans", "instance": false, "valid": true}, {"description": "all string formats ignore nulls", "instance": null, "valid": true}]}}
{"seq": 39, "implementation": "python-jsonschema", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 39, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 39, "implementation": "js-jsonschema", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 39, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 39, "implementation": "java-jsonschemafriend", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 40, "case": {"description": "date-time format", "schema": {"format": "date-time"}, "tests": [{"description": "all string formats ignore integers", "instance": 12, "valid": true}, {"description": "all string formats ignore floats", "instance": 13.7, "valid": true}, {"description": "all string formats ignore objects", "instance": {}, "valid": true}, {"description": "all string formats ignore arrays", "instance": [], "valid": true}, {"description": "all string formats ignore booleans", "instance": false, "valid": true}, {"description": "all string formats ignore nulls", "instance": null, "valid": true}]}}
{"seq": 40, "implementation": "python-jsonschema", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 40, "implementation": "js-jsonschema", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 40, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, true, true, true, true], "results": [{"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 40, "implementation": "java-jsonschemafriend", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 40, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 41, "case": {"description": "regex format", "schema": {"format": "regex"}, "tests": [{"description": "all string formats ignore integers", "instance": 12, "valid": true}, {"description": "all string formats ignore floats", "instance": 13.7, "valid": true}, {"description": "all string formats ignore objects", "instance": {}, "valid": true}, {"description": "all string formats ignore arrays", "instance": [], "valid": true}, {"description": "all string formats ignore booleans", "instance": false, "valid": true}, {"description": "all string formats ignore nulls", "instance": null, "valid": true}]}}
{"seq": 41, "implementation": "python-jsonschema", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 41, "implementation": "js-jsonschema", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 41, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 41, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 41, "implementation": "java-jsonschemafriend", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 42, "case": {"description": "date format", "schema": {"format": "date"}, "tests": [{"description": "all string formats ignore integers", "instance": 12, "valid": true}, {"description": "all string formats ignore floats", "instance": 13.7, "valid": true}, {"description": "all string formats ignore objects", "instance": {}, "valid": true}, {"description": "all string formats ignore arrays", "instance": [], "valid": true}, {"description": "all string formats ignore booleans", "instance": false, "valid": true}, {"description": "all string formats ignore nulls", "instance": null, "valid": true}]}}
{"seq": 42, "implementation": "python-jsonschema", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 42, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, true, true, true, true], "results": [{"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 42, "implementation": "js-jsonschema", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 42, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 42, "implementation": "java-jsonschemafriend", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 43, "case": {"description": "time format", "schema": {"format": "time"}, "tests": [{"description": "all string formats ignore integers", "instance": 12, "valid": true}, {"description": "all string formats ignore floats", "instance": 13.7, "valid": true}, {"description": "all string formats ignore objects", "instance": {}, "valid": true}, {"description": "all string formats ignore arrays", "instance": [], "valid": true}, {"description": "all string formats ignore booleans", "instance": false, "valid": true}, {"description": "all string formats ignore nulls", "instance": null, "valid": true}]}}
{"seq": 43, "implementation": "python-jsonschema", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 43, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, true, true, true, true], "results": [{"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 43, "implementation": "js-jsonschema", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 43, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 43, "implementation": "java-jsonschemafriend", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 44, "case": {"description": "color format", "schema": {"format": "color"}, "tests": [{"description": "all string formats ignore integers", "instance": 12, "valid": true}, {"description": "all string formats ignore floats", "instance": 13.7, "valid": true}, {"description": "all string formats ignore objects", "instance": {}, "valid": true}, {"description": "all string formats ignore arrays", "instance": [], "valid": true}, {"description": "all string formats ignore booleans", "instance": false, "valid": true}, {"description": "all string formats ignore nulls", "instance": null, "valid": true}]}}
{"seq": 44, "implementation": "python-jsonschema", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 44, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, true, true, true, true], "results": [{"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 44, "implementation": "js-jsonschema", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 44, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 44, "implementation": "java-jsonschemafriend", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 45, "case": {"description": "uri format", "schema": {"format": "uri"}, "tests": [{"description": "all string formats ignore integers", "instance": 12, "valid": true}, {"description": "all string formats ignore floats", "instance": 13.7, "valid": true}, {"description": "all string formats ignore objects", "instance": {}, "valid": true}, {"description": "all string formats ignore arrays", "instance": [], "valid": true}, {"description": "all string formats ignore booleans", "instance": false, "valid": true}, {"description": "all string formats ignore nulls", "instance": null, "valid": true}]}}
{"seq": 45, "implementation": "python-jsonschema", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 45, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, true, true, true, true], "results": [{"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 45, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 45, "implementation": "js-jsonschema", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 45, "implementation": "java-jsonschemafriend", "expected": [true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 46, "case": {"description": "evaluating the same schema location against the same data location twice is not a sign of an infinite loop", "schema": {"definitions": {"int": {"type": "integer"}}, "properties": {"foo": {"$ref": "#/definitions/int"}}, "extends": {"additionalProperties": {"$ref": "#/definitions/int"}}}, "tests": [{"description": "passing case", "instance": {"foo": 1}, "valid": true}, {"description": "failing case", "instance": {"foo": "a string"}, "valid": false}]}}
{"seq": 46, "implementation": "python-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 46, "implementation": "js-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 46, "implementation": "php-justinrainbow-json-schema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 46, "implementation": "java-jsonschemafriend", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 46, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 47, "case": {"description": "a schema given for items", "schema": {"items": {"type": "integer"}}, "tests": [{"description": "valid items", "instance": [1, 2, 3], "valid": true}, {"description": "wrong type of items", "instance": [1, "x"], "valid": false}, {"description": "ignores non-arrays", "instance": {"foo": "bar"}, "valid": true}]}}
{"seq": 47, "implementation": "python-jsonschema", "expected": [true, false, true], "results": [{"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 47, "implementation": "js-jsonschema", "expected": [true, false, true], "results": [{"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 47, "implementation": "php-justinrainbow-json-schema", "expected": [true, false, true], "results": [{"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 47, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false, true], "results": [{"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 47, "implementation": "java-jsonschemafriend", "expected": [true, false, true], "results": [{"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 48, "case": {"description": "an array of schemas for items", "schema": {"items": [{"type": "integer"}, {"type": "string"}]}, "tests": [{"description": "correct types", "instance": [1, "foo"], "valid": true}, {"description": "wrong types", "instance": ["foo", 1], "valid": false}]}}
{"seq": 48, "implementation": "python-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 48, "implementation": "php-justinrainbow-json-schema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 48, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 48, "implementation": "js-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 48, "implementation": "java-jsonschemafriend", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 49, "case": {"description": "items with null instance elements", "schema": {"items": {"type": "null"}}, "tests": [{"description": "allows null elements", "instance": [null], "valid": true}]}}
{"seq": 49, "implementation": "python-jsonschema", "expected": [true], "results": [{"valid": true}]}
{"seq": 49, "implementation": "php-justinrainbow-json-schema", "expected": [true], "results": [{"valid": true}]}
{"seq": 49, "implementation": "js-jsonschema", "expected": [true], "results": [{"valid": true}]}
{"seq": 49, "implementation": "java-json-tools-json-schema-validator", "expected": [true], "results": [{"valid": true}]}
{"seq": 49, "implementation": "java-jsonschemafriend", "expected": [true], "results": [{"valid": true}]}
{"seq": 50, "case": {"description": "array-form items with null instance elements", "schema": {"items": [{"type": "null"}]}, "tests": [{"description": "allows null elements", "instance": [null], "valid": true}]}}
{"seq": 50, "implementation": "python-jsonschema", "expected": [true], "results": [{"valid": true}]}
{"seq": 50, "implementation": "php-justinrainbow-json-schema", "expected": [true], "results": [{"valid": true}]}
{"seq": 50, "implementation": "js-jsonschema", "expected": [true], "results": [{"valid": true}]}
{"seq": 50, "implementation": "java-json-tools-json-schema-validator", "expected": [true], "results": [{"valid": true}]}
{"seq": 50, "implementation": "java-jsonschemafriend", "expected": [true], "results": [{"valid": true}]}
{"seq": 51, "case": {"description": "maxItems validation", "schema": {"maxItems": 2}, "tests": [{"description": "shorter is valid", "instance": [1], "valid": true}, {"description": "exact length is valid", "instance": [1, 2], "valid": true}, {"description": "too long is invalid", "instance": [1, 2, 3], "valid": false}, {"description": "ignores non-arrays", "instance": "foobar", "valid": true}]}}
{"seq": 51, "implementation": "python-jsonschema", "expected": [true, true, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 51, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 51, "implementation": "js-jsonschema", "expected": [true, true, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 51, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 51, "implementation": "java-jsonschemafriend", "expected": [true, true, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 52, "case": {"description": "maxLength validation", "schema": {"maxLength": 2}, "tests": [{"description": "shorter is valid", "instance": "f", "valid": true}, {"description": "exact length is valid", "instance": "fo", "valid": true}, {"description": "too long is invalid", "instance": "foo", "valid": false}, {"description": "ignores non-strings", "instance": 10, "valid": true}, {"description": "two graphemes is long enough", "instance": "\ud83d\udca9\ud83d\udca9", "valid": true}]}}
{"seq": 52, "implementation": "python-jsonschema", "expected": [true, true, false, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}]}
{"seq": 52, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, false, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}]}
{"seq": 52, "implementation": "js-jsonschema", "expected": [true, true, false, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}]}
{"seq": 52, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, false, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}]}
{"seq": 52, "implementation": "java-jsonschemafriend", "expected": [true, true, false, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}]}
{"seq": 53, "case": {"description": "maximum validation", "schema": {"maximum": 3.0}, "tests": [{"description": "below the maximum is valid", "instance": 2.6, "valid": true}, {"description": "boundary point is valid", "instance": 3.0, "valid": true}, {"description": "above the maximum is invalid", "instance": 3.5, "valid": false}, {"description": "ignores non-numbers", "instance": "x", "valid": true}]}}
{"seq": 53, "implementation": "python-jsonschema", "expected": [true, true, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 53, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 53, "implementation": "js-jsonschema", "expected": [true, true, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 53, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 53, "implementation": "java-jsonschemafriend", "expected": [true, true, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 54, "case": {"description": "maximum validation with unsigned integer", "schema": {"maximum": 300}, "tests": [{"description": "below the maximum is invalid", "instance": 299.97, "valid": true}, {"description": "boundary point integer is valid", "instance": 300, "valid": true}, {"description": "boundary point float is valid", "instance": 300.0, "valid": true}, {"description": "above the maximum is invalid", "instance": 300.5, "valid": false}]}}
{"seq": 54, "implementation": "python-jsonschema", "expected": [true, true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 54, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 54, "implementation": "js-jsonschema", "expected": [true, true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 54, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 54, "implementation": "java-jsonschemafriend", "expected": [true, true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 55, "case": {"description": "maximum validation (explicit false exclusivity)", "schema": {"maximum": 3.0, "exclusiveMaximum": false}, "tests": [{"description": "below the maximum is valid", "instance": 2.6, "valid": true}, {"description": "boundary point is valid", "instance": 3.0, "valid": true}, {"description": "above the maximum is invalid", "instance": 3.5, "valid": false}, {"description": "ignores non-numbers", "instance": "x", "valid": true}]}}
{"seq": 55, "implementation": "python-jsonschema", "expected": [true, true, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 55, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 55, "implementation": "js-jsonschema", "expected": [true, true, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 55, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 55, "implementation": "java-jsonschemafriend", "expected": [true, true, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 56, "case": {"description": "exclusiveMaximum validation", "schema": {"maximum": 3.0, "exclusiveMaximum": true}, "tests": [{"description": "below the maximum is still valid", "instance": 2.2, "valid": true}, {"description": "boundary point is invalid", "instance": 3.0, "valid": false}]}}
{"seq": 56, "implementation": "python-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 56, "implementation": "php-justinrainbow-json-schema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 56, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 56, "implementation": "js-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 56, "implementation": "java-jsonschemafriend", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 57, "case": {"description": "minItems validation", "schema": {"minItems": 1}, "tests": [{"description": "longer is valid", "instance": [1, 2], "valid": true}, {"description": "exact length is valid", "instance": [1], "valid": true}, {"description": "too short is invalid", "instance": [], "valid": false}, {"description": "ignores non-arrays", "instance": "", "valid": true}]}}
{"seq": 57, "implementation": "python-jsonschema", "expected": [true, true, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 57, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 57, "implementation": "js-jsonschema", "expected": [true, true, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 57, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 57, "implementation": "java-jsonschemafriend", "expected": [true, true, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 58, "case": {"description": "minLength validation", "schema": {"minLength": 2}, "tests": [{"description": "longer is valid", "instance": "foo", "valid": true}, {"description": "exact length is valid", "instance": "fo", "valid": true}, {"description": "too short is invalid", "instance": "f", "valid": false}, {"description": "ignores non-strings", "instance": 1, "valid": true}, {"description": "one grapheme is not long enough", "instance": "\ud83d\udca9", "valid": false}]}}
{"seq": 58, "implementation": "python-jsonschema", "expected": [true, true, false, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": false}]}
{"seq": 58, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, false, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": false}]}
{"seq": 58, "implementation": "js-jsonschema", "expected": [true, true, false, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": false}]}
{"seq": 58, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, false, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": false}]}
{"seq": 58, "implementation": "java-jsonschemafriend", "expected": [true, true, false, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": false}]}
{"seq": 59, "case": {"description": "minimum validation", "schema": {"minimum": 1.1}, "tests": [{"description": "above the minimum is valid", "instance": 2.6, "valid": true}, {"description": "boundary point is valid", "instance": 1.1, "valid": true}, {"description": "below the minimum is invalid", "instance": 0.6, "valid": false}, {"description": "ignores non-numbers", "instance": "x", "valid": true}]}}
{"seq": 59, "implementation": "python-jsonschema", "expected": [true, true, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 59, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 59, "implementation": "js-jsonschema", "expected": [true, true, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 59, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 59, "implementation": "java-jsonschemafriend", "expected": [true, true, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}]}
{"seq": 60, "case": {"description": "exclusiveMinimum validation", "schema": {"minimum": 1.1, "exclusiveMinimum": true}, "tests": [{"description": "above the minimum is still valid", "instance": 1.2, "valid": true}, {"description": "boundary point is invalid", "instance": 1.1, "valid": false}]}}
{"seq": 60, "implementation": "python-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 60, "implementation": "php-justinrainbow-json-schema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 60, "implementation": "js-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 60, "implementation": "java-jsonschemafriend", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 60, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 61, "case": {"description": "minimum validation with signed integer", "schema": {"minimum": -2}, "tests": [{"description": "negative above the minimum is valid", "instance": -1, "valid": true}, {"description": "positive above the minimum is valid", "instance": 0, "valid": true}, {"description": "boundary point is valid", "instance": -2, "valid": true}, {"description": "boundary point with float is valid", "instance": -2.0, "valid": true}, {"description": "float below the minimum is invalid", "instance": -2.0001, "valid": false}, {"description": "int below the minimum is invalid", "instance": -3, "valid": false}, {"description": "ignores non-numbers", "instance": "x", "valid": true}]}}
{"seq": 61, "implementation": "python-jsonschema", "expected": [true, true, true, true, false, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}]}
{"seq": 61, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, true, true, false, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}]}
{"seq": 61, "implementation": "js-jsonschema", "expected": [true, true, true, true, false, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}]}
{"seq": 61, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, true, true, false, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}]}
{"seq": 61, "implementation": "java-jsonschemafriend", "expected": [true, true, true, true, false, false, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}]}
{"seq": 62, "case": {"description": "pattern validation", "schema": {"pattern": "^a*$"}, "tests": [{"description": "a matching pattern is valid", "instance": "aaa", "valid": true}, {"description": "a non-matching pattern is invalid", "instance": "abc", "valid": false}, {"description": "ignores booleans", "instance": true, "valid": true}, {"description": "ignores integers", "instance": 123, "valid": true}, {"description": "ignores floats", "instance": 1.0, "valid": true}, {"description": "ignores objects", "instance": {}, "valid": true}, {"description": "ignores arrays", "instance": [], "valid": true}, {"description": "ignores null", "instance": null, "valid": true}]}}
{"seq": 62, "implementation": "python-jsonschema", "expected": [true, false, true, true, true, true, true, true], "results": [{"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 62, "implementation": "php-justinrainbow-json-schema", "expected": [true, false, true, true, true, true, true, true], "results": [{"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 62, "implementation": "js-jsonschema", "expected": [true, false, true, true, true, true, true, true], "results": [{"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 62, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false, true, true, true, true, true, true], "results": [{"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 62, "implementation": "java-jsonschemafriend", "expected": [true, false, true, true, true, true, true, true], "results": [{"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 63, "case": {"description": "pattern is not anchored", "schema": {"pattern": "a+"}, "tests": [{"description": "matches a substring", "instance": "xxaayy", "valid": true}]}}
{"seq": 63, "implementation": "python-jsonschema", "expected": [true], "results": [{"valid": true}]}
{"seq": 63, "implementation": "php-justinrainbow-json-schema", "expected": [true], "results": [{"valid": true}]}
{"seq": 63, "implementation": "js-jsonschema", "expected": [true], "results": [{"valid": true}]}
{"seq": 63, "implementation": "java-json-tools-json-schema-validator", "expected": [true], "results": [{"valid": true}]}
{"seq": 63, "implementation": "java-jsonschemafriend", "expected": [true], "results": [{"valid": true}]}
{"seq": 64, "case": {"description": "patternProperties validates properties matching a regex", "schema": {"patternProperties": {"f.*o": {"type": "integer"}}}, "tests": [{"description": "a single valid match is valid", "instance": {"foo": 1}, "valid": true}, {"description": "multiple valid matches is valid", "instance": {"foo": 1, "foooooo": 2}, "valid": true}, {"description": "a single invalid match is invalid", "instance": {"foo": "bar", "fooooo": 2}, "valid": false}, {"description": "multiple invalid matches is invalid", "instance": {"foo": "bar", "foooooo": "baz"}, "valid": false}, {"description": "ignores arrays", "instance": [], "valid": true}, {"description": "ignores other non-objects", "instance": 12, "valid": true}]}}
{"seq": 64, "implementation": "python-jsonschema", "expected": [true, true, false, false, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}]}
{"seq": 64, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, false, false, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}]}
{"seq": 64, "implementation": "js-jsonschema", "expected": [true, true, false, false, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}]}
{"seq": 64, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, false, false, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}]}
{"seq": 64, "implementation": "java-jsonschemafriend", "expected": [true, true, false, false, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}]}
{"seq": 65, "case": {"description": "multiple simultaneous patternProperties are validated", "schema": {"patternProperties": {"a*": {"type": "integer"}, "aaa*": {"maximum": 20}}}, "tests": [{"description": "a single valid match is valid", "instance": {"a": 21}, "valid": true}, {"description": "a simultaneous match is valid", "instance": {"aaaa": 18}, "valid": true}, {"description": "multiple matches is valid", "instance": {"a": 21, "aaaa": 18}, "valid": true}, {"description": "an invalid due to one is invalid", "instance": {"a": "bar"}, "valid": false}, {"description": "an invalid due to the other is invalid", "instance": {"aaaa": 31}, "valid": false}, {"description": "an invalid due to both is invalid", "instance": {"aaa": "foo", "aaaa": 31}, "valid": false}]}}
{"seq": 65, "implementation": "python-jsonschema", "expected": [true, true, true, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 65, "implementation": "js-jsonschema", "expected": [true, true, true, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 65, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, true, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 65, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, true, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 65, "implementation": "java-jsonschemafriend", "expected": [true, true, true, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 66, "case": {"description": "regexes are not anchored by default and are case sensitive", "schema": {"patternProperties": {"[0-9]{2,}": {"type": "boolean"}, "X_": {"type": "string"}}}, "tests": [{"description": "non recognized members are ignored", "instance": {"answer 1": "42"}, "valid": true}, {"description": "recognized members are accounted for", "instance": {"a31b": null}, "valid": false}, {"description": "regexes are case sensitive", "instance": {"a_x_3": 3}, "valid": true}, {"description": "regexes are case sensitive, 2", "instance": {"a_X_3": 3}, "valid": false}]}}
{"seq": 66, "implementation": "python-jsonschema", "expected": [true, false, true, false], "results": [{"valid": true}, {"valid": false}, {"valid": true}, {"valid": false}]}
{"seq": 66, "implementation": "php-justinrainbow-json-schema", "expected": [true, false, true, false], "results": [{"valid": true}, {"valid": false}, {"valid": true}, {"valid": false}]}
{"seq": 66, "implementation": "js-jsonschema", "expected": [true, false, true, false], "results": [{"valid": true}, {"valid": false}, {"valid": true}, {"valid": false}]}
{"seq": 66, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false, true, false], "results": [{"valid": true}, {"valid": false}, {"valid": true}, {"valid": false}]}
{"seq": 66, "implementation": "java-jsonschemafriend", "expected": [true, false, true, false], "results": [{"valid": true}, {"valid": false}, {"valid": true}, {"valid": false}]}
{"seq": 67, "case": {"description": "patternProperties with null valued instance properties", "schema": {"patternProperties": {"^.*bar$": {"type": "null"}}}, "tests": [{"description": "allows null values", "instance": {"foobar": null}, "valid": true}]}}
{"seq": 67, "implementation": "python-jsonschema", "expected": [true], "results": [{"valid": true}]}
{"seq": 67, "implementation": "php-justinrainbow-json-schema", "expected": [true], "results": [{"valid": true}]}
{"seq": 67, "implementation": "java-json-tools-json-schema-validator", "expected": [true], "results": [{"valid": true}]}
{"seq": 67, "implementation": "js-jsonschema", "expected": [true], "results": [{"valid": true}]}
{"seq": 67, "implementation": "java-jsonschemafriend", "expected": [true], "results": [{"valid": true}]}
{"seq": 68, "case": {"description": "object properties validation", "schema": {"properties": {"foo": {"type": "integer"}, "bar": {"type": "string"}}}, "tests": [{"description": "both properties present and valid is valid", "instance": {"foo": 1, "bar": "baz"}, "valid": true}, {"description": "one property invalid is invalid", "instance": {"foo": 1, "bar": {}}, "valid": false}, {"description": "both properties invalid is invalid", "instance": {"foo": [], "bar": {}}, "valid": false}, {"description": "doesn't invalidate other properties", "instance": {"quux": []}, "valid": true}, {"description": "ignores arrays", "instance": [], "valid": true}, {"description": "ignores other non-objects", "instance": 12, "valid": true}]}}
{"seq": 68, "implementation": "python-jsonschema", "expected": [true, false, false, true, true, true], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 68, "implementation": "php-justinrainbow-json-schema", "expected": [true, false, false, true, true, true], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 68, "implementation": "js-jsonschema", "expected": [true, false, false, true, true, true], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 68, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false, false, true, true, true], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 68, "implementation": "java-jsonschemafriend", "expected": [true, false, false, true, true, true], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 69, "case": {"description": "properties, patternProperties, additionalProperties interaction", "schema": {"properties": {"foo": {"type": "array", "maxItems": 3}, "bar": {"type": "array"}}, "patternProperties": {"f.o": {"minItems": 2}}, "additionalProperties": {"type": "integer"}}, "tests": [{"description": "property validates property", "instance": {"foo": [1, 2]}, "valid": true}, {"description": "property invalidates property", "instance": {"foo": [1, 2, 3, 4]}, "valid": false}, {"description": "patternProperty invalidates property", "instance": {"foo": []}, "valid": false}, {"description": "patternProperty validates nonproperty", "instance": {"fxo": [1, 2]}, "valid": true}, {"description": "patternProperty invalidates nonproperty", "instance": {"fxo": []}, "valid": false}, {"description": "additionalProperty ignores property", "instance": {"bar": []}, "valid": true}, {"description": "additionalProperty validates others", "instance": {"quux": 3}, "valid": true}, {"description": "additionalProperty invalidates others", "instance": {"quux": "foo"}, "valid": false}]}}
{"seq": 69, "implementation": "python-jsonschema", "expected": [true, false, false, true, false, true, true, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 69, "implementation": "php-justinrainbow-json-schema", "expected": [true, false, false, true, false, true, true, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 69, "implementation": "js-jsonschema", "expected": [true, false, false, true, false, true, true, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 69, "implementation": "java-jsonschemafriend", "expected": [true, false, false, true, false, true, true, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 69, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false, false, true, false, true, true, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 70, "case": {"description": "properties with null valued instance properties", "schema": {"properties": {"foo": {"type": "null"}}}, "tests": [{"description": "allows null values", "instance": {"foo": null}, "valid": true}]}}
{"seq": 70, "implementation": "python-jsonschema", "expected": [true], "results": [{"valid": true}]}
{"seq": 70, "implementation": "php-justinrainbow-json-schema", "expected": [true], "results": [{"valid": true}]}
{"seq": 70, "implementation": "js-jsonschema", "expected": [true], "results": [{"valid": true}]}
{"seq": 70, "implementation": "java-json-tools-json-schema-validator", "expected": [true], "results": [{"valid": true}]}
{"seq": 70, "implementation": "java-jsonschemafriend", "expected": [true], "results": [{"valid": true}]}
{"seq": 71, "case": {"description": "root pointer ref", "schema": {"properties": {"foo": {"$ref": "#"}}, "additionalProperties": false}, "tests": [{"description": "match", "instance": {"foo": false}, "valid": true}, {"description": "recursive match", "instance": {"foo": {"foo": false}}, "valid": true}, {"description": "mismatch", "instance": {"bar": false}, "valid": false}, {"description": "recursive mismatch", "instance": {"foo": {"bar": false}}, "valid": false}]}}
{"seq": 71, "implementation": "python-jsonschema", "expected": [true, true, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 71, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 71, "implementation": "js-jsonschema", "expected": [true, true, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 71, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 71, "implementation": "java-jsonschemafriend", "expected": [true, true, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 72, "case": {"description": "relative pointer ref to object", "schema": {"properties": {"foo": {"type": "integer"}, "bar": {"$ref": "#/properties/foo"}}}, "tests": [{"description": "match", "instance": {"bar": 3}, "valid": true}, {"description": "mismatch", "instance": {"bar": true}, "valid": false}]}}
{"seq": 72, "implementation": "python-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 72, "implementation": "php-justinrainbow-json-schema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 72, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 72, "implementation": "js-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 72, "implementation": "java-jsonschemafriend", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 73, "case": {"description": "relative pointer ref to array", "schema": {"items": [{"type": "integer"}, {"$ref": "#/items/0"}]}, "tests": [{"description": "match array", "instance": [1, 2], "valid": true}, {"description": "mismatch array", "instance": [1, "foo"], "valid": false}]}}
{"seq": 73, "implementation": "python-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 73, "implementation": "php-justinrainbow-json-schema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 73, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 73, "implementation": "js-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 73, "implementation": "java-jsonschemafriend", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 74, "case": {"description": "escaped pointer ref", "schema": {"definitions": {"tilde~field": {"type": "integer"}, "slash/field": {"type": "integer"}, "percent%field": {"type": "integer"}}, "properties": {"tilde": {"$ref": "#/definitions/tilde~0field"}, "slash": {"$ref": "#/definitions/slash~1field"}, "percent": {"$ref": "#/definitions/percent%25field"}}}, "tests": [{"description": "slash invalid", "instance": {"slash": "aoeu"}, "valid": false}, {"description": "tilde invalid", "instance": {"tilde": "aoeu"}, "valid": false}, {"description": "percent invalid", "instance": {"percent": "aoeu"}, "valid": false}, {"description": "slash valid", "instance": {"slash": 123}, "valid": true}, {"description": "tilde valid", "instance": {"tilde": 123}, "valid": true}, {"description": "percent valid", "instance": {"percent": 123}, "valid": true}]}}
{"seq": 74, "implementation": "python-jsonschema", "expected": [false, false, false, true, true, true], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 74, "implementation": "php-justinrainbow-json-schema", "expected": [false, false, false, true, true, true], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 74, "implementation": "js-jsonschema", "expected": [false, false, false, true, true, true], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 74, "implementation": "java-json-tools-json-schema-validator", "expected": [false, false, false, true, true, true], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 74, "implementation": "java-jsonschemafriend", "expected": [false, false, false, true, true, true], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 75, "case": {"description": "nested refs", "schema": {"definitions": {"a": {"type": "integer"}, "b": {"$ref": "#/definitions/a"}, "c": {"$ref": "#/definitions/b"}}, "$ref": "#/definitions/c"}, "tests": [{"description": "nested ref valid", "instance": 5, "valid": true}, {"description": "nested ref invalid", "instance": "a", "valid": false}]}}
{"seq": 75, "implementation": "python-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 75, "implementation": "php-justinrainbow-json-schema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 75, "implementation": "js-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 75, "implementation": "java-jsonschemafriend", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 75, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 76, "case": {"description": "ref overrides any sibling keywords", "schema": {"definitions": {"reffed": {"type": "array"}}, "properties": {"foo": {"$ref": "#/definitions/reffed", "maxItems": 2}}}, "tests": [{"description": "remote ref valid", "instance": {"foo": []}, "valid": true}, {"description": "remote ref valid, maxItems ignored", "instance": {"foo": [1, 2, 3]}, "valid": true}, {"description": "ref invalid", "instance": {"foo": "string"}, "valid": false}]}}
{"seq": 76, "implementation": "python-jsonschema", "expected": [true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 76, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 76, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 76, "implementation": "js-jsonschema", "expected": [true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 76, "implementation": "java-jsonschemafriend", "expected": [true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 77, "case": {"description": "property named $ref, containing an actual $ref", "schema": {"properties": {"$ref": {"$ref": "#/definitions/is-string"}}, "definitions": {"is-string": {"type": "string"}}}, "tests": [{"description": "property named $ref valid", "instance": {"$ref": "a"}, "valid": true}, {"description": "property named $ref invalid", "instance": {"$ref": 2}, "valid": false}]}}
{"seq": 77, "implementation": "python-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 77, "implementation": "js-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 77, "implementation": "java-jsonschemafriend", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 77, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 77, "implementation": "php-justinrainbow-json-schema", "expected": [true, false], "context": {"stderr": "Running test case\nFatal error: Uncaught JsonSchema\\Exception\\UriResolverException: Unable to resolve URI 'a' from base '' in /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriResolver.php:135\nStack trace:\n#0 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriResolver.php(107): JsonSchema\\Uri\\UriResolver::combineRelativePathWithBasePath('a', '')\n#1 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(100): JsonSchema\\Uri\\UriResolver->resolve('a', 'internal://mySc...')\n#2 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(105): JsonSchema\\SchemaStorage->expandRefs(Object(stdClass), 'internal://mySc...')\n#3 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(72): JsonSchema\\SchemaStorage->expandRefs(Object(stdClass), 'internal://mySc...')\n#4 /usr/src/json-schema/src/TestHarness.php(116): JsonSchema\\SchemaStorage->addSchema('internal://mySc...', Object(stdClass))\n#5 /usr/src/json-schema/src/TestHarness.php(47): JsonRainbow\\TestHarness->run(Object(stdClass))\n#6 /usr/src/json-schema/bootstrap.php(14): JsonRainbow\\TestHarness->__invoke()\n#7 {main}\n thrown in /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriResolver.php on line 135\n"}, "message": "uncaught error", "caught": false, "errored": true}
{"seq": 78, "case": {"description": "$ref prevents a sibling id from changing the base uri", "schema": {"id": "http://localhost:1234/sibling_id/base/", "definitions": {"foo": {"id": "http://localhost:1234/sibling_id/foo.json", "type": "string"}, "base_foo": {"$comment": "this canonical uri is http://localhost:1234/sibling_id/base/foo.json", "id": "foo.json", "type": "number"}}, "extends": [{"$comment": "$ref resolves to http://localhost:1234/sibling_id/base/foo.json, not http://localhost:1234/sibling_id/foo.json", "id": "http://localhost:1234/sibling_id/", "$ref": "foo.json"}]}, "tests": [{"description": "$ref resolves to /definitions/base_foo, data does not validate", "instance": "a", "valid": false}, {"description": "$ref resolves to /definitions/base_foo, data validates", "instance": 1, "valid": true}]}}
{"seq": 78, "implementation": "python-jsonschema", "expected": [false, true], "results": [{"valid": false}, {"valid": true}]}
{"seq": 78, "implementation": "js-jsonschema", "expected": [false, true], "results": [{"valid": false}, {"valid": true}]}
{"seq": 78, "implementation": "java-jsonschemafriend", "expected": [false, true], "results": [{"valid": false}, {"valid": true}]}
{"seq": 78, "implementation": "java-json-tools-json-schema-validator", "expected": [false, true], "results": [{"context": {"message": "fatal: unable to dereference URI \"http://localhost:1234/sibling_id/foo.json#\"\n level: \"fatal\"\n uri: \"http://localhost:1234/sibling_id/foo.json#\"\n exceptionMessage: \"Connection refused\"\n", "traceback": "com.github.fge.jsonschema.core.exceptions.ProcessingException: fatal: unable to dereference URI \"http://localhost:1234/sibling_id/foo.json#\"\n level: \"fatal\"\n uri: \"http://localhost:1234/sibling_id/foo.json#\"\n exceptionMessage: \"Connection refused\"\n\n\tat com.github.fge.jsonschema.core.load.URIManager.getContent(URIManager.java:118)\n\tat com.github.fge.jsonschema.core.load.SchemaLoader$1.load(SchemaLoader.java:114)\n\tat com.github.fge.jsonschema.core.load.SchemaLoader$1.load(SchemaLoader.java:108)\n\tat com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3445)\n\tat com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2194)\n\tat com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2153)\n\tat com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2043)\n\tat com.google.common.cache.LocalCache.get(LocalCache.java:3849)\n\tat com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3873)\n\tat com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4798)\n\tat com.github.fge.jsonschema.core.load.SchemaLoader.get(SchemaLoader.java:171)\n\tat com.github.fge.jsonschema.core.load.RefResolver.rawProcess(RefResolver.java:114)\n\tat com.github.fge.jsonschema.core.load.RefResolver.rawProcess(RefResolver.java:51)\n\tat com.github.fge.jsonschema.core.processing.RawProcessor.process(RawProcessor.java:77)\n\tat com.github.fge.jsonschema.core.processing.RawProcessor.process(RawProcessor.java:41)\n\tat com.github.fge.jsonschema.core.processing.ProcessorChain$ProcessorMerger.process(ProcessorChain.java:189)\n\tat com.github.fge.jsonschema.core.processing.ProcessingResult.of(ProcessingResult.java:79)\n\tat com.github.fge.jsonschema.core.processing.CachingProcessor$1.load(CachingProcessor.java:141)\n\tat com.github.fge.jsonschema.core.processing.CachingProcessor$1.load(CachingProcessor.java:133)\n\tat com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3445)\n\tat com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2194)\n\tat com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2153)\n\tat com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2043)\n\tat com.google.common.cache.LocalCache.get(LocalCache.java:3849)\n\tat com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3873)\n\tat com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4798)\n\tat com.github.fge.jsonschema.core.processing.CachingProcessor.process(CachingProcessor.java:122)\n\tat com.github.fge.jsonschema.processors.validation.ValidationChain.process(ValidationChain.java:107)\n\tat com.github.fge.jsonschema.processors.validation.ValidationChain.process(ValidationChain.java:57)\n\tat com.github.fge.jsonschema.core.processing.ProcessorMap$Mapper.process(ProcessorMap.java:166)\n\tat com.github.fge.jsonschema.core.processing.ProcessingResult.of(ProcessingResult.java:79)\n\tat com.github.fge.jsonschema.core.processing.CachingProcessor$1.load(CachingProcessor.java:141)\n\tat com.github.fge.jsonschema.core.processing.CachingProcessor$1.load(CachingProcessor.java:133)\n\tat com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3445)\n\tat com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2194)\n\tat com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2153)\n\tat com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2043)\n\tat com.google.common.cache.LocalCache.get(LocalCache.java:3849)\n\tat com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3873)\n\tat com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4798)\n\tat com.github.fge.jsonschema.core.processing.CachingProcessor.process(CachingProcessor.java:122)\n\tat com.github.fge.jsonschema.processors.validation.InstanceValidator.process(InstanceValidator.java:109)\n\tat com.github.fge.jsonschema.processors.validation.InstanceValidator.process(InstanceValidator.java:58)\n\tat com.github.fge.jsonschema.keyword.validator.draftv3.ExtendsValidator.validate(ExtendsValidator.java:69)\n\tat com.github.fge.jsonschema.processors.validation.InstanceValidator.process(InstanceValidator.java:128)\n\tat com.github.fge.jsonschema.processors.validation.ValidationProcessor.process(ValidationProcessor.java:56)\n\tat com.github.fge.jsonschema.processors.validation.ValidationProcessor.process(ValidationProcessor.java:34)\n\tat com.github.fge.jsonschema.core.processing.ProcessingResult.of(ProcessingResult.java:79)\n\tat com.github.fge.jsonschema.main.JsonValidator.validate(JsonValidator.java:104)\n\tat com.github.fge.jsonschema.main.JsonValidator.validate(JsonValidator.java:124)\n\tat BowtieJsonSchemaValidator.lambda$run$1(BowtieJsonSchemaValidator.java:141)\n\tat java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215)\n\tat java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1709)\n\tat java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)\n\tat java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)\n\tat java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:636)\n\tat java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:291)\n\tat java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:656)\n\tat java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:662)\n\tat java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:667)\n\tat BowtieJsonSchemaValidator.run(BowtieJsonSchemaValidator.java:150)\n\tat BowtieJsonSchemaValidator.handle(BowtieJsonSchemaValidator.java:57)\n\tat java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)\n\tat java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)\n\tat java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:807)\n\tat BowtieJsonSchemaValidator.run(BowtieJsonSchemaValidator.java:47)\n\tat BowtieJsonSchemaValidator.main(BowtieJsonSchemaValidator.java:41)\n"}, "errored": true, "skipped": false}, {"context": {"message": "fatal: unable to dereference URI \"http://localhost:1234/sibling_id/foo.json#\"\n level: \"fatal\"\n uri: \"http://localhost:1234/sibling_id/foo.json#\"\n exceptionMessage: \"Connection refused\"\n", "traceback": "com.github.fge.jsonschema.core.exceptions.ProcessingException: fatal: unable to dereference URI \"http://localhost:1234/sibling_id/foo.json#\"\n level: \"fatal\"\n uri: \"http://localhost:1234/sibling_id/foo.json#\"\n exceptionMessage: \"Connection refused\"\n\n\tat com.github.fge.jsonschema.core.load.URIManager.getContent(URIManager.java:118)\n\tat com.github.fge.jsonschema.core.load.SchemaLoader$1.load(SchemaLoader.java:114)\n\tat com.github.fge.jsonschema.core.load.SchemaLoader$1.load(SchemaLoader.java:108)\n\tat com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3445)\n\tat com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2194)\n\tat com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2153)\n\tat com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2043)\n\tat com.google.common.cache.LocalCache.get(LocalCache.java:3849)\n\tat com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3873)\n\tat com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4798)\n\tat com.github.fge.jsonschema.core.load.SchemaLoader.get(SchemaLoader.java:171)\n\tat com.github.fge.jsonschema.core.load.RefResolver.rawProcess(RefResolver.java:114)\n\tat com.github.fge.jsonschema.core.load.RefResolver.rawProcess(RefResolver.java:51)\n\tat com.github.fge.jsonschema.core.processing.RawProcessor.process(RawProcessor.java:77)\n\tat com.github.fge.jsonschema.core.processing.RawProcessor.process(RawProcessor.java:41)\n\tat com.github.fge.jsonschema.core.processing.ProcessorChain$ProcessorMerger.process(ProcessorChain.java:189)\n\tat com.github.fge.jsonschema.core.processing.ProcessingResult.of(ProcessingResult.java:79)\n\tat com.github.fge.jsonschema.core.processing.CachingProcessor$1.load(CachingProcessor.java:141)\n\tat com.github.fge.jsonschema.core.processing.CachingProcessor$1.load(CachingProcessor.java:133)\n\tat com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3445)\n\tat com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2194)\n\tat com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2153)\n\tat com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2043)\n\tat com.google.common.cache.LocalCache.get(LocalCache.java:3849)\n\tat com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3873)\n\tat com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4798)\n\tat com.github.fge.jsonschema.core.processing.CachingProcessor.process(CachingProcessor.java:122)\n\tat com.github.fge.jsonschema.processors.validation.ValidationChain.process(ValidationChain.java:107)\n\tat com.github.fge.jsonschema.processors.validation.ValidationChain.process(ValidationChain.java:57)\n\tat com.github.fge.jsonschema.core.processing.ProcessorMap$Mapper.process(ProcessorMap.java:166)\n\tat com.github.fge.jsonschema.core.processing.ProcessingResult.of(ProcessingResult.java:79)\n\tat com.github.fge.jsonschema.core.processing.CachingProcessor$1.load(CachingProcessor.java:141)\n\tat com.github.fge.jsonschema.core.processing.CachingProcessor$1.load(CachingProcessor.java:133)\n\tat com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3445)\n\tat com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2194)\n\tat com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2153)\n\tat com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2043)\n\tat com.google.common.cache.LocalCache.get(LocalCache.java:3849)\n\tat com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3873)\n\tat com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4798)\n\tat com.github.fge.jsonschema.core.processing.CachingProcessor.process(CachingProcessor.java:122)\n\tat com.github.fge.jsonschema.processors.validation.InstanceValidator.process(InstanceValidator.java:109)\n\tat com.github.fge.jsonschema.processors.validation.InstanceValidator.process(InstanceValidator.java:58)\n\tat com.github.fge.jsonschema.keyword.validator.draftv3.ExtendsValidator.validate(ExtendsValidator.java:69)\n\tat com.github.fge.jsonschema.processors.validation.InstanceValidator.process(InstanceValidator.java:128)\n\tat com.github.fge.jsonschema.processors.validation.ValidationProcessor.process(ValidationProcessor.java:56)\n\tat com.github.fge.jsonschema.processors.validation.ValidationProcessor.process(ValidationProcessor.java:34)\n\tat com.github.fge.jsonschema.core.processing.ProcessingResult.of(ProcessingResult.java:79)\n\tat com.github.fge.jsonschema.main.JsonValidator.validate(JsonValidator.java:104)\n\tat com.github.fge.jsonschema.main.JsonValidator.validate(JsonValidator.java:124)\n\tat BowtieJsonSchemaValidator.lambda$run$1(BowtieJsonSchemaValidator.java:141)\n\tat java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215)\n\tat java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1709)\n\tat java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)\n\tat java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)\n\tat java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:636)\n\tat java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:291)\n\tat java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:656)\n\tat java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:662)\n\tat java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:667)\n\tat BowtieJsonSchemaValidator.run(BowtieJsonSchemaValidator.java:150)\n\tat BowtieJsonSchemaValidator.handle(BowtieJsonSchemaValidator.java:57)\n\tat java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)\n\tat java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)\n\tat java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:807)\n\tat BowtieJsonSchemaValidator.run(BowtieJsonSchemaValidator.java:47)\n\tat BowtieJsonSchemaValidator.main(BowtieJsonSchemaValidator.java:41)\n"}, "errored": true, "skipped": false}]}
{"seq": 78, "implementation": "php-justinrainbow-json-schema", "expected": [false, true], "results": [{"context": {"message": "file_get_contents(http://localhost:1234/sibling_id/foo.json): Failed to open stream: Connection refused", "traceback": "#0 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.php(208): JsonSchema\\Uri\\Retrievers\\FileGetContents->retrieve('http://localhos...')\n#1 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.php(181): JsonSchema\\Uri\\UriRetriever->loadSchema('http://localhos...')\n#2 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(52): JsonSchema\\Uri\\UriRetriever->retrieve('http://localhos...')\n#3 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(115): JsonSchema\\SchemaStorage->addSchema('http://localhos...')\n#4 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(138): JsonSchema\\SchemaStorage->getSchema('http://localhos...')\n#5 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(170): JsonSchema\\SchemaStorage->resolveRef('http://localhos...', Array)\n#6 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.php(126): JsonSchema\\SchemaStorage->resolveRefSchema(Object(stdClass))\n#7 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/UndefinedConstraint.php(124): JsonSchema\\Constraints\\Constraint->checkUndefined('a', Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), NULL)\n#8 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/UndefinedConstraint.php(47): JsonSchema\\Constraints\\UndefinedConstraint->validateCommonProperties('a', Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), NULL)\n#9 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.php(126): JsonSchema\\Constraints\\UndefinedConstraint->check('a', Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), NULL, false)\n#10 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/SchemaConstraint.php(93): JsonSchema\\Constraints\\Constraint->checkUndefined('a', Object(stdClass), NULL, NULL)\n#11 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Validator.php(67): JsonSchema\\Constraints\\SchemaConstraint->check('a', Object(stdClass))\n#12 /usr/src/json-schema/src/TestHarness.php(118): JsonSchema\\Validator->validate('a', Object(stdClass))\n#13 /usr/src/json-schema/src/TestHarness.php(47): JsonRainbow\\TestHarness->run(Object(stdClass))\n#14 /usr/src/json-schema/bootstrap.php(14): JsonRainbow\\TestHarness->__invoke()\n#15 {main}"}, "errored": true, "skipped": false}, {"context": {"message": "file_get_contents(http://localhost:1234/sibling_id/foo.json): Failed to open stream: Connection refused", "traceback": "#0 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.php(208): JsonSchema\\Uri\\Retrievers\\FileGetContents->retrieve('http://localhos...')\n#1 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.php(181): JsonSchema\\Uri\\UriRetriever->loadSchema('http://localhos...')\n#2 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(52): JsonSchema\\Uri\\UriRetriever->retrieve('http://localhos...')\n#3 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(115): JsonSchema\\SchemaStorage->addSchema('http://localhos...')\n#4 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(138): JsonSchema\\SchemaStorage->getSchema('http://localhos...')\n#5 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(170): JsonSchema\\SchemaStorage->resolveRef('http://localhos...', Array)\n#6 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.php(126): JsonSchema\\SchemaStorage->resolveRefSchema(Object(stdClass))\n#7 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/UndefinedConstraint.php(124): JsonSchema\\Constraints\\Constraint->checkUndefined(1, Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), NULL)\n#8 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/UndefinedConstraint.php(47): JsonSchema\\Constraints\\UndefinedConstraint->validateCommonProperties(1, Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), NULL)\n#9 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.php(126): JsonSchema\\Constraints\\UndefinedConstraint->check(1, Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), NULL, false)\n#10 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/SchemaConstraint.php(93): JsonSchema\\Constraints\\Constraint->checkUndefined(1, Object(stdClass), NULL, NULL)\n#11 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Validator.php(67): JsonSchema\\Constraints\\SchemaConstraint->check(1, Object(stdClass))\n#12 /usr/src/json-schema/src/TestHarness.php(118): JsonSchema\\Validator->validate(1, Object(stdClass))\n#13 /usr/src/json-schema/src/TestHarness.php(47): JsonRainbow\\TestHarness->run(Object(stdClass))\n#14 /usr/src/json-schema/bootstrap.php(14): JsonRainbow\\TestHarness->__invoke()\n#15 {main}"}, "errored": true, "skipped": false}]}
{"seq": 79, "case": {"description": "remote ref, containing refs itself", "schema": {"$ref": "http://json-schema.org/draft-03/schema#"}, "tests": [{"description": "remote ref valid", "instance": {"items": {"type": "integer"}}, "valid": true}, {"description": "remote ref invalid", "instance": {"items": {"type": 1}}, "valid": false}]}}
{"seq": 79, "implementation": "python-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 79, "implementation": "js-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 79, "implementation": "java-jsonschemafriend", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 79, "implementation": "php-justinrainbow-json-schema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 79, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 80, "case": {"description": "naive replacement of $ref with its destination is not correct", "schema": {"definitions": {"a_string": {"type": "string"}}, "enum": [{"$ref": "#/definitions/a_string"}]}, "tests": [{"description": "do not evaluate the $ref inside the enum, matching any string", "instance": "this is a string", "valid": false}, {"description": "match the enum exactly", "instance": {"$ref": "#/definitions/a_string"}, "valid": true}]}}
{"seq": 80, "implementation": "python-jsonschema", "expected": [false, true], "results": [{"valid": false}, {"valid": true}]}
{"seq": 80, "implementation": "js-jsonschema", "expected": [false, true], "results": [{"valid": false}, {"valid": true}]}
{"seq": 80, "implementation": "php-justinrainbow-json-schema", "expected": [false, true], "results": [{"valid": false}, {"valid": false}]}
{"seq": 80, "implementation": "java-json-tools-json-schema-validator", "expected": [false, true], "results": [{"valid": false}, {"valid": true}]}
{"seq": 80, "implementation": "java-jsonschemafriend", "expected": [false, true], "results": [{"valid": false}, {"valid": true}]}
{"seq": 81, "case": {"description": "remote ref", "schema": {"$ref": "http://localhost:1234/integer.json"}, "tests": [{"description": "remote ref valid", "instance": 1, "valid": true}, {"description": "remote ref invalid", "instance": "a", "valid": false}], "registry": {"http://localhost:1234/name-defs.json": {"$defs": {"orNull": {"anyOf": [{"type": "null"}, {"$ref": "#"}]}}, "type": "string"}, "http://localhost:1234/baseUriChangeFolderInSubschema/folderInteger.json": {"type": "integer"}, "http://localhost:1234/ref-and-defs.json": {"$id": "http://localhost:1234/ref-and-defs.json", "$defs": {"inner": {"properties": {"bar": {"type": "string"}}}}, "$ref": "#/$defs/inner"}, "http://localhost:1234/baseUriChange/folderInteger.json": {"type": "integer"}, "http://localhost:1234/different-id-ref-string.json": {"$id": "http://localhost:1234/real-id-ref-string.json", "$defs": {"bar": {"type": "string"}}, "$ref": "#/$defs/bar"}, "http://localhost:1234/baseUriChangeFolder/folderInteger.json": {"type": "integer"}, "http://localhost:1234/nested-absolute-ref-to-string.json": {"$defs": {"bar": {"$id": "http://localhost:1234/the-nested-id.json", "type": "string"}}, "$ref": "http://localhost:1234/the-nested-id.json"}, "http://localhost:1234/integer.json": {"type": "integer"}, "http://localhost:1234/urn-ref-string.json": {"$id": "urn:uuid:feebdaed-ffff-0000-ffff-0000deadbeef", "$defs": {"bar": {"type": "string"}}, "$ref": "#/$defs/bar"}, "http://localhost:1234/nested/string.json": {"type": "string"}, "http://localhost:1234/draft3/subSchemas.json": {"definitions": {"integer": {"type": "integer"}, "refToInteger": {"$ref": "#/definitions/integer"}}}, "http://localhost:1234/locationIndependentIdentifier.json": {"$defs": {"refToInteger": {"$ref": "#foo"}, "A": {"$anchor": "foo", "type": "integer"}}}, "http://localhost:1234/extendible-dynamic-ref.json": {"description": "extendible array", "$id": "http://localhost:1234/extendible-dynamic-ref.json", "type": "object", "properties": {"elements": {"type": "array", "items": {"$dynamicRef": "#elements"}}}, "required": ["elements"], "additionalProperties": false, "$defs": {"elements": {"$dynamicAnchor": "elements"}}}, "http://localhost:1234/nested/foo-ref-string.json": {"type": "object", "properties": {"foo": {"$ref": "string.json"}}}}}}
{"seq": 81, "implementation": "python-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 81, "implementation": "php-justinrainbow-json-schema", "expected": [true, false], "results": [{"context": {"message": "file_get_contents(http://localhost:1234/integer.json): Failed to open stream: Connection refused", "traceback": "#0 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.php(208): JsonSchema\\Uri\\Retrievers\\FileGetContents->retrieve('http://localhos...')\n#1 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.php(181): JsonSchema\\Uri\\UriRetriever->loadSchema('http://localhos...')\n#2 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(52): JsonSchema\\Uri\\UriRetriever->retrieve('http://localhos...')\n#3 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(115): JsonSchema\\SchemaStorage->addSchema('http://localhos...')\n#4 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(138): JsonSchema\\SchemaStorage->getSchema('http://localhos...')\n#5 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(170): JsonSchema\\SchemaStorage->resolveRef('http://localhos...', Array)\n#6 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.php(126): JsonSchema\\SchemaStorage->resolveRefSchema(Object(stdClass))\n#7 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/SchemaConstraint.php(93): JsonSchema\\Constraints\\Constraint->checkUndefined(1, Object(stdClass), NULL, NULL)\n#8 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Validator.php(67): JsonSchema\\Constraints\\SchemaConstraint->check(1, Object(stdClass))\n#9 /usr/src/json-schema/src/TestHarness.php(118): JsonSchema\\Validator->validate(1, Object(stdClass))\n#10 /usr/src/json-schema/src/TestHarness.php(47): JsonRainbow\\TestHarness->run(Object(stdClass))\n#11 /usr/src/json-schema/bootstrap.php(14): JsonRainbow\\TestHarness->__invoke()\n#12 {main}"}, "errored": true, "skipped": false}, {"context": {"message": "file_get_contents(http://localhost:1234/integer.json): Failed to open stream: Connection refused", "traceback": "#0 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.php(208): JsonSchema\\Uri\\Retrievers\\FileGetContents->retrieve('http://localhos...')\n#1 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.php(181): JsonSchema\\Uri\\UriRetriever->loadSchema('http://localhos...')\n#2 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(52): JsonSchema\\Uri\\UriRetriever->retrieve('http://localhos...')\n#3 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(115): JsonSchema\\SchemaStorage->addSchema('http://localhos...')\n#4 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(138): JsonSchema\\SchemaStorage->getSchema('http://localhos...')\n#5 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(170): JsonSchema\\SchemaStorage->resolveRef('http://localhos...', Array)\n#6 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.php(126): JsonSchema\\SchemaStorage->resolveRefSchema(Object(stdClass))\n#7 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/SchemaConstraint.php(93): JsonSchema\\Constraints\\Constraint->checkUndefined('a', Object(stdClass), NULL, NULL)\n#8 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Validator.php(67): JsonSchema\\Constraints\\SchemaConstraint->check('a', Object(stdClass))\n#9 /usr/src/json-schema/src/TestHarness.php(118): JsonSchema\\Validator->validate('a', Object(stdClass))\n#10 /usr/src/json-schema/src/TestHarness.php(47): JsonRainbow\\TestHarness->run(Object(stdClass))\n#11 /usr/src/json-schema/bootstrap.php(14): JsonRainbow\\TestHarness->__invoke()\n#12 {main}"}, "errored": true, "skipped": false}]}
{"seq": 81, "implementation": "js-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 81, "implementation": "java-jsonschemafriend", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 81, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 82, "case": {"description": "fragment within remote ref", "schema": {"$ref": "http://localhost:1234/draft3/subSchemas.json#/definitions/integer"}, "tests": [{"description": "remote fragment valid", "instance": 1, "valid": true}, {"description": "remote fragment invalid", "instance": "a", "valid": false}], "registry": {"http://localhost:1234/name-defs.json": {"$defs": {"orNull": {"anyOf": [{"type": "null"}, {"$ref": "#"}]}}, "type": "string"}, "http://localhost:1234/baseUriChangeFolderInSubschema/folderInteger.json": {"type": "integer"}, "http://localhost:1234/ref-and-defs.json": {"$id": "http://localhost:1234/ref-and-defs.json", "$defs": {"inner": {"properties": {"bar": {"type": "string"}}}}, "$ref": "#/$defs/inner"}, "http://localhost:1234/baseUriChange/folderInteger.json": {"type": "integer"}, "http://localhost:1234/different-id-ref-string.json": {"$id": "http://localhost:1234/real-id-ref-string.json", "$defs": {"bar": {"type": "string"}}, "$ref": "#/$defs/bar"}, "http://localhost:1234/baseUriChangeFolder/folderInteger.json": {"type": "integer"}, "http://localhost:1234/nested-absolute-ref-to-string.json": {"$defs": {"bar": {"$id": "http://localhost:1234/the-nested-id.json", "type": "string"}}, "$ref": "http://localhost:1234/the-nested-id.json"}, "http://localhost:1234/integer.json": {"type": "integer"}, "http://localhost:1234/urn-ref-string.json": {"$id": "urn:uuid:feebdaed-ffff-0000-ffff-0000deadbeef", "$defs": {"bar": {"type": "string"}}, "$ref": "#/$defs/bar"}, "http://localhost:1234/nested/string.json": {"type": "string"}, "http://localhost:1234/draft3/subSchemas.json": {"definitions": {"integer": {"type": "integer"}, "refToInteger": {"$ref": "#/definitions/integer"}}}, "http://localhost:1234/locationIndependentIdentifier.json": {"$defs": {"refToInteger": {"$ref": "#foo"}, "A": {"$anchor": "foo", "type": "integer"}}}, "http://localhost:1234/extendible-dynamic-ref.json": {"description": "extendible array", "$id": "http://localhost:1234/extendible-dynamic-ref.json", "type": "object", "properties": {"elements": {"type": "array", "items": {"$dynamicRef": "#elements"}}}, "required": ["elements"], "additionalProperties": false, "$defs": {"elements": {"$dynamicAnchor": "elements"}}}, "http://localhost:1234/nested/foo-ref-string.json": {"type": "object", "properties": {"foo": {"$ref": "string.json"}}}}}}
{"seq": 82, "implementation": "python-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 82, "implementation": "php-justinrainbow-json-schema", "expected": [true, false], "results": [{"context": {"message": "file_get_contents(http://localhost:1234/draft3/subSchemas.json): Failed to open stream: Connection refused", "traceback": "#0 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.php(208): JsonSchema\\Uri\\Retrievers\\FileGetContents->retrieve('http://localhos...')\n#1 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.php(181): JsonSchema\\Uri\\UriRetriever->loadSchema('http://localhos...')\n#2 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(52): JsonSchema\\Uri\\UriRetriever->retrieve('http://localhos...')\n#3 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(115): JsonSchema\\SchemaStorage->addSchema('http://localhos...')\n#4 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(138): JsonSchema\\SchemaStorage->getSchema('http://localhos...')\n#5 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(170): JsonSchema\\SchemaStorage->resolveRef('http://localhos...', Array)\n#6 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.php(126): JsonSchema\\SchemaStorage->resolveRefSchema(Object(stdClass))\n#7 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/SchemaConstraint.php(93): JsonSchema\\Constraints\\Constraint->checkUndefined(1, Object(stdClass), NULL, NULL)\n#8 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Validator.php(67): JsonSchema\\Constraints\\SchemaConstraint->check(1, Object(stdClass))\n#9 /usr/src/json-schema/src/TestHarness.php(118): JsonSchema\\Validator->validate(1, Object(stdClass))\n#10 /usr/src/json-schema/src/TestHarness.php(47): JsonRainbow\\TestHarness->run(Object(stdClass))\n#11 /usr/src/json-schema/bootstrap.php(14): JsonRainbow\\TestHarness->__invoke()\n#12 {main}"}, "errored": true, "skipped": false}, {"context": {"message": "file_get_contents(http://localhost:1234/draft3/subSchemas.json): Failed to open stream: Connection refused", "traceback": "#0 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.php(208): JsonSchema\\Uri\\Retrievers\\FileGetContents->retrieve('http://localhos...')\n#1 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.php(181): JsonSchema\\Uri\\UriRetriever->loadSchema('http://localhos...')\n#2 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(52): JsonSchema\\Uri\\UriRetriever->retrieve('http://localhos...')\n#3 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(115): JsonSchema\\SchemaStorage->addSchema('http://localhos...')\n#4 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(138): JsonSchema\\SchemaStorage->getSchema('http://localhos...')\n#5 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(170): JsonSchema\\SchemaStorage->resolveRef('http://localhos...', Array)\n#6 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.php(126): JsonSchema\\SchemaStorage->resolveRefSchema(Object(stdClass))\n#7 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/SchemaConstraint.php(93): JsonSchema\\Constraints\\Constraint->checkUndefined('a', Object(stdClass), NULL, NULL)\n#8 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Validator.php(67): JsonSchema\\Constraints\\SchemaConstraint->check('a', Object(stdClass))\n#9 /usr/src/json-schema/src/TestHarness.php(118): JsonSchema\\Validator->validate('a', Object(stdClass))\n#10 /usr/src/json-schema/src/TestHarness.php(47): JsonRainbow\\TestHarness->run(Object(stdClass))\n#11 /usr/src/json-schema/bootstrap.php(14): JsonRainbow\\TestHarness->__invoke()\n#12 {main}"}, "errored": true, "skipped": false}]}
{"seq": 82, "implementation": "js-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 82, "implementation": "java-jsonschemafriend", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 82, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 83, "case": {"description": "ref within remote ref", "schema": {"$ref": "http://localhost:1234/draft3/subSchemas.json#/definitions/refToInteger"}, "tests": [{"description": "ref within ref valid", "instance": 1, "valid": true}, {"description": "ref within ref invalid", "instance": "a", "valid": false}], "registry": {"http://localhost:1234/name-defs.json": {"$defs": {"orNull": {"anyOf": [{"type": "null"}, {"$ref": "#"}]}}, "type": "string"}, "http://localhost:1234/baseUriChangeFolderInSubschema/folderInteger.json": {"type": "integer"}, "http://localhost:1234/ref-and-defs.json": {"$id": "http://localhost:1234/ref-and-defs.json", "$defs": {"inner": {"properties": {"bar": {"type": "string"}}}}, "$ref": "#/$defs/inner"}, "http://localhost:1234/baseUriChange/folderInteger.json": {"type": "integer"}, "http://localhost:1234/different-id-ref-string.json": {"$id": "http://localhost:1234/real-id-ref-string.json", "$defs": {"bar": {"type": "string"}}, "$ref": "#/$defs/bar"}, "http://localhost:1234/baseUriChangeFolder/folderInteger.json": {"type": "integer"}, "http://localhost:1234/nested-absolute-ref-to-string.json": {"$defs": {"bar": {"$id": "http://localhost:1234/the-nested-id.json", "type": "string"}}, "$ref": "http://localhost:1234/the-nested-id.json"}, "http://localhost:1234/integer.json": {"type": "integer"}, "http://localhost:1234/urn-ref-string.json": {"$id": "urn:uuid:feebdaed-ffff-0000-ffff-0000deadbeef", "$defs": {"bar": {"type": "string"}}, "$ref": "#/$defs/bar"}, "http://localhost:1234/nested/string.json": {"type": "string"}, "http://localhost:1234/draft3/subSchemas.json": {"definitions": {"integer": {"type": "integer"}, "refToInteger": {"$ref": "#/definitions/integer"}}}, "http://localhost:1234/locationIndependentIdentifier.json": {"$defs": {"refToInteger": {"$ref": "#foo"}, "A": {"$anchor": "foo", "type": "integer"}}}, "http://localhost:1234/extendible-dynamic-ref.json": {"description": "extendible array", "$id": "http://localhost:1234/extendible-dynamic-ref.json", "type": "object", "properties": {"elements": {"type": "array", "items": {"$dynamicRef": "#elements"}}}, "required": ["elements"], "additionalProperties": false, "$defs": {"elements": {"$dynamicAnchor": "elements"}}}, "http://localhost:1234/nested/foo-ref-string.json": {"type": "object", "properties": {"foo": {"$ref": "string.json"}}}}}}
{"seq": 83, "implementation": "python-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 83, "implementation": "php-justinrainbow-json-schema", "expected": [true, false], "results": [{"context": {"message": "file_get_contents(http://localhost:1234/draft3/subSchemas.json): Failed to open stream: Connection refused", "traceback": "#0 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.php(208): JsonSchema\\Uri\\Retrievers\\FileGetContents->retrieve('http://localhos...')\n#1 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.php(181): JsonSchema\\Uri\\UriRetriever->loadSchema('http://localhos...')\n#2 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(52): JsonSchema\\Uri\\UriRetriever->retrieve('http://localhos...')\n#3 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(115): JsonSchema\\SchemaStorage->addSchema('http://localhos...')\n#4 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(138): JsonSchema\\SchemaStorage->getSchema('http://localhos...')\n#5 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(170): JsonSchema\\SchemaStorage->resolveRef('http://localhos...', Array)\n#6 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.php(126): JsonSchema\\SchemaStorage->resolveRefSchema(Object(stdClass))\n#7 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/SchemaConstraint.php(93): JsonSchema\\Constraints\\Constraint->checkUndefined(1, Object(stdClass), NULL, NULL)\n#8 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Validator.php(67): JsonSchema\\Constraints\\SchemaConstraint->check(1, Object(stdClass))\n#9 /usr/src/json-schema/src/TestHarness.php(118): JsonSchema\\Validator->validate(1, Object(stdClass))\n#10 /usr/src/json-schema/src/TestHarness.php(47): JsonRainbow\\TestHarness->run(Object(stdClass))\n#11 /usr/src/json-schema/bootstrap.php(14): JsonRainbow\\TestHarness->__invoke()\n#12 {main}"}, "errored": true, "skipped": false}, {"context": {"message": "file_get_contents(http://localhost:1234/draft3/subSchemas.json): Failed to open stream: Connection refused", "traceback": "#0 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.php(208): JsonSchema\\Uri\\Retrievers\\FileGetContents->retrieve('http://localhos...')\n#1 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.php(181): JsonSchema\\Uri\\UriRetriever->loadSchema('http://localhos...')\n#2 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(52): JsonSchema\\Uri\\UriRetriever->retrieve('http://localhos...')\n#3 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(115): JsonSchema\\SchemaStorage->addSchema('http://localhos...')\n#4 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(138): JsonSchema\\SchemaStorage->getSchema('http://localhos...')\n#5 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(170): JsonSchema\\SchemaStorage->resolveRef('http://localhos...', Array)\n#6 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.php(126): JsonSchema\\SchemaStorage->resolveRefSchema(Object(stdClass))\n#7 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/SchemaConstraint.php(93): JsonSchema\\Constraints\\Constraint->checkUndefined('a', Object(stdClass), NULL, NULL)\n#8 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Validator.php(67): JsonSchema\\Constraints\\SchemaConstraint->check('a', Object(stdClass))\n#9 /usr/src/json-schema/src/TestHarness.php(118): JsonSchema\\Validator->validate('a', Object(stdClass))\n#10 /usr/src/json-schema/src/TestHarness.php(47): JsonRainbow\\TestHarness->run(Object(stdClass))\n#11 /usr/src/json-schema/bootstrap.php(14): JsonRainbow\\TestHarness->__invoke()\n#12 {main}"}, "errored": true, "skipped": false}]}
{"seq": 83, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 83, "implementation": "js-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 83, "implementation": "java-jsonschemafriend", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 84, "case": {"description": "change resolution scope", "schema": {"id": "http://localhost:1234/", "items": {"id": "baseUriChange/", "items": {"$ref": "folderInteger.json"}}}, "tests": [{"description": "changed scope ref valid", "instance": [[1]], "valid": true}, {"description": "changed scope ref invalid", "instance": [["a"]], "valid": false}], "registry": {"http://localhost:1234/name-defs.json": {"$defs": {"orNull": {"anyOf": [{"type": "null"}, {"$ref": "#"}]}}, "type": "string"}, "http://localhost:1234/baseUriChangeFolderInSubschema/folderInteger.json": {"type": "integer"}, "http://localhost:1234/ref-and-defs.json": {"$id": "http://localhost:1234/ref-and-defs.json", "$defs": {"inner": {"properties": {"bar": {"type": "string"}}}}, "$ref": "#/$defs/inner"}, "http://localhost:1234/baseUriChange/folderInteger.json": {"type": "integer"}, "http://localhost:1234/different-id-ref-string.json": {"$id": "http://localhost:1234/real-id-ref-string.json", "$defs": {"bar": {"type": "string"}}, "$ref": "#/$defs/bar"}, "http://localhost:1234/baseUriChangeFolder/folderInteger.json": {"type": "integer"}, "http://localhost:1234/nested-absolute-ref-to-string.json": {"$defs": {"bar": {"$id": "http://localhost:1234/the-nested-id.json", "type": "string"}}, "$ref": "http://localhost:1234/the-nested-id.json"}, "http://localhost:1234/integer.json": {"type": "integer"}, "http://localhost:1234/urn-ref-string.json": {"$id": "urn:uuid:feebdaed-ffff-0000-ffff-0000deadbeef", "$defs": {"bar": {"type": "string"}}, "$ref": "#/$defs/bar"}, "http://localhost:1234/nested/string.json": {"type": "string"}, "http://localhost:1234/draft3/subSchemas.json": {"definitions": {"integer": {"type": "integer"}, "refToInteger": {"$ref": "#/definitions/integer"}}}, "http://localhost:1234/locationIndependentIdentifier.json": {"$defs": {"refToInteger": {"$ref": "#foo"}, "A": {"$anchor": "foo", "type": "integer"}}}, "http://localhost:1234/extendible-dynamic-ref.json": {"description": "extendible array", "$id": "http://localhost:1234/extendible-dynamic-ref.json", "type": "object", "properties": {"elements": {"type": "array", "items": {"$dynamicRef": "#elements"}}}, "required": ["elements"], "additionalProperties": false, "$defs": {"elements": {"$dynamicAnchor": "elements"}}}, "http://localhost:1234/nested/foo-ref-string.json": {"type": "object", "properties": {"foo": {"$ref": "string.json"}}}}}}
{"seq": 84, "implementation": "python-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 84, "implementation": "php-justinrainbow-json-schema", "expected": [true, false], "results": [{"context": {"message": "file_get_contents(http://localhost:1234/baseUriChange/folderInteger.json): Failed to open stream: Connection refused", "traceback": "#0 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.php(208): JsonSchema\\Uri\\Retrievers\\FileGetContents->retrieve('http://localhos...')\n#1 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.php(181): JsonSchema\\Uri\\UriRetriever->loadSchema('http://localhos...')\n#2 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(52): JsonSchema\\Uri\\UriRetriever->retrieve('http://localhos...')\n#3 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(115): JsonSchema\\SchemaStorage->addSchema('http://localhos...')\n#4 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(138): JsonSchema\\SchemaStorage->getSchema('http://localhos...')\n#5 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(170): JsonSchema\\SchemaStorage->resolveRef('http://localhos...', Array)\n#6 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.php(126): JsonSchema\\SchemaStorage->resolveRefSchema(Object(stdClass))\n#7 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/CollectionConstraint.php(73): JsonSchema\\Constraints\\Constraint->checkUndefined(1, Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), 0)\n#8 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/CollectionConstraint.php(53): JsonSchema\\Constraints\\CollectionConstraint->validateItems(Array, Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), 0)\n#9 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.php(72): JsonSchema\\Constraints\\CollectionConstraint->check(Array, Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), 0)\n#10 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/UndefinedConstraint.php(68): JsonSchema\\Constraints\\Constraint->checkArray(Array, Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), 0)\n#11 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/UndefinedConstraint.php(53): JsonSchema\\Constraints\\UndefinedConstraint->validateTypes(Array, Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), 0)\n#12 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.php(126): JsonSchema\\Constraints\\UndefinedConstraint->check(Array, Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), 0, false)\n#13 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/CollectionConstraint.php(73): JsonSchema\\Constraints\\Constraint->checkUndefined(Array, Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), 0)\n#14 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/CollectionConstraint.php(53): JsonSchema\\Constraints\\CollectionConstraint->validateItems(Array, Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), NULL)\n#15 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.php(72): JsonSchema\\Constraints\\CollectionConstraint->check(Array, Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), NULL)\n#16 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/UndefinedConstraint.php(68): JsonSchema\\Constraints\\Constraint->checkArray(Array, Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), NULL)\n#17 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/UndefinedConstraint.php(53): JsonSchema\\Constraints\\UndefinedConstraint->validateTypes(Array, Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), NULL)\n#18 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.php(126): JsonSchema\\Constraints\\UndefinedConstraint->check(Array, Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), NULL, false)\n#19 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/SchemaConstraint.php(93): JsonSchema\\Constraints\\Constraint->checkUndefined(Array, Object(stdClass), NULL, NULL)\n#20 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Validator.php(67): JsonSchema\\Constraints\\SchemaConstraint->check(Array, Object(stdClass))\n#21 /usr/src/json-schema/src/TestHarness.php(118): JsonSchema\\Validator->validate(Array, Object(stdClass))\n#22 /usr/src/json-schema/src/TestHarness.php(47): JsonRainbow\\TestHarness->run(Object(stdClass))\n#23 /usr/src/json-schema/bootstrap.php(14): JsonRainbow\\TestHarness->__invoke()\n#24 {main}"}, "errored": true, "skipped": false}, {"context": {"message": "file_get_contents(http://localhost:1234/baseUriChange/folderInteger.json): Failed to open stream: Connection refused", "traceback": "#0 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.php(208): JsonSchema\\Uri\\Retrievers\\FileGetContents->retrieve('http://localhos...')\n#1 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.php(181): JsonSchema\\Uri\\UriRetriever->loadSchema('http://localhos...')\n#2 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(52): JsonSchema\\Uri\\UriRetriever->retrieve('http://localhos...')\n#3 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(115): JsonSchema\\SchemaStorage->addSchema('http://localhos...')\n#4 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(138): JsonSchema\\SchemaStorage->getSchema('http://localhos...')\n#5 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php(170): JsonSchema\\SchemaStorage->resolveRef('http://localhos...', Array)\n#6 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.php(126): JsonSchema\\SchemaStorage->resolveRefSchema(Object(stdClass))\n#7 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/CollectionConstraint.php(73): JsonSchema\\Constraints\\Constraint->checkUndefined('a', Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), 0)\n#8 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/CollectionConstraint.php(53): JsonSchema\\Constraints\\CollectionConstraint->validateItems(Array, Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), 0)\n#9 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.php(72): JsonSchema\\Constraints\\CollectionConstraint->check(Array, Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), 0)\n#10 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/UndefinedConstraint.php(68): JsonSchema\\Constraints\\Constraint->checkArray(Array, Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), 0)\n#11 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/UndefinedConstraint.php(53): JsonSchema\\Constraints\\UndefinedConstraint->validateTypes(Array, Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), 0)\n#12 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.php(126): JsonSchema\\Constraints\\UndefinedConstraint->check(Array, Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), 0, false)\n#13 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/CollectionConstraint.php(73): JsonSchema\\Constraints\\Constraint->checkUndefined(Array, Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), 0)\n#14 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/CollectionConstraint.php(53): JsonSchema\\Constraints\\CollectionConstraint->validateItems(Array, Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), NULL)\n#15 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.php(72): JsonSchema\\Constraints\\CollectionConstraint->check(Array, Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), NULL)\n#16 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/UndefinedConstraint.php(68): JsonSchema\\Constraints\\Constraint->checkArray(Array, Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), NULL)\n#17 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/UndefinedConstraint.php(53): JsonSchema\\Constraints\\UndefinedConstraint->validateTypes(Array, Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), NULL)\n#18 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.php(126): JsonSchema\\Constraints\\UndefinedConstraint->check(Array, Object(stdClass), Object(JsonSchema\\Entity\\JsonPointer), NULL, false)\n#19 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/SchemaConstraint.php(93): JsonSchema\\Constraints\\Constraint->checkUndefined(Array, Object(stdClass), NULL, NULL)\n#20 /usr/src/json-schema/vendor/justinrainbow/json-schema/src/JsonSchema/Validator.php(67): JsonSchema\\Constraints\\SchemaConstraint->check(Array, Object(stdClass))\n#21 /usr/src/json-schema/src/TestHarness.php(118): JsonSchema\\Validator->validate(Array, Object(stdClass))\n#22 /usr/src/json-schema/src/TestHarness.php(47): JsonRainbow\\TestHarness->run(Object(stdClass))\n#23 /usr/src/json-schema/bootstrap.php(14): JsonRainbow\\TestHarness->__invoke()\n#24 {main}"}, "errored": true, "skipped": false}]}
{"seq": 84, "implementation": "js-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 84, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 84, "implementation": "java-jsonschemafriend", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 85, "case": {"description": "required validation", "schema": {"properties": {"foo": {"required": true}, "bar": {}}}, "tests": [{"description": "present required property is valid", "instance": {"foo": 1}, "valid": true}, {"description": "non-present required property is invalid", "instance": {"bar": 1}, "valid": false}]}}
{"seq": 85, "implementation": "python-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 85, "implementation": "php-justinrainbow-json-schema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 85, "implementation": "java-jsonschemafriend", "expected": [true, false], "context": {"message": "{valid=false, keywordLocation=http://json-schema.org/draft-04/schema, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#, instanceLocation=, errors=[{valid=false, error=Expected: [array] Found: [boolean], keywordLocation=http://json-schema.org/draft-04/schema#/definitions/stringArray, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#/definitions/stringArray, instanceLocation=#/properties/foo/required}]}", "traceback": "net.jimblackler.jsonschemafriend.StandardGenerationException: {valid=false, keywordLocation=http://json-schema.org/draft-04/schema, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#, instanceLocation=, errors=[{valid=false, error=Expected: [array] Found: [boolean], keywordLocation=http://json-schema.org/draft-04/schema#/definitions/stringArray, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#/definitions/stringArray, instanceLocation=#/properties/foo/required}]}\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:233)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:138)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:94)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:86)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchemaJson(SchemaStore.java:131)\n\tat BowtieJsonSchemaFriend.run(BowtieJsonSchemaFriend.java:118)\n\tat BowtieJsonSchemaFriend.handle(BowtieJsonSchemaFriend.java:42)\n\tat java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)\n\tat java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)\n\tat java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:807)\n\tat BowtieJsonSchemaFriend.run(BowtieJsonSchemaFriend.java:32)\n\tat BowtieJsonSchemaFriend.main(BowtieJsonSchemaFriend.java:26)\n"}, "message": "", "caught": true, "errored": true}
{"seq": 85, "implementation": "js-jsonschema", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 85, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false], "results": [{"valid": true}, {"valid": false}]}
{"seq": 86, "case": {"description": "required default validation", "schema": {"properties": {"foo": {}}}, "tests": [{"description": "not required by default", "instance": {}, "valid": true}]}}
{"seq": 86, "implementation": "python-jsonschema", "expected": [true], "results": [{"valid": true}]}
{"seq": 86, "implementation": "php-justinrainbow-json-schema", "expected": [true], "results": [{"valid": true}]}
{"seq": 86, "implementation": "java-json-tools-json-schema-validator", "expected": [true], "results": [{"valid": true}]}
{"seq": 86, "implementation": "js-jsonschema", "expected": [true], "results": [{"valid": true}]}
{"seq": 86, "implementation": "java-jsonschemafriend", "expected": [true], "results": [{"valid": true}]}
{"seq": 87, "case": {"description": "required explicitly false validation", "schema": {"properties": {"foo": {"required": false}}}, "tests": [{"description": "not required if required is false", "instance": {}, "valid": true}]}}
{"seq": 87, "implementation": "python-jsonschema", "expected": [true], "results": [{"valid": true}]}
{"seq": 87, "implementation": "php-justinrainbow-json-schema", "expected": [true], "results": [{"valid": true}]}
{"seq": 87, "implementation": "java-json-tools-json-schema-validator", "expected": [true], "results": [{"valid": true}]}
{"seq": 87, "implementation": "js-jsonschema", "expected": [true], "results": [{"valid": true}]}
{"seq": 87, "implementation": "java-jsonschemafriend", "expected": [true], "context": {"message": "{valid=false, keywordLocation=http://json-schema.org/draft-04/schema, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#, instanceLocation=, errors=[{valid=false, error=Expected: [array] Found: [boolean], keywordLocation=http://json-schema.org/draft-04/schema#/definitions/stringArray, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#/definitions/stringArray, instanceLocation=#/properties/foo/required}]}", "traceback": "net.jimblackler.jsonschemafriend.StandardGenerationException: {valid=false, keywordLocation=http://json-schema.org/draft-04/schema, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#, instanceLocation=, errors=[{valid=false, error=Expected: [array] Found: [boolean], keywordLocation=http://json-schema.org/draft-04/schema#/definitions/stringArray, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#/definitions/stringArray, instanceLocation=#/properties/foo/required}]}\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:233)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:138)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:94)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:86)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchemaJson(SchemaStore.java:131)\n\tat BowtieJsonSchemaFriend.run(BowtieJsonSchemaFriend.java:118)\n\tat BowtieJsonSchemaFriend.handle(BowtieJsonSchemaFriend.java:42)\n\tat java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)\n\tat java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)\n\tat java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:807)\n\tat BowtieJsonSchemaFriend.run(BowtieJsonSchemaFriend.java:32)\n\tat BowtieJsonSchemaFriend.main(BowtieJsonSchemaFriend.java:26)\n"}, "message": "", "caught": true, "errored": true}
{"seq": 88, "case": {"description": "integer type matches integers", "schema": {"type": "integer"}, "tests": [{"description": "an integer is an integer", "instance": 1, "valid": true}, {"description": "a float is not an integer", "instance": 1.1, "valid": false}, {"description": "a string is not an integer", "instance": "foo", "valid": false}, {"description": "a string is still not an integer, even if it looks like one", "instance": "1", "valid": false}, {"description": "an object is not an integer", "instance": {}, "valid": false}, {"description": "an array is not an integer", "instance": [], "valid": false}, {"description": "a boolean is not an integer", "instance": true, "valid": false}, {"description": "null is not an integer", "instance": null, "valid": false}]}}
{"seq": 88, "implementation": "python-jsonschema", "expected": [true, false, false, false, false, false, false, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 88, "implementation": "php-justinrainbow-json-schema", "expected": [true, false, false, false, false, false, false, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 88, "implementation": "js-jsonschema", "expected": [true, false, false, false, false, false, false, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 88, "implementation": "java-jsonschemafriend", "expected": [true, false, false, false, false, false, false, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 88, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false, false, false, false, false, false, false], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 89, "case": {"description": "number type matches numbers", "schema": {"type": "number"}, "tests": [{"description": "an integer is a number", "instance": 1, "valid": true}, {"description": "a float with zero fractional part is a number", "instance": 1.0, "valid": true}, {"description": "a float is a number", "instance": 1.1, "valid": true}, {"description": "a string is not a number", "instance": "foo", "valid": false}, {"description": "a string is still not a number, even if it looks like one", "instance": "1", "valid": false}, {"description": "an object is not a number", "instance": {}, "valid": false}, {"description": "an array is not a number", "instance": [], "valid": false}, {"description": "a boolean is not a number", "instance": true, "valid": false}, {"description": "null is not a number", "instance": null, "valid": false}]}}
{"seq": 89, "implementation": "python-jsonschema", "expected": [true, true, true, false, false, false, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 89, "implementation": "js-jsonschema", "expected": [true, true, true, false, false, false, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 89, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, true, false, false, false, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 89, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, true, false, false, false, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 89, "implementation": "java-jsonschemafriend", "expected": [true, true, true, false, false, false, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 90, "case": {"description": "string type matches strings", "schema": {"type": "string"}, "tests": [{"description": "1 is not a string", "instance": 1, "valid": false}, {"description": "a float is not a string", "instance": 1.1, "valid": false}, {"description": "a string is a string", "instance": "foo", "valid": true}, {"description": "a string is still a string, even if it looks like a number", "instance": "1", "valid": true}, {"description": "an object is not a string", "instance": {}, "valid": false}, {"description": "an array is not a string", "instance": [], "valid": false}, {"description": "a boolean is not a string", "instance": true, "valid": false}, {"description": "null is not a string", "instance": null, "valid": false}]}}
{"seq": 90, "implementation": "python-jsonschema", "expected": [false, false, true, true, false, false, false, false], "results": [{"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 90, "implementation": "php-justinrainbow-json-schema", "expected": [false, false, true, true, false, false, false, false], "results": [{"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 90, "implementation": "js-jsonschema", "expected": [false, false, true, true, false, false, false, false], "results": [{"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 90, "implementation": "java-json-tools-json-schema-validator", "expected": [false, false, true, true, false, false, false, false], "results": [{"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 90, "implementation": "java-jsonschemafriend", "expected": [false, false, true, true, false, false, false, false], "results": [{"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 91, "case": {"description": "object type matches objects", "schema": {"type": "object"}, "tests": [{"description": "an integer is not an object", "instance": 1, "valid": false}, {"description": "a float is not an object", "instance": 1.1, "valid": false}, {"description": "a string is not an object", "instance": "foo", "valid": false}, {"description": "an object is an object", "instance": {}, "valid": true}, {"description": "an array is not an object", "instance": [], "valid": false}, {"description": "a boolean is not an object", "instance": true, "valid": false}, {"description": "null is not an object", "instance": null, "valid": false}]}}
{"seq": 91, "implementation": "python-jsonschema", "expected": [false, false, false, true, false, false, false], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 91, "implementation": "php-justinrainbow-json-schema", "expected": [false, false, false, true, false, false, false], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 91, "implementation": "js-jsonschema", "expected": [false, false, false, true, false, false, false], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 91, "implementation": "java-jsonschemafriend", "expected": [false, false, false, true, false, false, false], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 91, "implementation": "java-json-tools-json-schema-validator", "expected": [false, false, false, true, false, false, false], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 92, "case": {"description": "array type matches arrays", "schema": {"type": "array"}, "tests": [{"description": "an integer is not an array", "instance": 1, "valid": false}, {"description": "a float is not an array", "instance": 1.1, "valid": false}, {"description": "a string is not an array", "instance": "foo", "valid": false}, {"description": "an object is not an array", "instance": {}, "valid": false}, {"description": "an array is an array", "instance": [], "valid": true}, {"description": "a boolean is not an array", "instance": true, "valid": false}, {"description": "null is not an array", "instance": null, "valid": false}]}}
{"seq": 92, "implementation": "python-jsonschema", "expected": [false, false, false, false, true, false, false], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 92, "implementation": "php-justinrainbow-json-schema", "expected": [false, false, false, false, true, false, false], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 92, "implementation": "js-jsonschema", "expected": [false, false, false, false, true, false, false], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 92, "implementation": "java-jsonschemafriend", "expected": [false, false, false, false, true, false, false], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 92, "implementation": "java-json-tools-json-schema-validator", "expected": [false, false, false, false, true, false, false], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 93, "case": {"description": "boolean type matches booleans", "schema": {"type": "boolean"}, "tests": [{"description": "an integer is not a boolean", "instance": 1, "valid": false}, {"description": "a float is not a boolean", "instance": 1.1, "valid": false}, {"description": "a string is not a boolean", "instance": "foo", "valid": false}, {"description": "an object is not a boolean", "instance": {}, "valid": false}, {"description": "an array is not a boolean", "instance": [], "valid": false}, {"description": "a boolean is a boolean", "instance": true, "valid": true}, {"description": "null is not a boolean", "instance": null, "valid": false}]}}
{"seq": 93, "implementation": "python-jsonschema", "expected": [false, false, false, false, false, true, false], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}]}
{"seq": 93, "implementation": "php-justinrainbow-json-schema", "expected": [false, false, false, false, false, true, false], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}]}
{"seq": 93, "implementation": "js-jsonschema", "expected": [false, false, false, false, false, true, false], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}]}
{"seq": 93, "implementation": "java-json-tools-json-schema-validator", "expected": [false, false, false, false, false, true, false], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}]}
{"seq": 93, "implementation": "java-jsonschemafriend", "expected": [false, false, false, false, false, true, false], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}]}
{"seq": 94, "case": {"description": "null type matches only the null object", "schema": {"type": "null"}, "tests": [{"description": "an integer is not null", "instance": 1, "valid": false}, {"description": "a float is not null", "instance": 1.1, "valid": false}, {"description": "a string is not null", "instance": "foo", "valid": false}, {"description": "an object is not null", "instance": {}, "valid": false}, {"description": "an array is not null", "instance": [], "valid": false}, {"description": "a boolean is not null", "instance": true, "valid": false}, {"description": "null is null", "instance": null, "valid": true}]}}
{"seq": 94, "implementation": "python-jsonschema", "expected": [false, false, false, false, false, false, true], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}]}
{"seq": 94, "implementation": "php-justinrainbow-json-schema", "expected": [false, false, false, false, false, false, true], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}]}
{"seq": 94, "implementation": "js-jsonschema", "expected": [false, false, false, false, false, false, true], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}]}
{"seq": 94, "implementation": "java-json-tools-json-schema-validator", "expected": [false, false, false, false, false, false, true], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}]}
{"seq": 94, "implementation": "java-jsonschemafriend", "expected": [false, false, false, false, false, false, true], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}]}
{"seq": 95, "case": {"description": "any type matches any type", "schema": {"type": "any"}, "tests": [{"description": "any type includes integers", "instance": 1, "valid": true}, {"description": "any type includes float", "instance": 1.1, "valid": true}, {"description": "any type includes string", "instance": "foo", "valid": true}, {"description": "any type includes object", "instance": {}, "valid": true}, {"description": "any type includes array", "instance": [], "valid": true}, {"description": "any type includes boolean", "instance": true, "valid": true}, {"description": "any type includes null", "instance": null, "valid": true}]}}
{"seq": 95, "implementation": "python-jsonschema", "expected": [true, true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 95, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 95, "implementation": "js-jsonschema", "expected": [true, true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 95, "implementation": "java-jsonschemafriend", "expected": [true, true, true, true, true, true, true], "context": {"message": "{valid=false, keywordLocation=http://json-schema.org/draft-04/schema, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#, instanceLocation=, errors=[{valid=false, error=All anyOf failed: [[\"any\" at #/type failed against http://json-schema.org/draft-04/schema#/definitions/simpleTypes with \"Object not in enums: [array, boolean, integer, null, number, object, string]\"], [\"any\" at #/type failed against http://json-schema.org/draft-04/schema#/properties/type/anyOf/1 with \"Expected: [array] Found: [string]\"]], keywordLocation=http://json-schema.org/draft-04/schema#/properties/type, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#/properties/type, instanceLocation=#/type}]}", "traceback": "net.jimblackler.jsonschemafriend.StandardGenerationException: {valid=false, keywordLocation=http://json-schema.org/draft-04/schema, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#, instanceLocation=, errors=[{valid=false, error=All anyOf failed: [[\"any\" at #/type failed against http://json-schema.org/draft-04/schema#/definitions/simpleTypes with \"Object not in enums: [array, boolean, integer, null, number, object, string]\"], [\"any\" at #/type failed against http://json-schema.org/draft-04/schema#/properties/type/anyOf/1 with \"Expected: [array] Found: [string]\"]], keywordLocation=http://json-schema.org/draft-04/schema#/properties/type, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#/properties/type, instanceLocation=#/type}]}\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:233)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:138)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:94)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:86)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchemaJson(SchemaStore.java:131)\n\tat BowtieJsonSchemaFriend.run(BowtieJsonSchemaFriend.java:118)\n\tat BowtieJsonSchemaFriend.handle(BowtieJsonSchemaFriend.java:42)\n\tat java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)\n\tat java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)\n\tat java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:807)\n\tat BowtieJsonSchemaFriend.run(BowtieJsonSchemaFriend.java:32)\n\tat BowtieJsonSchemaFriend.main(BowtieJsonSchemaFriend.java:26)\n"}, "message": "", "caught": true, "errored": true}
{"seq": 95, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 96, "case": {"description": "multiple types can be specified in an array", "schema": {"type": ["integer", "string"]}, "tests": [{"description": "an integer is valid", "instance": 1, "valid": true}, {"description": "a string is valid", "instance": "foo", "valid": true}, {"description": "a float is invalid", "instance": 1.1, "valid": false}, {"description": "an object is invalid", "instance": {}, "valid": false}, {"description": "an array is invalid", "instance": [], "valid": false}, {"description": "a boolean is invalid", "instance": true, "valid": false}, {"description": "null is invalid", "instance": null, "valid": false}]}}
{"seq": 96, "implementation": "python-jsonschema", "expected": [true, true, false, false, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 96, "implementation": "js-jsonschema", "expected": [true, true, false, false, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 96, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, false, false, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 96, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, false, false, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 96, "implementation": "java-jsonschemafriend", "expected": [true, true, false, false, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 97, "case": {"description": "types can include schemas", "schema": {"type": ["array", {"type": "object"}]}, "tests": [{"description": "an integer is invalid", "instance": 1, "valid": false}, {"description": "a string is invalid", "instance": "foo", "valid": false}, {"description": "a float is invalid", "instance": 1.1, "valid": false}, {"description": "an object is valid", "instance": {}, "valid": true}, {"description": "an array is valid", "instance": [], "valid": true}, {"description": "a boolean is invalid", "instance": true, "valid": false}, {"description": "null is invalid", "instance": null, "valid": false}]}}
{"seq": 97, "implementation": "python-jsonschema", "expected": [false, false, false, true, true, false, false], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 97, "implementation": "js-jsonschema", "expected": [false, false, false, true, true, false, false], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 97, "implementation": "php-justinrainbow-json-schema", "expected": [false, false, false, true, true, false, false], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 97, "implementation": "java-json-tools-json-schema-validator", "expected": [false, false, false, true, true, false, false], "results": [{"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 97, "implementation": "java-jsonschemafriend", "expected": [false, false, false, true, true, false, false], "context": {"message": "{valid=false, keywordLocation=http://json-schema.org/draft-04/schema, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#, instanceLocation=, errors=[{valid=false, error=All anyOf failed: [[[\"array\",{\"type\":\"object\"}] at #/type failed against http://json-schema.org/draft-04/schema#/definitions/simpleTypes with \"Object not in enums: [array, boolean, integer, null, number, object, string]\"], [{\"type\":\"object\"} at #/type/1 failed against http://json-schema.org/draft-04/schema#/definitions/simpleTypes with \"Object not in enums: [array, boolean, integer, null, number, object, string]\"]], keywordLocation=http://json-schema.org/draft-04/schema#/properties/type, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#/properties/type, instanceLocation=#/type}]}", "traceback": "net.jimblackler.jsonschemafriend.StandardGenerationException: {valid=false, keywordLocation=http://json-schema.org/draft-04/schema, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#, instanceLocation=, errors=[{valid=false, error=All anyOf failed: [[[\"array\",{\"type\":\"object\"}] at #/type failed against http://json-schema.org/draft-04/schema#/definitions/simpleTypes with \"Object not in enums: [array, boolean, integer, null, number, object, string]\"], [{\"type\":\"object\"} at #/type/1 failed against http://json-schema.org/draft-04/schema#/definitions/simpleTypes with \"Object not in enums: [array, boolean, integer, null, number, object, string]\"]], keywordLocation=http://json-schema.org/draft-04/schema#/properties/type, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#/properties/type, instanceLocation=#/type}]}\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:233)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:138)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:94)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:86)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchemaJson(SchemaStore.java:131)\n\tat BowtieJsonSchemaFriend.run(BowtieJsonSchemaFriend.java:118)\n\tat BowtieJsonSchemaFriend.handle(BowtieJsonSchemaFriend.java:42)\n\tat java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)\n\tat java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)\n\tat java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:807)\n\tat BowtieJsonSchemaFriend.run(BowtieJsonSchemaFriend.java:32)\n\tat BowtieJsonSchemaFriend.main(BowtieJsonSchemaFriend.java:26)\n"}, "message": "", "caught": true, "errored": true}
{"seq": 98, "case": {"description": "applies a nested schema", "schema": {"type": ["integer", {"properties": {"foo": {"type": "null"}}}]}, "tests": [{"description": "an integer is valid", "instance": 1, "valid": true}, {"description": "an object is valid only if it is fully valid", "instance": {"foo": null}, "valid": true}, {"description": "an object is invalid otherwise", "instance": {"foo": "bar"}, "valid": false}]}}
{"seq": 98, "implementation": "python-jsonschema", "expected": [true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 98, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 98, "implementation": "js-jsonschema", "expected": [true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 98, "implementation": "java-jsonschemafriend", "expected": [true, true, false], "context": {"message": "{valid=false, keywordLocation=http://json-schema.org/draft-04/schema, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#, instanceLocation=, errors=[{valid=false, error=All anyOf failed: [[[\"integer\",{\"properties\":{\"foo\":{\"type\":\"null\"}}}] at #/type failed against http://json-schema.org/draft-04/schema#/definitions/simpleTypes with \"Object not in enums: [array, boolean, integer, null, number, object, string]\"], [{\"properties\":{\"foo\":{\"type\":\"null\"}}} at #/type/1 failed against http://json-schema.org/draft-04/schema#/definitions/simpleTypes with \"Object not in enums: [array, boolean, integer, null, number, object, string]\"]], keywordLocation=http://json-schema.org/draft-04/schema#/properties/type, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#/properties/type, instanceLocation=#/type}]}", "traceback": "net.jimblackler.jsonschemafriend.StandardGenerationException: {valid=false, keywordLocation=http://json-schema.org/draft-04/schema, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#, instanceLocation=, errors=[{valid=false, error=All anyOf failed: [[[\"integer\",{\"properties\":{\"foo\":{\"type\":\"null\"}}}] at #/type failed against http://json-schema.org/draft-04/schema#/definitions/simpleTypes with \"Object not in enums: [array, boolean, integer, null, number, object, string]\"], [{\"properties\":{\"foo\":{\"type\":\"null\"}}} at #/type/1 failed against http://json-schema.org/draft-04/schema#/definitions/simpleTypes with \"Object not in enums: [array, boolean, integer, null, number, object, string]\"]], keywordLocation=http://json-schema.org/draft-04/schema#/properties/type, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#/properties/type, instanceLocation=#/type}]}\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:233)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:138)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:94)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:86)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchemaJson(SchemaStore.java:131)\n\tat BowtieJsonSchemaFriend.run(BowtieJsonSchemaFriend.java:118)\n\tat BowtieJsonSchemaFriend.handle(BowtieJsonSchemaFriend.java:42)\n\tat java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)\n\tat java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)\n\tat java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:807)\n\tat BowtieJsonSchemaFriend.run(BowtieJsonSchemaFriend.java:32)\n\tat BowtieJsonSchemaFriend.main(BowtieJsonSchemaFriend.java:26)\n"}, "message": "", "caught": true, "errored": true}
{"seq": 98, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 99, "case": {"description": "types from separate schemas are merged", "schema": {"type": [{"type": ["string"]}, {"type": ["array", "null"]}]}, "tests": [{"description": "an integer is invalid", "instance": 1, "valid": false}, {"description": "a string is valid", "instance": "foo", "valid": true}, {"description": "an array is valid", "instance": [1, 2, 3], "valid": true}]}}
{"seq": 99, "implementation": "python-jsonschema", "expected": [false, true, true], "results": [{"valid": false}, {"valid": true}, {"valid": true}]}
{"seq": 99, "implementation": "php-justinrainbow-json-schema", "expected": [false, true, true], "results": [{"valid": false}, {"valid": true}, {"valid": true}]}
{"seq": 99, "implementation": "js-jsonschema", "expected": [false, true, true], "results": [{"valid": false}, {"valid": true}, {"valid": true}]}
{"seq": 99, "implementation": "java-jsonschemafriend", "expected": [false, true, true], "context": {"message": "{valid=false, keywordLocation=http://json-schema.org/draft-04/schema, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#, instanceLocation=, errors=[{valid=false, error=All anyOf failed: [[[{\"type\":[\"string\"]},{\"type\":[\"array\",\"null\"]}] at #/type failed against http://json-schema.org/draft-04/schema#/definitions/simpleTypes with \"Object not in enums: [array, boolean, integer, null, number, object, string]\"], [{\"type\":[\"string\"]} at #/type/0 failed against http://json-schema.org/draft-04/schema#/definitions/simpleTypes with \"Object not in enums: [array, boolean, integer, null, number, object, string]\", {\"type\":[\"array\",\"null\"]} at #/type/1 failed against http://json-schema.org/draft-04/schema#/definitions/simpleTypes with \"Object not in enums: [array, boolean, integer, null, number, object, string]\"]], keywordLocation=http://json-schema.org/draft-04/schema#/properties/type, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#/properties/type, instanceLocation=#/type}]}", "traceback": "net.jimblackler.jsonschemafriend.StandardGenerationException: {valid=false, keywordLocation=http://json-schema.org/draft-04/schema, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#, instanceLocation=, errors=[{valid=false, error=All anyOf failed: [[[{\"type\":[\"string\"]},{\"type\":[\"array\",\"null\"]}] at #/type failed against http://json-schema.org/draft-04/schema#/definitions/simpleTypes with \"Object not in enums: [array, boolean, integer, null, number, object, string]\"], [{\"type\":[\"string\"]} at #/type/0 failed against http://json-schema.org/draft-04/schema#/definitions/simpleTypes with \"Object not in enums: [array, boolean, integer, null, number, object, string]\", {\"type\":[\"array\",\"null\"]} at #/type/1 failed against http://json-schema.org/draft-04/schema#/definitions/simpleTypes with \"Object not in enums: [array, boolean, integer, null, number, object, string]\"]], keywordLocation=http://json-schema.org/draft-04/schema#/properties/type, absoluteKeywordLocation=http://json-schema.org/draft-04/schema#/properties/type, instanceLocation=#/type}]}\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:233)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:138)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:94)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchema(SchemaStore.java:86)\n\tat net.jimblackler.jsonschemafriend.SchemaStore.loadSchemaJson(SchemaStore.java:131)\n\tat BowtieJsonSchemaFriend.run(BowtieJsonSchemaFriend.java:118)\n\tat BowtieJsonSchemaFriend.handle(BowtieJsonSchemaFriend.java:42)\n\tat java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)\n\tat java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)\n\tat java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:807)\n\tat BowtieJsonSchemaFriend.run(BowtieJsonSchemaFriend.java:32)\n\tat BowtieJsonSchemaFriend.main(BowtieJsonSchemaFriend.java:26)\n"}, "message": "", "caught": true, "errored": true}
{"seq": 99, "implementation": "java-json-tools-json-schema-validator", "expected": [false, true, true], "results": [{"valid": false}, {"valid": true}, {"valid": true}]}
{"seq": 100, "case": {"description": "uniqueItems validation", "schema": {"uniqueItems": true}, "tests": [{"description": "unique array of integers is valid", "instance": [1, 2], "valid": true}, {"description": "non-unique array of integers is invalid", "instance": [1, 1], "valid": false}, {"description": "non-unique array of more than two integers is invalid", "instance": [1, 2, 1], "valid": false}, {"description": "numbers are unique if mathematically unequal", "instance": [1.0, 1.0, 1], "valid": false}, {"description": "unique array of strings is valid", "instance": ["foo", "bar", "baz"], "valid": true}, {"description": "non-unique array of strings is invalid", "instance": ["foo", "bar", "foo"], "valid": false}, {"description": "unique array of objects is valid", "instance": [{"foo": "bar"}, {"foo": "baz"}], "valid": true}, {"description": "non-unique array of objects is invalid", "instance": [{"foo": "bar"}, {"foo": "bar"}], "valid": false}, {"description": "unique array of nested objects is valid", "instance": [{"foo": {"bar": {"baz": true}}}, {"foo": {"bar": {"baz": false}}}], "valid": true}, {"description": "non-unique array of nested objects is invalid", "instance": [{"foo": {"bar": {"baz": true}}}, {"foo": {"bar": {"baz": true}}}], "valid": false}, {"description": "unique array of arrays is valid", "instance": [["foo"], ["bar"]], "valid": true}, {"description": "non-unique array of arrays is invalid", "instance": [["foo"], ["foo"]], "valid": false}, {"description": "non-unique array of more than two arrays is invalid", "instance": [["foo"], ["bar"], ["foo"]], "valid": false}, {"description": "1 and true are unique", "instance": [1, true], "valid": true}, {"description": "0 and false are unique", "instance": [0, false], "valid": true}, {"description": "[1] and [true] are unique", "instance": [[1], [true]], "valid": true}, {"description": "[0] and [false] are unique", "instance": [[0], [false]], "valid": true}, {"description": "nested [1] and [true] are unique", "instance": [[[1], "foo"], [[true], "foo"]], "valid": true}, {"description": "nested [0] and [false] are unique", "instance": [[[0], "foo"], [[false], "foo"]], "valid": true}, {"description": "unique heterogeneous types are valid", "instance": [{}, [1], true, null, 1], "valid": true}, {"description": "non-unique heterogeneous types are invalid", "instance": [{}, [1], true, null, {}, 1], "valid": false}, {"description": "{\"a\": false} and {\"a\": 0} are unique", "instance": [{"a": false}, {"a": 0}], "valid": true}, {"description": "{\"a\": true} and {\"a\": 1} are unique", "instance": [{"a": true}, {"a": 1}], "valid": true}]}}
{"seq": 100, "implementation": "python-jsonschema", "expected": [true, false, false, false, true, false, true, false, true, false, true, false, false, true, true, true, true, true, true, true, false, true, true], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}]}
{"seq": 100, "implementation": "js-jsonschema", "expected": [true, false, false, false, true, false, true, false, true, false, true, false, false, true, true, true, true, true, true, true, false, true, true], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}]}
{"seq": 100, "implementation": "php-justinrainbow-json-schema", "expected": [true, false, false, false, true, false, true, false, true, false, true, false, false, true, true, true, true, true, true, true, false, true, true], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}]}
{"seq": 100, "implementation": "java-json-tools-json-schema-validator", "expected": [true, false, false, false, true, false, true, false, true, false, true, false, false, true, true, true, true, true, true, true, false, true, true], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}]}
{"seq": 100, "implementation": "java-jsonschemafriend", "expected": [true, false, false, false, true, false, true, false, true, false, true, false, false, true, true, true, true, true, true, true, false, true, true], "results": [{"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": true}, {"valid": true}]}
{"seq": 101, "case": {"description": "uniqueItems with an array of items", "schema": {"items": [{"type": "boolean"}, {"type": "boolean"}], "uniqueItems": true}, "tests": [{"description": "[false, true] from items array is valid", "instance": [false, true], "valid": true}, {"description": "[true, false] from items array is valid", "instance": [true, false], "valid": true}, {"description": "[false, false] from items array is not valid", "instance": [false, false], "valid": false}, {"description": "[true, true] from items array is not valid", "instance": [true, true], "valid": false}, {"description": "unique array extended from [false, true] is valid", "instance": [false, true, "foo", "bar"], "valid": true}, {"description": "unique array extended from [true, false] is valid", "instance": [true, false, "foo", "bar"], "valid": true}, {"description": "non-unique array extended from [false, true] is not valid", "instance": [false, true, "foo", "foo"], "valid": false}, {"description": "non-unique array extended from [true, false] is not valid", "instance": [true, false, "foo", "foo"], "valid": false}]}}
{"seq": 101, "implementation": "python-jsonschema", "expected": [true, true, false, false, true, true, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 101, "implementation": "js-jsonschema", "expected": [true, true, false, false, true, true, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 101, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, false, false, true, true, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 101, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, false, false, true, true, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 101, "implementation": "java-jsonschemafriend", "expected": [true, true, false, false, true, true, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}]}
{"seq": 102, "case": {"description": "uniqueItems with an array of items and additionalItems=false", "schema": {"items": [{"type": "boolean"}, {"type": "boolean"}], "uniqueItems": true, "additionalItems": false}, "tests": [{"description": "[false, true] from items array is valid", "instance": [false, true], "valid": true}, {"description": "[true, false] from items array is valid", "instance": [true, false], "valid": true}, {"description": "[false, false] from items array is not valid", "instance": [false, false], "valid": false}, {"description": "[true, true] from items array is not valid", "instance": [true, true], "valid": false}, {"description": "extra items are invalid even if unique", "instance": [false, true, null], "valid": false}]}}
{"seq": 102, "implementation": "python-jsonschema", "expected": [true, true, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 102, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 102, "implementation": "js-jsonschema", "expected": [true, true, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 102, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 102, "implementation": "java-jsonschemafriend", "expected": [true, true, false, false, false], "results": [{"valid": true}, {"valid": true}, {"valid": false}, {"valid": false}, {"valid": false}]}
{"seq": 103, "case": {"description": "uniqueItems=false validation", "schema": {"uniqueItems": false}, "tests": [{"description": "unique array of integers is valid", "instance": [1, 2], "valid": true}, {"description": "non-unique array of integers is valid", "instance": [1, 1], "valid": true}, {"description": "numbers are unique if mathematically unequal", "instance": [1.0, 1.0, 1], "valid": true}, {"description": "unique array of objects is valid", "instance": [{"foo": "bar"}, {"foo": "baz"}], "valid": true}, {"description": "non-unique array of objects is valid", "instance": [{"foo": "bar"}, {"foo": "bar"}], "valid": true}, {"description": "unique array of nested objects is valid", "instance": [{"foo": {"bar": {"baz": true}}}, {"foo": {"bar": {"baz": false}}}], "valid": true}, {"description": "non-unique array of nested objects is valid", "instance": [{"foo": {"bar": {"baz": true}}}, {"foo": {"bar": {"baz": true}}}], "valid": true}, {"description": "unique array of arrays is valid", "instance": [["foo"], ["bar"]], "valid": true}, {"description": "non-unique array of arrays is valid", "instance": [["foo"], ["foo"]], "valid": true}, {"description": "1 and true are unique", "instance": [1, true], "valid": true}, {"description": "0 and false are unique", "instance": [0, false], "valid": true}, {"description": "unique heterogeneous types are valid", "instance": [{}, [1], true, null, 1], "valid": true}, {"description": "non-unique heterogeneous types are valid", "instance": [{}, [1], true, null, {}, 1], "valid": true}]}}
{"seq": 103, "implementation": "python-jsonschema", "expected": [true, true, true, true, true, true, true, true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 103, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, true, true, true, true, true, true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 103, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, true, true, true, true, true, true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 103, "implementation": "js-jsonschema", "expected": [true, true, true, true, true, true, true, true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 103, "implementation": "java-jsonschemafriend", "expected": [true, true, true, true, true, true, true, true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 104, "case": {"description": "uniqueItems=false with an array of items", "schema": {"items": [{"type": "boolean"}, {"type": "boolean"}], "uniqueItems": false}, "tests": [{"description": "[false, true] from items array is valid", "instance": [false, true], "valid": true}, {"description": "[true, false] from items array is valid", "instance": [true, false], "valid": true}, {"description": "[false, false] from items array is valid", "instance": [false, false], "valid": true}, {"description": "[true, true] from items array is valid", "instance": [true, true], "valid": true}, {"description": "unique array extended from [false, true] is valid", "instance": [false, true, "foo", "bar"], "valid": true}, {"description": "unique array extended from [true, false] is valid", "instance": [true, false, "foo", "bar"], "valid": true}, {"description": "non-unique array extended from [false, true] is valid", "instance": [false, true, "foo", "foo"], "valid": true}, {"description": "non-unique array extended from [true, false] is valid", "instance": [true, false, "foo", "foo"], "valid": true}]}}
{"seq": 104, "implementation": "python-jsonschema", "expected": [true, true, true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 104, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 104, "implementation": "js-jsonschema", "expected": [true, true, true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 104, "implementation": "java-jsonschemafriend", "expected": [true, true, true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 104, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, true, true, true, true, true, true], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}]}
{"seq": 105, "case": {"description": "uniqueItems=false with an array of items and additionalItems=false", "schema": {"items": [{"type": "boolean"}, {"type": "boolean"}], "uniqueItems": false, "additionalItems": false}, "tests": [{"description": "[false, true] from items array is valid", "instance": [false, true], "valid": true}, {"description": "[true, false] from items array is valid", "instance": [true, false], "valid": true}, {"description": "[false, false] from items array is valid", "instance": [false, false], "valid": true}, {"description": "[true, true] from items array is valid", "instance": [true, true], "valid": true}, {"description": "extra items are invalid even if unique", "instance": [false, true, null], "valid": false}]}}
{"seq": 105, "implementation": "python-jsonschema", "expected": [true, true, true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 105, "implementation": "php-justinrainbow-json-schema", "expected": [true, true, true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 105, "implementation": "js-jsonschema", "expected": [true, true, true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 105, "implementation": "java-json-tools-json-schema-validator", "expected": [true, true, true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}]}
{"seq": 105, "implementation": "java-jsonschemafriend", "expected": [true, true, true, true, false], "results": [{"valid": true}, {"valid": true}, {"valid": true}, {"valid": true}, {"valid": false}]}
{"did_fail_fast": false}