ajv/spec/extras/$data/maxItems.json

61 lines
1.3 KiB
JSON

[
{
"description": "array length is <= than another property",
"schema": {
"properties": {
"maxArrayLength": {},
"array": { "maxItems": { "$data": "1/maxArrayLength" } }
}
},
"tests": [
{
"description": "shorter is valid",
"data": {
"maxArrayLength": 2,
"array": [1]
},
"valid": true
},
{
"description": "exact length is valid",
"data": {
"maxArrayLength": 2,
"array": [1, 2]
},
"valid": true
},
{
"description": "too long is invalid",
"data": {
"maxArrayLength": 2,
"array": [1, 2, 3]
},
"valid": false
},
{
"description": "ignores non-arrays",
"data": {
"maxArrayLength": 2,
"array": "foobar"
},
"valid": true
},
{
"description": "fails if value of maxItems is not a number",
"data": {
"maxArrayLength": "2",
"array": [1, 2]
},
"valid": false
},
{
"description": "valid if value of maxItems is undefined",
"data": {
"array": [1, 2]
},
"valid": true
}
]
}
]