61 lines
1.3 KiB
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
|
|
}
|
|
]
|
|
}
|
|
]
|