[
{
"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 or object is valid"
,
"data"
: 42,
"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 - string"
,
"data"
:
"contains does not apply to strings"
,
"valid"
:
true
},
{
"description"
:
"non-arrays are valid - object"
,
"data"
: {},
"valid"
:
true
},
{
"description"
:
"non-arrays are valid - number"
,
"data"
: 42,
"valid"
:
true
},
{
"description"
:
"non-arrays are valid - boolean"
,
"data"
:
false
,
"valid"
:
true
},
{
"description"
:
"non-arrays are valid - null"
,
"data"
:
null
,
"valid"
:
true
}
]
},
{
"description"
:
"items + contains"
,
"schema"
: {
"additionalProperties"
: {
"multipleOf"
: 2 },
"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
}
]
},
{
"description"
:
"contains with null instance elements"
,
"schema"
: {
"contains"
: {
"type"
:
"null"
}
},
"tests"
: [
{
"description"
:
"allows null items"
,
"data"
: [
null
],
"valid"
:
true
}
]
}
]