Run Info
Dialect http://json-schema.org/draft-07/schema#
Ran
Summary
implementation cases (240) tests (856)
errors failed skipped errors
valijson c++ 30 19 0 65
json-schema clojure 38 255 0 87
JsonSchema.Net dotnet 4.0.0 0 0 1 0
jsonschema go v5.1.1 0 0 0 0
ajv javascript 8.12.0 40 8 0 153
hyperjump-jsv javascript 1.1.2 0 0 13 0
jsonschema lua 0.9.9-0 36 20 0 106
fastjsonschema python 2.16.2 33 22 0 74
jsonschema python 4.17.3 5 0 0 10
json_schemer ruby 0.2.24 9 6 0 21
jsonschema rust 6 5 0 12
vscode-json-language-service typescript 5.1.3 0 54 0 0
total 197 389 14 528

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
additional items match schema
additional items do not match schema

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
all items match schema

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust 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++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
items defaults to empty schema so everything is valid
ignores non-arrays

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
only the first item is validated

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
items defined in allOf are not examined

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
items defined in allOf are not examined

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
valid items
wrong type of second item

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
allows null elements

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust 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++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
matching the pattern is valid
not matching the pattern is invalid

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust 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++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
an additional valid property is valid
an additional invalid property is invalid

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
additional properties are allowed

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
properties defined in allOf are not examined

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
allows null values

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
allOf
mismatch second
mismatch first
wrong type

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
valid
mismatch base schema
mismatch first allOf
mismatch second allOf
mismatch both

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
valid
mismatch one

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
any value is valid

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
any value is invalid

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
any value is invalid

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
any data is valid

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
any data is valid

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
number is valid
string is invalid

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
number is valid
string is invalid

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
null is valid
anything non-null is invalid

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
allOf: false, anyOf: false, oneOf: false
allOf: false, anyOf: false, oneOf: true
allOf: false, anyOf: true, oneOf: false
allOf: false, anyOf: true, oneOf: true
allOf: true, anyOf: false, oneOf: false
allOf: true, anyOf: false, oneOf: true
allOf: true, anyOf: true, oneOf: false
allOf: true, anyOf: true, oneOf: true

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
first anyOf valid
second anyOf valid
both anyOf valid
neither anyOf valid

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
mismatch base schema
one anyOf valid
both anyOf invalid

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
any value is valid

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
any value is valid

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
any value is invalid

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
first anyOf valid (complex)
second anyOf valid (complex)
both anyOf valid (complex)
neither anyOf valid (complex)

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
string is valid
number is valid

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
null is valid
anything non-null is invalid

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
number is valid
string is valid
boolean true is valid
boolean false is valid
null is valid
object is valid
empty object is valid
array is valid
empty array is valid

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
number is invalid
string is invalid
boolean true is invalid
boolean false is invalid
null is invalid
object is invalid
empty object is invalid
array is invalid
empty array is invalid

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
same value is valid
another value is invalid
another type is invalid

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
same object is valid
same object with different property order is valid
another object is invalid
another type is invalid

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
same array is valid
another array item is invalid
array with additional items is invalid

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
null is valid
not null is invalid

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
false is valid
integer zero is invalid
float zero is invalid

test valijson c++ json-schema clojure JsonSchema.Net dotnet jsonschema go ajv javascript hyperjump-jsv javascript jsonschema lua fastjsonschema python jsonschema python json_schemer ruby jsonschema rust vscode-json-language-service typescript
true is valid
integer one is invalid
float one is invalid