Files
jspg/tests/fixtures/old/dynamicRef.json
2026-02-17 17:41:54 -05:00

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
}
]
}
]