151 lines
4.2 KiB
JSON
151 lines
4.2 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
|
|
},
|
|
{
|
|
"description": "non-arrays are valid",
|
|
"data": "contains does not apply to strings",
|
|
"valid": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "items + contains",
|
|
"schema": {
|
|
"items": { "multipleOf": 2 },
|
|
"contains": { "multipleOf": 3 }
|
|
},
|
|
"tests": [
|
|
{
|
|
"description": "matches items, does not match contains",
|
|
"data": [ 2, 4, 8 ],
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "does not match items, matches contains",
|
|
"data": [ 3, 6, 9 ],
|
|
"valid": false
|
|
},
|
|
{
|
|
"description": "matches both items and contains",
|
|
"data": [ 6, 12 ],
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "matches neither items nor contains",
|
|
"data": [ 1, 5 ],
|
|
"valid": false
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "contains with false if subschema",
|
|
"schema": {
|
|
"contains": {
|
|
"if": false,
|
|
"else": true
|
|
}
|
|
},
|
|
"tests": [
|
|
{
|
|
"description": "any non-empty array is valid",
|
|
"data": ["foo"],
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "empty array is invalid",
|
|
"data": [],
|
|
"valid": false
|
|
}
|
|
]
|
|
}
|
|
]
|