1171 lines
24 KiB
JSON
1171 lines
24 KiB
JSON
[
|
|
{
|
|
"description": "uniqueItems validation",
|
|
"database": {
|
|
"schemas": [
|
|
{
|
|
"uniqueItems": true,
|
|
"extensible": true,
|
|
"$id": "uniqueItems_0_0"
|
|
}
|
|
]
|
|
},
|
|
"tests": [
|
|
{
|
|
"description": "unique array of integers is valid",
|
|
"data": [
|
|
1,
|
|
2
|
|
],
|
|
"schema_id": "uniqueItems_0_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "non-unique array of integers is invalid",
|
|
"data": [
|
|
1,
|
|
1
|
|
],
|
|
"schema_id": "uniqueItems_0_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": false
|
|
}
|
|
},
|
|
{
|
|
"description": "non-unique array of more than two integers is invalid",
|
|
"data": [
|
|
1,
|
|
2,
|
|
1
|
|
],
|
|
"schema_id": "uniqueItems_0_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": false
|
|
}
|
|
},
|
|
{
|
|
"description": "numbers are unique if mathematically unequal",
|
|
"data": [
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
"schema_id": "uniqueItems_0_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": false
|
|
}
|
|
},
|
|
{
|
|
"description": "false is not equal to zero",
|
|
"data": [
|
|
0,
|
|
false
|
|
],
|
|
"schema_id": "uniqueItems_0_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "true is not equal to one",
|
|
"data": [
|
|
1,
|
|
true
|
|
],
|
|
"schema_id": "uniqueItems_0_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "unique array of strings is valid",
|
|
"data": [
|
|
"foo",
|
|
"bar",
|
|
"baz"
|
|
],
|
|
"schema_id": "uniqueItems_0_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "non-unique array of strings is invalid",
|
|
"data": [
|
|
"foo",
|
|
"bar",
|
|
"foo"
|
|
],
|
|
"schema_id": "uniqueItems_0_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": false
|
|
}
|
|
},
|
|
{
|
|
"description": "unique array of objects is valid",
|
|
"data": [
|
|
{
|
|
"foo": "bar"
|
|
},
|
|
{
|
|
"foo": "baz"
|
|
}
|
|
],
|
|
"schema_id": "uniqueItems_0_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "non-unique array of objects is invalid",
|
|
"data": [
|
|
{
|
|
"foo": "bar"
|
|
},
|
|
{
|
|
"foo": "bar"
|
|
}
|
|
],
|
|
"schema_id": "uniqueItems_0_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": false
|
|
}
|
|
},
|
|
{
|
|
"description": "property order of array of objects is ignored",
|
|
"data": [
|
|
{
|
|
"foo": "bar",
|
|
"bar": "foo"
|
|
},
|
|
{
|
|
"bar": "foo",
|
|
"foo": "bar"
|
|
}
|
|
],
|
|
"schema_id": "uniqueItems_0_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": false
|
|
}
|
|
},
|
|
{
|
|
"description": "unique array of nested objects is valid",
|
|
"data": [
|
|
{
|
|
"foo": {
|
|
"bar": {
|
|
"baz": true
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"foo": {
|
|
"bar": {
|
|
"baz": false
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"schema_id": "uniqueItems_0_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "non-unique array of nested objects is invalid",
|
|
"data": [
|
|
{
|
|
"foo": {
|
|
"bar": {
|
|
"baz": true
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"foo": {
|
|
"bar": {
|
|
"baz": true
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"schema_id": "uniqueItems_0_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": false
|
|
}
|
|
},
|
|
{
|
|
"description": "unique array of arrays is valid",
|
|
"data": [
|
|
[
|
|
"foo"
|
|
],
|
|
[
|
|
"bar"
|
|
]
|
|
],
|
|
"schema_id": "uniqueItems_0_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "non-unique array of arrays is invalid",
|
|
"data": [
|
|
[
|
|
"foo"
|
|
],
|
|
[
|
|
"foo"
|
|
]
|
|
],
|
|
"schema_id": "uniqueItems_0_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": false
|
|
}
|
|
},
|
|
{
|
|
"description": "non-unique array of more than two arrays is invalid",
|
|
"data": [
|
|
[
|
|
"foo"
|
|
],
|
|
[
|
|
"bar"
|
|
],
|
|
[
|
|
"foo"
|
|
]
|
|
],
|
|
"schema_id": "uniqueItems_0_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": false
|
|
}
|
|
},
|
|
{
|
|
"description": "1 and true are unique",
|
|
"data": [
|
|
1,
|
|
true
|
|
],
|
|
"schema_id": "uniqueItems_0_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "0 and false are unique",
|
|
"data": [
|
|
0,
|
|
false
|
|
],
|
|
"schema_id": "uniqueItems_0_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "[1] and [true] are unique",
|
|
"data": [
|
|
[
|
|
1
|
|
],
|
|
[
|
|
true
|
|
]
|
|
],
|
|
"schema_id": "uniqueItems_0_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "[0] and [false] are unique",
|
|
"data": [
|
|
[
|
|
0
|
|
],
|
|
[
|
|
false
|
|
]
|
|
],
|
|
"schema_id": "uniqueItems_0_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "nested [1] and [true] are unique",
|
|
"data": [
|
|
[
|
|
[
|
|
1
|
|
],
|
|
"foo"
|
|
],
|
|
[
|
|
[
|
|
true
|
|
],
|
|
"foo"
|
|
]
|
|
],
|
|
"schema_id": "uniqueItems_0_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "nested [0] and [false] are unique",
|
|
"data": [
|
|
[
|
|
[
|
|
0
|
|
],
|
|
"foo"
|
|
],
|
|
[
|
|
[
|
|
false
|
|
],
|
|
"foo"
|
|
]
|
|
],
|
|
"schema_id": "uniqueItems_0_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "unique heterogeneous types are valid",
|
|
"data": [
|
|
{},
|
|
[
|
|
1
|
|
],
|
|
true,
|
|
null,
|
|
1,
|
|
"{}"
|
|
],
|
|
"schema_id": "uniqueItems_0_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "non-unique heterogeneous types are invalid",
|
|
"data": [
|
|
{},
|
|
[
|
|
1
|
|
],
|
|
true,
|
|
null,
|
|
{},
|
|
1
|
|
],
|
|
"schema_id": "uniqueItems_0_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": false
|
|
}
|
|
},
|
|
{
|
|
"description": "different objects are unique",
|
|
"data": [
|
|
{
|
|
"a": 1,
|
|
"b": 2
|
|
},
|
|
{
|
|
"a": 2,
|
|
"b": 1
|
|
}
|
|
],
|
|
"schema_id": "uniqueItems_0_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "objects are non-unique despite key order",
|
|
"data": [
|
|
{
|
|
"a": 1,
|
|
"b": 2
|
|
},
|
|
{
|
|
"b": 2,
|
|
"a": 1
|
|
}
|
|
],
|
|
"schema_id": "uniqueItems_0_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": false
|
|
}
|
|
},
|
|
{
|
|
"description": "{\"a\": false} and {\"a\": 0} are unique",
|
|
"data": [
|
|
{
|
|
"a": false
|
|
},
|
|
{
|
|
"a": 0
|
|
}
|
|
],
|
|
"schema_id": "uniqueItems_0_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "{\"a\": true} and {\"a\": 1} are unique",
|
|
"data": [
|
|
{
|
|
"a": true
|
|
},
|
|
{
|
|
"a": 1
|
|
}
|
|
],
|
|
"schema_id": "uniqueItems_0_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "uniqueItems with an array of items",
|
|
"database": {
|
|
"schemas": [
|
|
{
|
|
"prefixItems": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "boolean"
|
|
}
|
|
],
|
|
"uniqueItems": true,
|
|
"extensible": true,
|
|
"$id": "uniqueItems_1_0"
|
|
}
|
|
]
|
|
},
|
|
"tests": [
|
|
{
|
|
"description": "[false, true] from items array is valid",
|
|
"data": [
|
|
false,
|
|
true
|
|
],
|
|
"schema_id": "uniqueItems_1_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "[true, false] from items array is valid",
|
|
"data": [
|
|
true,
|
|
false
|
|
],
|
|
"schema_id": "uniqueItems_1_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "[false, false] from items array is not valid",
|
|
"data": [
|
|
false,
|
|
false
|
|
],
|
|
"schema_id": "uniqueItems_1_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": false
|
|
}
|
|
},
|
|
{
|
|
"description": "[true, true] from items array is not valid",
|
|
"data": [
|
|
true,
|
|
true
|
|
],
|
|
"schema_id": "uniqueItems_1_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": false
|
|
}
|
|
},
|
|
{
|
|
"description": "unique array extended from [false, true] is valid",
|
|
"data": [
|
|
false,
|
|
true,
|
|
"foo",
|
|
"bar"
|
|
],
|
|
"schema_id": "uniqueItems_1_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "unique array extended from [true, false] is valid",
|
|
"data": [
|
|
true,
|
|
false,
|
|
"foo",
|
|
"bar"
|
|
],
|
|
"schema_id": "uniqueItems_1_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "non-unique array extended from [false, true] is not valid",
|
|
"data": [
|
|
false,
|
|
true,
|
|
"foo",
|
|
"foo"
|
|
],
|
|
"schema_id": "uniqueItems_1_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": false
|
|
}
|
|
},
|
|
{
|
|
"description": "non-unique array extended from [true, false] is not valid",
|
|
"data": [
|
|
true,
|
|
false,
|
|
"foo",
|
|
"foo"
|
|
],
|
|
"schema_id": "uniqueItems_1_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "uniqueItems with an array of items and additionalItems=false",
|
|
"database": {
|
|
"schemas": [
|
|
{
|
|
"prefixItems": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "boolean"
|
|
}
|
|
],
|
|
"uniqueItems": true,
|
|
"items": false,
|
|
"$id": "uniqueItems_2_0"
|
|
}
|
|
]
|
|
},
|
|
"tests": [
|
|
{
|
|
"description": "[false, true] from items array is valid",
|
|
"data": [
|
|
false,
|
|
true
|
|
],
|
|
"schema_id": "uniqueItems_2_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "[true, false] from items array is valid",
|
|
"data": [
|
|
true,
|
|
false
|
|
],
|
|
"schema_id": "uniqueItems_2_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "[false, false] from items array is not valid",
|
|
"data": [
|
|
false,
|
|
false
|
|
],
|
|
"schema_id": "uniqueItems_2_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": false
|
|
}
|
|
},
|
|
{
|
|
"description": "[true, true] from items array is not valid",
|
|
"data": [
|
|
true,
|
|
true
|
|
],
|
|
"schema_id": "uniqueItems_2_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": false
|
|
}
|
|
},
|
|
{
|
|
"description": "extra items are invalid even if unique",
|
|
"data": [
|
|
false,
|
|
true,
|
|
null
|
|
],
|
|
"schema_id": "uniqueItems_2_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "uniqueItems=false validation",
|
|
"database": {
|
|
"schemas": [
|
|
{
|
|
"uniqueItems": false,
|
|
"extensible": true,
|
|
"$id": "uniqueItems_3_0"
|
|
}
|
|
]
|
|
},
|
|
"tests": [
|
|
{
|
|
"description": "unique array of integers is valid",
|
|
"data": [
|
|
1,
|
|
2
|
|
],
|
|
"schema_id": "uniqueItems_3_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "non-unique array of integers is valid",
|
|
"data": [
|
|
1,
|
|
1
|
|
],
|
|
"schema_id": "uniqueItems_3_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "numbers are unique if mathematically unequal",
|
|
"data": [
|
|
1,
|
|
1,
|
|
1
|
|
],
|
|
"schema_id": "uniqueItems_3_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "false is not equal to zero",
|
|
"data": [
|
|
0,
|
|
false
|
|
],
|
|
"schema_id": "uniqueItems_3_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "true is not equal to one",
|
|
"data": [
|
|
1,
|
|
true
|
|
],
|
|
"schema_id": "uniqueItems_3_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "unique array of objects is valid",
|
|
"data": [
|
|
{
|
|
"foo": "bar"
|
|
},
|
|
{
|
|
"foo": "baz"
|
|
}
|
|
],
|
|
"schema_id": "uniqueItems_3_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "non-unique array of objects is valid",
|
|
"data": [
|
|
{
|
|
"foo": "bar"
|
|
},
|
|
{
|
|
"foo": "bar"
|
|
}
|
|
],
|
|
"schema_id": "uniqueItems_3_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "unique array of nested objects is valid",
|
|
"data": [
|
|
{
|
|
"foo": {
|
|
"bar": {
|
|
"baz": true
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"foo": {
|
|
"bar": {
|
|
"baz": false
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"schema_id": "uniqueItems_3_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "non-unique array of nested objects is valid",
|
|
"data": [
|
|
{
|
|
"foo": {
|
|
"bar": {
|
|
"baz": true
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"foo": {
|
|
"bar": {
|
|
"baz": true
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"schema_id": "uniqueItems_3_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "unique array of arrays is valid",
|
|
"data": [
|
|
[
|
|
"foo"
|
|
],
|
|
[
|
|
"bar"
|
|
]
|
|
],
|
|
"schema_id": "uniqueItems_3_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "non-unique array of arrays is valid",
|
|
"data": [
|
|
[
|
|
"foo"
|
|
],
|
|
[
|
|
"foo"
|
|
]
|
|
],
|
|
"schema_id": "uniqueItems_3_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "1 and true are unique",
|
|
"data": [
|
|
1,
|
|
true
|
|
],
|
|
"schema_id": "uniqueItems_3_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "0 and false are unique",
|
|
"data": [
|
|
0,
|
|
false
|
|
],
|
|
"schema_id": "uniqueItems_3_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "unique heterogeneous types are valid",
|
|
"data": [
|
|
{},
|
|
[
|
|
1
|
|
],
|
|
true,
|
|
null,
|
|
1
|
|
],
|
|
"schema_id": "uniqueItems_3_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "non-unique heterogeneous types are valid",
|
|
"data": [
|
|
{},
|
|
[
|
|
1
|
|
],
|
|
true,
|
|
null,
|
|
{},
|
|
1
|
|
],
|
|
"schema_id": "uniqueItems_3_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "uniqueItems=false with an array of items",
|
|
"database": {
|
|
"schemas": [
|
|
{
|
|
"prefixItems": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "boolean"
|
|
}
|
|
],
|
|
"uniqueItems": false,
|
|
"extensible": true,
|
|
"$id": "uniqueItems_4_0"
|
|
}
|
|
]
|
|
},
|
|
"tests": [
|
|
{
|
|
"description": "[false, true] from items array is valid",
|
|
"data": [
|
|
false,
|
|
true
|
|
],
|
|
"schema_id": "uniqueItems_4_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "[true, false] from items array is valid",
|
|
"data": [
|
|
true,
|
|
false
|
|
],
|
|
"schema_id": "uniqueItems_4_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "[false, false] from items array is valid",
|
|
"data": [
|
|
false,
|
|
false
|
|
],
|
|
"schema_id": "uniqueItems_4_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "[true, true] from items array is valid",
|
|
"data": [
|
|
true,
|
|
true
|
|
],
|
|
"schema_id": "uniqueItems_4_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "unique array extended from [false, true] is valid",
|
|
"data": [
|
|
false,
|
|
true,
|
|
"foo",
|
|
"bar"
|
|
],
|
|
"schema_id": "uniqueItems_4_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "unique array extended from [true, false] is valid",
|
|
"data": [
|
|
true,
|
|
false,
|
|
"foo",
|
|
"bar"
|
|
],
|
|
"schema_id": "uniqueItems_4_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "non-unique array extended from [false, true] is valid",
|
|
"data": [
|
|
false,
|
|
true,
|
|
"foo",
|
|
"foo"
|
|
],
|
|
"schema_id": "uniqueItems_4_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "non-unique array extended from [true, false] is valid",
|
|
"data": [
|
|
true,
|
|
false,
|
|
"foo",
|
|
"foo"
|
|
],
|
|
"schema_id": "uniqueItems_4_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "uniqueItems=false with an array of items and additionalItems=false",
|
|
"database": {
|
|
"schemas": [
|
|
{
|
|
"prefixItems": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"type": "boolean"
|
|
}
|
|
],
|
|
"uniqueItems": false,
|
|
"items": false,
|
|
"$id": "uniqueItems_5_0"
|
|
}
|
|
]
|
|
},
|
|
"tests": [
|
|
{
|
|
"description": "[false, true] from items array is valid",
|
|
"data": [
|
|
false,
|
|
true
|
|
],
|
|
"schema_id": "uniqueItems_5_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "[true, false] from items array is valid",
|
|
"data": [
|
|
true,
|
|
false
|
|
],
|
|
"schema_id": "uniqueItems_5_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "[false, false] from items array is valid",
|
|
"data": [
|
|
false,
|
|
false
|
|
],
|
|
"schema_id": "uniqueItems_5_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "[true, true] from items array is valid",
|
|
"data": [
|
|
true,
|
|
true
|
|
],
|
|
"schema_id": "uniqueItems_5_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
},
|
|
{
|
|
"description": "extra items are invalid even if unique",
|
|
"data": [
|
|
false,
|
|
true,
|
|
null
|
|
],
|
|
"schema_id": "uniqueItems_5_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "extensible: true allows extra items in uniqueItems",
|
|
"database": {
|
|
"schemas": [
|
|
{
|
|
"uniqueItems": true,
|
|
"extensible": true,
|
|
"$id": "uniqueItems_6_0"
|
|
}
|
|
]
|
|
},
|
|
"tests": [
|
|
{
|
|
"description": "extra items must be unique",
|
|
"data": [
|
|
1,
|
|
1
|
|
],
|
|
"schema_id": "uniqueItems_6_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": false
|
|
}
|
|
},
|
|
{
|
|
"description": "extra unique items valid",
|
|
"data": [
|
|
1,
|
|
2
|
|
],
|
|
"schema_id": "uniqueItems_6_0",
|
|
"action": "validate",
|
|
"expect": {
|
|
"success": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
] |