[
{
"description": "past and future keywords are ignored",
"schema": {
"id": "#bad_syntax!for anchor~",
"dependentSchemas": {
"alpha": false
},
"dependentRequired": {
"beta": [ "zeta" ]
},
"prefixItems": [
true,
false
],
"type": "number"
},
"tests": [
{
"description": "passing",
"data": 1,
"valid": true
},
{
"description": "failing (string)",
"data": "foo",
"valid": false
},
{
"description": "failing (object)",
"data": { "alpha": 1, "beta": 2 },
"valid": false
},
{
"description": "failing (array)",
"data": [ 1, 2 ],
"valid": false
}
]
},
{
"description": "$recursiveRef without $recursiveAnchor works like $ref",
"schema": {
"properties": {
"foo": {"$recursiveRef": "#"}
},
"additionalProperties": false
},
"tests": [
{
"description": "match",
"data": {"foo": false},
"valid": true
},
{
"description": "recursive match",
"data": {"foo": {"foo": false}},
"valid": true
},
{
"description": "mismatch",
"data": {"bar": false},
"valid": false
},
{
"description": "recursive mismatch (but $dynamicRef is ignored)",
"data": {"foo": {"bar": false}},
"valid": true
}
]
}
]