jspg checkpoint

This commit is contained in:
2026-06-23 19:48:38 -04:00
parent 9900b3fc43
commit a1fb9ef650
24 changed files with 588 additions and 3801 deletions

View File

@ -316,536 +316,6 @@
}
]
}
},
{
"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,
"errors": [
{
"code": "UNIQUE_ITEMS_VIOLATED",
"details": {
"path": "",
"schema": "uniqueItems_0_0"
}
}
]
}
},
{
"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,
"errors": [
{
"code": "UNIQUE_ITEMS_VIOLATED",
"details": {
"path": "",
"schema": "uniqueItems_0_0"
}
}
]
}
},
{
"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,
"errors": [
{
"code": "UNIQUE_ITEMS_VIOLATED",
"details": {
"path": "",
"schema": "uniqueItems_0_0"
}
}
]
}
},
{
"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": {
"types": [
{
"name": "uniqueItems_1_0",
"schemas": {
"uniqueItems_1_0": {
"prefixItems": [
{
"type": "boolean"
},
{
"type": "boolean"
}
],
"uniqueItems": true,
"extensible": true
}
}
}
]
},
"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,
"errors": [
{
"code": "UNIQUE_ITEMS_VIOLATED",
"details": {
"path": "",
"schema": "uniqueItems_1_0"
}
}
]
}
},
{
"description": "[true, true] from items array is not valid",
"data": [
true,
true
],
"schema_id": "uniqueItems_1_0",
"action": "validate",
"expect": {
"success": false,
"errors": [
{
"code": "UNIQUE_ITEMS_VIOLATED",
"details": {
"path": "",
"schema": "uniqueItems_1_0"
}
}
]
}
},
{
"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,
"errors": [
{
"code": "UNIQUE_ITEMS_VIOLATED",
"details": {
"path": "",
"schema": "uniqueItems_1_0"
}
}
]
}
},
{
"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,
"errors": [
{
"code": "UNIQUE_ITEMS_VIOLATED",
"details": {
"path": "",
"schema": "uniqueItems_1_0"
}
}
]
}
}
]
},
{
"description": "uniqueItems with an array of items and additionalItems=false",
"database": {
"types": [
{
"name": "uniqueItems_2_0",
"schemas": {
"uniqueItems_2_0": {
"prefixItems": [
{
"type": "boolean"
},
{
"type": "boolean"
}
],
"uniqueItems": true,
"items": false
}
}
}
]
},
"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,
"errors": [
{
"code": "UNIQUE_ITEMS_VIOLATED",
"details": {
"path": "",
"schema": "uniqueItems_2_0"
}
}
]
}
},
{
"description": "[true, true] from items array is not valid",
"data": [
true,
true
],
"schema_id": "uniqueItems_2_0",
"action": "validate",
"expect": {
"success": false,
"errors": [
{
"code": "UNIQUE_ITEMS_VIOLATED",
"details": {
"path": "",
"schema": "uniqueItems_2_0"
}
}
]
}
},
{
"description": "extra items are invalid even if unique",
"data": [
false,
true,
null
],
"schema_id": "uniqueItems_2_0",
"action": "validate",
"expect": {
"success": false,
"errors": [
{
"code": "FALSE_SCHEMA",
"details": {
"path": "2",
"schema": "uniqueItems_2_0"
}
}
]
}
}
]
},
@ -1099,232 +569,6 @@
}
]
},
{
"description": "uniqueItems=false with an array of items",
"database": {
"types": [
{
"name": "uniqueItems_4_0",
"schemas": {
"uniqueItems_4_0": {
"prefixItems": [
{
"type": "boolean"
},
{
"type": "boolean"
}
],
"uniqueItems": false,
"extensible": true
}
}
}
]
},
"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": {
"types": [
{
"name": "uniqueItems_5_0",
"schemas": {
"uniqueItems_5_0": {
"prefixItems": [
{
"type": "boolean"
},
{
"type": "boolean"
}
],
"uniqueItems": false,
"items": false
}
}
}
]
},
"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,
"errors": [
{
"code": "FALSE_SCHEMA",
"details": {
"path": "2",
"schema": "uniqueItems_5_0"
}
}
]
}
}
]
},
{
"description": "extensible: true allows extra items in uniqueItems",
"database": {