Skip to content

Commit d60b7b4

Browse files
committed
Cleanups to last commit
Add new additionalItems test instead of replacing old one
1 parent 7bd85c5 commit d60b7b4

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

jsonschema/_validators.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,8 @@ def additionalItems(validator, aI, instance, schema):
6161

6262
len_items = len(schema.get("items", []))
6363
if validator.is_type(aI, "object"):
64-
for index, item in enumerate(instance[len_items:]):
65-
for error in validator.descend(item, aI, path=index+len_items):
64+
for index, item in enumerate(instance[len_items:], start=len_items):
65+
for error in validator.descend(item, aI, path=index):
6666
yield error
6767
elif not aI and len(instance) > len(schema.get("items", [])):
6868
error = "Additional items are not allowed (%s %s unexpected)"

jsonschema/tests/test_validators.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -484,6 +484,23 @@ def test_patternProperties(self):
484484
self.assertEqual(e2.validator, "minimum")
485485

486486
def test_additionalItems(self):
487+
instance = ["foo", 1]
488+
schema = {
489+
"items": [],
490+
"additionalItems" : {"type": "integer", "minimum": 5}
491+
}
492+
493+
validator = Draft3Validator(schema)
494+
errors = validator.iter_errors(instance)
495+
e1, e2 = sorted_errors(errors)
496+
497+
self.assertEqual(list(e1.path), [0])
498+
self.assertEqual(list(e2.path), [1])
499+
500+
self.assertEqual(e1.validator, "type")
501+
self.assertEqual(e2.validator, "minimum")
502+
503+
def test_additionalItems_with_items(self):
487504
instance = ["foo", "bar", 1]
488505
schema = {
489506
"items": [{}],

0 commit comments

Comments
 (0)