Dialect | http://json-schema.org/draft-03/schema# |
Ran |
implementation | cases (104) | tests (433) | ||||
---|---|---|---|---|---|---|
errors | failed | skipped | errors | |||
valijson c++ | 1 | 29 | 0 | 2 | ||
jsonschema python | 4.17.3 | 1 | 0 | 0 | 2 | |
vscode-json-language-service typescript | 5.1.3 | 0 | 48 | 0 | 0 | |
total | 2 | 77 | 0 | 4 |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
additional items match schema | |||
additional items do not match schema |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
all items match schema |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
empty array | |||
fewer number of items present (1) | |||
fewer number of items present (2) | |||
equal number of items present | |||
additional items are not permitted |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
items defaults to empty schema so everything is valid | |||
ignores non-arrays |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
only the first item is validated |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
items defined in extends are not examined |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
allows null elements |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
no additional properties is valid | |||
an additional property is invalid | |||
ignores arrays | |||
ignores strings | |||
ignores other non-objects | |||
patternProperties are not additional properties |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
matching the pattern is valid | |||
not matching the pattern is invalid |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
no additional properties is valid | |||
an additional valid property is valid | |||
an additional invalid property is invalid |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
an additional valid property is valid | |||
an additional invalid property is invalid |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
additional properties are allowed |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
properties defined in extends are not examined |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
allows null values |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
valid when property is specified | |||
still valid when the invalid default is used |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
valid when property is specified | |||
still valid when the invalid default is used |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
an explicit property value is checked against maximum (passing) | |||
an explicit property value is checked against maximum (failing) | |||
missing properties are not filled in with the default |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
neither | |||
nondependant | |||
with dependency | |||
missing dependency | |||
ignores arrays | |||
ignores strings | |||
ignores other non-objects |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
neither | |||
nondependants | |||
with dependencies | |||
missing dependency | |||
missing other dependency | |||
missing both dependencies |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
valid | |||
no dependency | |||
wrong type | |||
wrong type other | |||
wrong type both |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
allowed | |||
disallowed |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
valid | |||
mismatch | |||
other mismatch |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
match | |||
other match | |||
mismatch | |||
other mismatch |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
int by int | |||
int by int fail | |||
ignores non-numbers |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
zero is divisible by anything (except 0) | |||
4.5 is divisible by 1.5 | |||
35 is not divisible by 1.5 |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
0.0075 is divisible by 0.0001 | |||
0.00751 is not divisible by 0.0001 |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
one of the enum is valid | |||
something else is invalid |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
one of the enum is valid | |||
something else is invalid | |||
objects are deep compared |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
null is valid | |||
number is valid | |||
something else is invalid |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
both properties are valid | |||
wrong foo value | |||
wrong bar value | |||
missing optional property is valid | |||
missing required property is invalid | |||
missing all properties is invalid |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
match string with nul | |||
do not match string lacking nul |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
extends | |||
mismatch extends | |||
mismatch extended | |||
wrong type |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
valid | |||
mismatch first extends | |||
mismatch second extends | |||
mismatch both |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
valid | |||
mismatch extends |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
all string formats ignore integers | |||
all string formats ignore floats | |||
all string formats ignore objects | |||
all string formats ignore arrays | |||
all string formats ignore booleans | |||
all string formats ignore nulls |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
all string formats ignore integers | |||
all string formats ignore floats | |||
all string formats ignore objects | |||
all string formats ignore arrays | |||
all string formats ignore booleans | |||
all string formats ignore nulls |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
all string formats ignore integers | |||
all string formats ignore floats | |||
all string formats ignore objects | |||
all string formats ignore arrays | |||
all string formats ignore booleans | |||
all string formats ignore nulls |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
all string formats ignore integers | |||
all string formats ignore floats | |||
all string formats ignore objects | |||
all string formats ignore arrays | |||
all string formats ignore booleans | |||
all string formats ignore nulls |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
all string formats ignore integers | |||
all string formats ignore floats | |||
all string formats ignore objects | |||
all string formats ignore arrays | |||
all string formats ignore booleans | |||
all string formats ignore nulls |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
all string formats ignore integers | |||
all string formats ignore floats | |||
all string formats ignore objects | |||
all string formats ignore arrays | |||
all string formats ignore booleans | |||
all string formats ignore nulls |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
all string formats ignore integers | |||
all string formats ignore floats | |||
all string formats ignore objects | |||
all string formats ignore arrays | |||
all string formats ignore booleans | |||
all string formats ignore nulls |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
all string formats ignore integers | |||
all string formats ignore floats | |||
all string formats ignore objects | |||
all string formats ignore arrays | |||
all string formats ignore booleans | |||
all string formats ignore nulls |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
all string formats ignore integers | |||
all string formats ignore floats | |||
all string formats ignore objects | |||
all string formats ignore arrays | |||
all string formats ignore booleans | |||
all string formats ignore nulls |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
all string formats ignore integers | |||
all string formats ignore floats | |||
all string formats ignore objects | |||
all string formats ignore arrays | |||
all string formats ignore booleans | |||
all string formats ignore nulls |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
passing case | |||
failing case |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
valid items | |||
wrong type of items | |||
ignores non-arrays |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
correct types | |||
wrong types |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
allows null elements |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
allows null elements |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
shorter is valid | |||
exact length is valid | |||
too long is invalid | |||
ignores non-arrays |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
shorter is valid | |||
exact length is valid | |||
too long is invalid | |||
ignores non-strings | |||
two supplementary Unicode code points is long enough |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
below the maximum is valid | |||
boundary point is valid | |||
above the maximum is invalid | |||
ignores non-numbers |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
below the maximum is invalid | |||
boundary point integer is valid | |||
boundary point float is valid | |||
above the maximum is invalid |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
below the maximum is valid | |||
boundary point is valid | |||
above the maximum is invalid | |||
ignores non-numbers |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
below the maximum is still valid | |||
boundary point is invalid |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
longer is valid | |||
exact length is valid | |||
too short is invalid | |||
ignores non-arrays |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
longer is valid | |||
exact length is valid | |||
too short is invalid | |||
ignores non-strings | |||
one supplementary Unicode code point is not long enough |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
above the minimum is valid | |||
boundary point is valid | |||
below the minimum is invalid | |||
ignores non-numbers |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
above the minimum is still valid | |||
boundary point is invalid |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
negative above the minimum is valid | |||
positive above the minimum is valid | |||
boundary point is valid | |||
boundary point with float is valid | |||
float below the minimum is invalid | |||
int below the minimum is invalid | |||
ignores non-numbers |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
a matching pattern is valid | |||
a non-matching pattern is invalid | |||
ignores booleans | |||
ignores integers | |||
ignores floats | |||
ignores objects | |||
ignores arrays | |||
ignores null |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
matches a substring |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
a single valid match is valid | |||
multiple valid matches is valid | |||
a single invalid match is invalid | |||
multiple invalid matches is invalid | |||
ignores arrays | |||
ignores other non-objects |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
a single valid match is valid | |||
a simultaneous match is valid | |||
multiple matches is valid | |||
an invalid due to one is invalid | |||
an invalid due to the other is invalid | |||
an invalid due to both is invalid |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
non recognized members are ignored | |||
recognized members are accounted for | |||
regexes are case sensitive | |||
regexes are case sensitive, 2 |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
allows null values |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
both properties present and valid is valid | |||
one property invalid is invalid | |||
both properties invalid is invalid | |||
doesn't invalidate other properties | |||
ignores arrays | |||
ignores other non-objects |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
property validates property | |||
property invalidates property | |||
patternProperty invalidates property | |||
patternProperty validates nonproperty | |||
patternProperty invalidates nonproperty | |||
additionalProperty ignores property | |||
additionalProperty validates others | |||
additionalProperty invalidates others |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
allows null values |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
match | |||
recursive match | |||
mismatch | |||
recursive mismatch |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
match array | |||
mismatch array |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
slash invalid | |||
tilde invalid | |||
percent invalid | |||
slash valid | |||
tilde valid | |||
percent valid |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
nested ref valid | |||
nested ref invalid |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
remote ref valid | |||
remote ref valid, maxItems ignored | |||
ref invalid |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
property named $ref valid | |||
property named $ref invalid |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
$ref resolves to /definitions/base_foo, data does not validate | |||
$ref resolves to /definitions/base_foo, data validates |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
remote ref valid | |||
remote ref invalid |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
do not evaluate the $ref inside the enum, matching any string | |||
match the enum exactly |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
remote ref valid | |||
remote ref invalid |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
remote fragment valid | |||
remote fragment invalid |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
ref within ref valid | |||
ref within ref invalid |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
changed scope ref valid | |||
changed scope ref invalid |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
present required property is valid | |||
non-present required property is invalid |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
not required by default |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
not required if required is false |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
an integer is an integer | |||
a float is not an integer | |||
a string is not an integer | |||
a string is still not an integer, even if it looks like one | |||
an object is not an integer | |||
an array is not an integer | |||
a boolean is not an integer | |||
null is not an integer |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
an integer is a number | |||
a float with zero fractional part is a number | |||
a float is a number | |||
a string is not a number | |||
a string is still not a number, even if it looks like one | |||
an object is not a number | |||
an array is not a number | |||
a boolean is not a number | |||
null is not a number |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
1 is not a string | |||
a float is not a string | |||
a string is a string | |||
a string is still a string, even if it looks like a number | |||
an object is not a string | |||
an array is not a string | |||
a boolean is not a string | |||
null is not a string |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
an integer is not an object | |||
a float is not an object | |||
a string is not an object | |||
an object is an object | |||
an array is not an object | |||
a boolean is not an object | |||
null is not an object |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
an integer is not an array | |||
a float is not an array | |||
a string is not an array | |||
an object is not an array | |||
an array is an array | |||
a boolean is not an array | |||
null is not an array |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
an integer is not a boolean | |||
a float is not a boolean | |||
a string is not a boolean | |||
an object is not a boolean | |||
an array is not a boolean | |||
a boolean is a boolean | |||
null is not a boolean |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
an integer is not null | |||
a float is not null | |||
a string is not null | |||
an object is not null | |||
an array is not null | |||
a boolean is not null | |||
null is null |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
any type includes integers | |||
any type includes float | |||
any type includes string | |||
any type includes object | |||
any type includes array | |||
any type includes boolean | |||
any type includes null |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
an integer is valid | |||
a string is valid | |||
a float is invalid | |||
an object is invalid | |||
an array is invalid | |||
a boolean is invalid | |||
null is invalid |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
an integer is invalid | |||
a string is invalid | |||
a float is invalid | |||
an object is valid | |||
an array is valid | |||
a boolean is invalid | |||
null is invalid |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
an integer is valid | |||
an object is valid only if it is fully valid | |||
an object is invalid otherwise |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
an integer is invalid | |||
a string is valid | |||
an array is valid |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
[false, true] from items array is valid | |||
[true, false] from items array is valid | |||
[false, false] from items array is not valid | |||
[true, true] from items array is not valid | |||
extra items are invalid even if unique |
test | valijson c++ | jsonschema python | vscode-json-language-service typescript |
unique array of integers is valid | |||
non-unique array of integers is valid | |||
numbers are unique if mathematically unequal | |||
unique array of objects is valid |