Skip to content

Commit 7d13582

Browse files
committed
Squashed 'json/' changes from 060caae0d..387d690ae
387d690ae Back/forward port the tests from #550 to 2019 and next. 528fb6220 Merge pull request #550 from EpicWink/unevaluated-on-invalid b1fb45599 Mark tests as expected-to-pass db3fdd3fb Merge pull request #551 from EpicWink/bin-cli-command-required 4d4c636f1 Require command in test-app invocation args 72463d44a Add tests for 'unevaluatedX' on invalid types git-subtree-dir: json git-subtree-split: 387d690aee098ce4f623ab124d1d78c67df6b53b
1 parent 19d2c1a commit 7d13582

File tree

7 files changed

+220
-1
lines changed

7 files changed

+220
-1
lines changed

bin/jsonschema_suite

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,10 @@ def main(arguments):
195195
parser = argparse.ArgumentParser(
196196
description="JSON Schema Test Suite utilities",
197197
)
198-
subparsers = parser.add_subparsers(help="utility commands", dest="command")
198+
subparsers = parser.add_subparsers(
199+
help="utility commands", dest="command", metavar="COMMAND"
200+
)
201+
subparsers.required = True
199202

200203
check = subparsers.add_parser("check", help="Sanity check the test suite.")
201204

tests/draft-next/unevaluatedItems.json

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -593,5 +593,41 @@
593593
"valid": false
594594
}
595595
]
596+
},
597+
{
598+
"description": "non-array instances are valid",
599+
"schema": {"unevaluatedItems": false},
600+
"tests": [
601+
{
602+
"description": "ignores booleans",
603+
"data": true,
604+
"valid": true
605+
},
606+
{
607+
"description": "ignores integers",
608+
"data": 123,
609+
"valid": true
610+
},
611+
{
612+
"description": "ignores floats",
613+
"data": 1.0,
614+
"valid": true
615+
},
616+
{
617+
"description": "ignores objects",
618+
"data": {},
619+
"valid": true
620+
},
621+
{
622+
"description": "ignores strings",
623+
"data": "foo",
624+
"valid": true
625+
},
626+
{
627+
"description": "ignores null",
628+
"data": null,
629+
"valid": true
630+
}
631+
]
596632
}
597633
]

tests/draft-next/unevaluatedProperties.json

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1356,5 +1356,41 @@
13561356
"valid": false
13571357
}
13581358
]
1359+
},
1360+
{
1361+
"description": "non-object instances are valid",
1362+
"schema": {"unevaluatedProperties": false},
1363+
"tests": [
1364+
{
1365+
"description": "ignores booleans",
1366+
"data": true,
1367+
"valid": true
1368+
},
1369+
{
1370+
"description": "ignores integers",
1371+
"data": 123,
1372+
"valid": true
1373+
},
1374+
{
1375+
"description": "ignores floats",
1376+
"data": 1.0,
1377+
"valid": true
1378+
},
1379+
{
1380+
"description": "ignores arrays",
1381+
"data": [],
1382+
"valid": true
1383+
},
1384+
{
1385+
"description": "ignores strings",
1386+
"data": "foo",
1387+
"valid": true
1388+
},
1389+
{
1390+
"description": "ignores null",
1391+
"data": null,
1392+
"valid": true
1393+
}
1394+
]
13591395
}
13601396
]

tests/draft2019-09/unevaluatedItems.json

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -485,5 +485,41 @@
485485
"valid": false
486486
}
487487
]
488+
},
489+
{
490+
"description": "non-array instances are valid",
491+
"schema": {"unevaluatedItems": false},
492+
"tests": [
493+
{
494+
"description": "ignores booleans",
495+
"data": true,
496+
"valid": true
497+
},
498+
{
499+
"description": "ignores integers",
500+
"data": 123,
501+
"valid": true
502+
},
503+
{
504+
"description": "ignores floats",
505+
"data": 1.0,
506+
"valid": true
507+
},
508+
{
509+
"description": "ignores objects",
510+
"data": {},
511+
"valid": true
512+
},
513+
{
514+
"description": "ignores strings",
515+
"data": "foo",
516+
"valid": true
517+
},
518+
{
519+
"description": "ignores null",
520+
"data": null,
521+
"valid": true
522+
}
523+
]
488524
}
489525
]

tests/draft2019-09/unevaluatedProperties.json

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1307,5 +1307,41 @@
13071307
"valid": false
13081308
}
13091309
]
1310+
},
1311+
{
1312+
"description": "non-object instances are valid",
1313+
"schema": {"unevaluatedProperties": false},
1314+
"tests": [
1315+
{
1316+
"description": "ignores booleans",
1317+
"data": true,
1318+
"valid": true
1319+
},
1320+
{
1321+
"description": "ignores integers",
1322+
"data": 123,
1323+
"valid": true
1324+
},
1325+
{
1326+
"description": "ignores floats",
1327+
"data": 1.0,
1328+
"valid": true
1329+
},
1330+
{
1331+
"description": "ignores arrays",
1332+
"data": [],
1333+
"valid": true
1334+
},
1335+
{
1336+
"description": "ignores strings",
1337+
"data": "foo",
1338+
"valid": true
1339+
},
1340+
{
1341+
"description": "ignores null",
1342+
"data": null,
1343+
"valid": true
1344+
}
1345+
]
13101346
}
13111347
]

tests/draft2020-12/unevaluatedItems.json

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -593,5 +593,41 @@
593593
"valid": false
594594
}
595595
]
596+
},
597+
{
598+
"description": "non-array instances are valid",
599+
"schema": {"unevaluatedItems": false},
600+
"tests": [
601+
{
602+
"description": "ignores booleans",
603+
"data": true,
604+
"valid": true
605+
},
606+
{
607+
"description": "ignores integers",
608+
"data": 123,
609+
"valid": true
610+
},
611+
{
612+
"description": "ignores floats",
613+
"data": 1.0,
614+
"valid": true
615+
},
616+
{
617+
"description": "ignores objects",
618+
"data": {},
619+
"valid": true
620+
},
621+
{
622+
"description": "ignores strings",
623+
"data": "foo",
624+
"valid": true
625+
},
626+
{
627+
"description": "ignores null",
628+
"data": null,
629+
"valid": true
630+
}
631+
]
596632
}
597633
]

tests/draft2020-12/unevaluatedProperties.json

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1307,5 +1307,41 @@
13071307
"valid": false
13081308
}
13091309
]
1310+
},
1311+
{
1312+
"description": "non-object instances are valid",
1313+
"schema": {"unevaluatedProperties": false},
1314+
"tests": [
1315+
{
1316+
"description": "ignores booleans",
1317+
"data": true,
1318+
"valid": true
1319+
},
1320+
{
1321+
"description": "ignores integers",
1322+
"data": 123,
1323+
"valid": true
1324+
},
1325+
{
1326+
"description": "ignores floats",
1327+
"data": 1.0,
1328+
"valid": true
1329+
},
1330+
{
1331+
"description": "ignores arrays",
1332+
"data": [],
1333+
"valid": true
1334+
},
1335+
{
1336+
"description": "ignores strings",
1337+
"data": "foo",
1338+
"valid": true
1339+
},
1340+
{
1341+
"description": "ignores null",
1342+
"data": null,
1343+
"valid": true
1344+
}
1345+
]
13101346
}
13111347
]

0 commit comments

Comments
 (0)