Schema a now "parsed" into C++-validator-objects in a first step and then validation takes place with these objects. Errors are now handled via a user-provided error-handler allowing the user to collect all errors at once or bail out when a certain threshold is reached. Fixes #36 and #8. One (sub-)schema can now be referenced with different URIs. Fixes #9 JSON schema draft 7 is now supported. Fixes #35
96 lines
2.6 KiB
JSON
96 lines
2.6 KiB
JSON
[
|
|
{
|
|
"description": "contains keyword validation",
|
|
"schema": {
|
|
"contains": {"minimum": 5}
|
|
},
|
|
"tests": [
|
|
{
|
|
"description": "array with item matching schema (5) is valid",
|
|
"data": [3, 4, 5],
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "array with item matching schema (6) is valid",
|
|
"data": [3, 4, 6],
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "array with two items matching schema (5, 6) is valid",
|
|
"data": [3, 4, 5, 6],
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "array without items matching schema is invalid",
|
|
"data": [2, 3, 4],
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "empty array is invalid",
|
|
"data": [],
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "not array is valid",
|
|
"data": {},
|
|
"valid": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "contains keyword with const keyword",
|
|
"schema": {
|
|
"contains": { "const": 5 }
|
|
},
|
|
"tests": [
|
|
{
|
|
"description": "array with item 5 is valid",
|
|
"data": [3, 4, 5],
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "array with two items 5 is valid",
|
|
"data": [3, 4, 5, 5],
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "array without item 5 is invalid",
|
|
"data": [1, 2, 3, 4],
|
|
"valid": false
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "contains keyword with boolean schema true",
|
|
"schema": {"contains": true},
|
|
"tests": [
|
|
{
|
|
"description": "any non-empty array is valid",
|
|
"data": ["foo"],
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "empty array is invalid",
|
|
"data": [],
|
|
"valid": false
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "contains keyword with boolean schema false",
|
|
"schema": {"contains": false},
|
|
"tests": [
|
|
{
|
|
"description": "any non-empty array is invalid",
|
|
"data": ["foo"],
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "empty array is invalid",
|
|
"data": [],
|
|
"valid": false
|
|
}
|
|
]
|
|
}
|
|
]
|