[
{
"description": "annotations come from an allOf, unevaluated is a sibling",
"schema": {
"allOf": [ { "properties": { "foo": true } } ],
"unevaluatedProperties": false
},
"tests": [
{
"description": "properties evaluated from allOf",
"data": { "foo": 1 },
"valid": true
},
{
"description": "extra property",
"data": { "bar": 1 },
"valid": false
}
]
},
{
"description": "annotations from adjacent keywords, unevaluated is a sibling",
"schema": {
"properties": { "foo": true },
"unevaluatedProperties": false
},
"tests": [
{
"description": "properties evaluated from additionalProperties",
"data": { "foo": 1 },
"valid": true
},
{
"description": "extra property",
"data": { "bar": 1 },
"valid": false
}
]
},
{
"description": "annotations come from an allOf, unevaluated is in an allOf",
"schema": {
"allOf": [ { "properties": { "foo": true } } ],
"anyOf": [ { "unevaluatedProperties": false } ]
},
"tests": [
{
"description": "properties evaluated from allOf, but unevaluated is buried",
"data": { "foo": 1 },
"valid": false
},
{
"description": "no properties",
"data": {},
"valid": true
}
]
},
{
"description": "annotations from adjacent keywords, unevaluated is in an allOf",
"schema": {
"anyOf": [ { "properties": { "foo": true } } ],
"allOf": [ { "unevaluatedProperties": false } ]
},
"tests": [
{
"description": "properties evaluated from additionalProperties, but unevaluated is buried",
"data": { "foo": 1 },
"valid": false
},
{
"description": "no properties",
"data": {},
"valid": true
}
]
},
{
"description": "collect annotations inside a 'not', even if collection is disabled",
"schema": {
"not": {
"$comment": "this subschema must still produce annotations internally, even though the 'not' will ultimately discard them",
"anyOf": [
true,
{ "properties": { "foo": true } }
],
"unevaluatedProperties": false
}
},
"tests": [
{
"description": "unevaluated property",
"data": { "bar": 1 },
"valid": true
},
{
"description": "annotations are still collected inside a 'not'",
"data": { "foo": 1 },
"valid": false
}
]
}
]