121 lines
3.5 KiB
JSON
121 lines
3.5 KiB
JSON
[
|
|
{
|
|
"description": "Simple dynamicRef to dynamicAnchor in same schema",
|
|
"schema": {
|
|
"$id": "https://test.jspg.org/dynamic-ref/simple",
|
|
"$dynamicAnchor": "root",
|
|
"type": "array",
|
|
"items": {
|
|
"$dynamicRef": "#item"
|
|
},
|
|
"$defs": {
|
|
"item": {
|
|
"$dynamicAnchor": "item",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"tests": [
|
|
{
|
|
"description": "valid string item",
|
|
"data": [
|
|
"foo"
|
|
],
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "invalid number item",
|
|
"data": [
|
|
1
|
|
],
|
|
"valid": false
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Dynamic scope resolution (generic list pattern)",
|
|
"schema": {
|
|
"$id": "https://test.jspg.org/dynamic-ref/override",
|
|
"$dynamicAnchor": "root",
|
|
"$ref": "https://test.jspg.org/dynamic-ref/generic-list",
|
|
"$defs": {
|
|
"generic-list": {
|
|
"$id": "https://test.jspg.org/dynamic-ref/generic-list",
|
|
"$dynamicAnchor": "list",
|
|
"type": "array",
|
|
"items": {
|
|
"$dynamicRef": "#item"
|
|
},
|
|
"$defs": {
|
|
"defaultItem": {
|
|
"$dynamicAnchor": "item",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"override-item": {
|
|
"$dynamicAnchor": "item",
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"tests": [
|
|
{
|
|
"description": "integers valid (overridden)",
|
|
"data": [
|
|
1,
|
|
2
|
|
],
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "strings invalid (overridden)",
|
|
"data": [
|
|
"a"
|
|
],
|
|
"valid": false
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"description": "Dynamic scope resolution (no override uses default)",
|
|
"schema": {
|
|
"$id": "https://test.jspg.org/dynamic-ref/no-override",
|
|
"$dynamicAnchor": "root",
|
|
"$ref": "https://test.jspg.org/dynamic-ref/generic-list-2",
|
|
"$defs": {
|
|
"generic-list-2": {
|
|
"$id": "https://test.jspg.org/dynamic-ref/generic-list-2",
|
|
"$dynamicAnchor": "list",
|
|
"type": "array",
|
|
"items": {
|
|
"$dynamicRef": "#item"
|
|
},
|
|
"$defs": {
|
|
"defaultItem": {
|
|
"$dynamicAnchor": "item",
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tests": [
|
|
{
|
|
"description": "strings valid (default)",
|
|
"data": [
|
|
"a",
|
|
"b"
|
|
],
|
|
"valid": true
|
|
},
|
|
{
|
|
"description": "integers invalid (default)",
|
|
"data": [
|
|
1
|
|
],
|
|
"valid": false
|
|
}
|
|
]
|
|
}
|
|
] |