-
Notifications
You must be signed in to change notification settings - Fork 54
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(draft2019-09): upgrading jsonschema to support draft2019-09
- Loading branch information
Showing
73 changed files
with
7,127 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
[ | ||
{ | ||
"description": "additionalItems as schema", | ||
"schema": { | ||
"items": [{}], | ||
"additionalItems": {"type": "integer"} | ||
}, | ||
"tests": [ | ||
{ | ||
"description": "additional items match schema", | ||
"data": [ null, 2, 3, 4 ], | ||
"valid": true | ||
}, | ||
{ | ||
"description": "additional items do not match schema", | ||
"data": [ null, 2, 3, "foo" ], | ||
"valid": false | ||
} | ||
] | ||
}, | ||
{ | ||
"description": "items is schema, no additionalItems", | ||
"schema": { | ||
"items": {}, | ||
"additionalItems": false | ||
}, | ||
"tests": [ | ||
{ | ||
"description": "all items match schema", | ||
"data": [ 1, 2, 3, 4, 5 ], | ||
"valid": true | ||
} | ||
] | ||
}, | ||
{ | ||
"description": "array of items with no additionalItems", | ||
"schema": { | ||
"items": [{}, {}, {}], | ||
"additionalItems": false | ||
}, | ||
"tests": [ | ||
{ | ||
"description": "fewer number of items present", | ||
"data": [ 1, 2 ], | ||
"valid": true | ||
}, | ||
{ | ||
"description": "equal number of items present", | ||
"data": [ 1, 2, 3 ], | ||
"valid": true | ||
}, | ||
{ | ||
"description": "additional items are not permitted", | ||
"data": [ 1, 2, 3, 4 ], | ||
"valid": false | ||
} | ||
] | ||
}, | ||
{ | ||
"description": "additionalItems as false without items", | ||
"schema": {"additionalItems": false}, | ||
"tests": [ | ||
{ | ||
"description": | ||
"items defaults to empty schema so everything is valid", | ||
"data": [ 1, 2, 3, 4, 5 ], | ||
"valid": true | ||
}, | ||
{ | ||
"description": "ignores non-arrays", | ||
"data": {"foo" : "bar"}, | ||
"valid": true | ||
} | ||
] | ||
}, | ||
{ | ||
"description": "additionalItems are allowed by default", | ||
"schema": {"items": [{"type": "integer"}]}, | ||
"tests": [ | ||
{ | ||
"description": "only the first item is validated", | ||
"data": [1, "foo", false], | ||
"valid": true | ||
} | ||
] | ||
} | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,133 @@ | ||
[ | ||
{ | ||
"description": | ||
"additionalProperties being false does not allow other properties", | ||
"schema": { | ||
"properties": {"foo": {}, "bar": {}}, | ||
"patternProperties": { "^v": {} }, | ||
"additionalProperties": false | ||
}, | ||
"tests": [ | ||
{ | ||
"description": "no additional properties is valid", | ||
"data": {"foo": 1}, | ||
"valid": true | ||
}, | ||
{ | ||
"description": "an additional property is invalid", | ||
"data": {"foo" : 1, "bar" : 2, "quux" : "boom"}, | ||
"valid": false | ||
}, | ||
{ | ||
"description": "ignores arrays", | ||
"data": [1, 2, 3], | ||
"valid": true | ||
}, | ||
{ | ||
"description": "ignores strings", | ||
"data": "foobarbaz", | ||
"valid": true | ||
}, | ||
{ | ||
"description": "ignores other non-objects", | ||
"data": 12, | ||
"valid": true | ||
}, | ||
{ | ||
"description": "patternProperties are not additional properties", | ||
"data": {"foo":1, "vroom": 2}, | ||
"valid": true | ||
} | ||
] | ||
}, | ||
{ | ||
"description": "non-ASCII pattern with additionalProperties", | ||
"schema": { | ||
"patternProperties": {"^á": {}}, | ||
"additionalProperties": false | ||
}, | ||
"tests": [ | ||
{ | ||
"description": "matching the pattern is valid", | ||
"data": {"ármányos": 2}, | ||
"valid": true | ||
}, | ||
{ | ||
"description": "not matching the pattern is invalid", | ||
"data": {"élmény": 2}, | ||
"valid": false | ||
} | ||
] | ||
}, | ||
{ | ||
"description": | ||
"additionalProperties allows a schema which should validate", | ||
"schema": { | ||
"properties": {"foo": {}, "bar": {}}, | ||
"additionalProperties": {"type": "boolean"} | ||
}, | ||
"tests": [ | ||
{ | ||
"description": "no additional properties is valid", | ||
"data": {"foo": 1}, | ||
"valid": true | ||
}, | ||
{ | ||
"description": "an additional valid property is valid", | ||
"data": {"foo" : 1, "bar" : 2, "quux" : true}, | ||
"valid": true | ||
}, | ||
{ | ||
"description": "an additional invalid property is invalid", | ||
"data": {"foo" : 1, "bar" : 2, "quux" : 12}, | ||
"valid": false | ||
} | ||
] | ||
}, | ||
{ | ||
"description": | ||
"additionalProperties can exist by itself", | ||
"schema": { | ||
"additionalProperties": {"type": "boolean"} | ||
}, | ||
"tests": [ | ||
{ | ||
"description": "an additional valid property is valid", | ||
"data": {"foo" : true}, | ||
"valid": true | ||
}, | ||
{ | ||
"description": "an additional invalid property is invalid", | ||
"data": {"foo" : 1}, | ||
"valid": false | ||
} | ||
] | ||
}, | ||
{ | ||
"description": "additionalProperties are allowed by default", | ||
"schema": {"properties": {"foo": {}, "bar": {}}}, | ||
"tests": [ | ||
{ | ||
"description": "additional properties are allowed", | ||
"data": {"foo": 1, "bar": 2, "quux": true}, | ||
"valid": true | ||
} | ||
] | ||
}, | ||
{ | ||
"description": "additionalProperties should not look in applicators", | ||
"schema": { | ||
"allOf": [ | ||
{"properties": {"foo": {}}} | ||
], | ||
"additionalProperties": {"type": "boolean"} | ||
}, | ||
"tests": [ | ||
{ | ||
"description": "properties defined in allOf are not allowed", | ||
"data": {"foo": 1, "bar": true}, | ||
"valid": false | ||
} | ||
] | ||
} | ||
] |
Oops, something went wrong.