| { |
| "$schema": "../test-suite.schema.json", |
| "description": "The unevaluated vocabulary", |
| "suite": [ |
| { |
| "description": "`unevaluatedProperties` alone", |
| "compatibility": "2019", |
| "schema": { |
| "unevaluatedProperties": { "title": "Unevaluated" } |
| }, |
| "tests": [ |
| { |
| "instance": { "foo": 42, "bar": 24 }, |
| "assertions": [ |
| { |
| "location": "/foo", |
| "keyword": "title", |
| "expected": { |
| "#/unevaluatedProperties": "Unevaluated" |
| } |
| }, |
| { |
| "location": "/bar", |
| "keyword": "title", |
| "expected": { |
| "#/unevaluatedProperties": "Unevaluated" |
| } |
| } |
| ] |
| } |
| ] |
| }, |
| { |
| "description": "`unevaluatedProperties` with `properties`", |
| "compatibility": "2019", |
| "schema": { |
| "properties": { |
| "foo": { "title": "Evaluated" } |
| }, |
| "unevaluatedProperties": { "title": "Unevaluated" } |
| }, |
| "tests": [ |
| { |
| "instance": { "foo": 42, "bar": 24 }, |
| "assertions": [ |
| { |
| "location": "/foo", |
| "keyword": "title", |
| "expected": { |
| "#/properties/foo": "Evaluated" |
| } |
| }, |
| { |
| "location": "/bar", |
| "keyword": "title", |
| "expected": { |
| "#/unevaluatedProperties": "Unevaluated" |
| } |
| } |
| ] |
| } |
| ] |
| }, |
| { |
| "description": "`unevaluatedProperties` with `patternProperties`", |
| "compatibility": "2019", |
| "schema": { |
| "patternProperties": { |
| "^a": { "title": "Evaluated" } |
| }, |
| "unevaluatedProperties": { "title": "Unevaluated" } |
| }, |
| "tests": [ |
| { |
| "instance": { "apple": 42, "bar": 24 }, |
| "assertions": [ |
| { |
| "location": "/apple", |
| "keyword": "title", |
| "expected": { |
| "#/patternProperties/%5Ea": "Evaluated" |
| } |
| }, |
| { |
| "location": "/bar", |
| "keyword": "title", |
| "expected": { |
| "#/unevaluatedProperties": "Unevaluated" |
| } |
| } |
| ] |
| } |
| ] |
| }, |
| { |
| "description": "`unevaluatedProperties` with `additionalProperties`", |
| "compatibility": "2019", |
| "schema": { |
| "additionalProperties": { "title": "Evaluated" }, |
| "unevaluatedProperties": { "title": "Unevaluated" } |
| }, |
| "tests": [ |
| { |
| "instance": { "foo": 42, "bar": 24 }, |
| "assertions": [ |
| { |
| "location": "/foo", |
| "keyword": "title", |
| "expected": { |
| "#/additionalProperties": "Evaluated" |
| } |
| }, |
| { |
| "location": "/bar", |
| "keyword": "title", |
| "expected": { |
| "#/additionalProperties": "Evaluated" |
| } |
| } |
| ] |
| } |
| ] |
| }, |
| { |
| "description": "`unevaluatedProperties` with `dependentSchemas`", |
| "compatibility": "2019", |
| "schema": { |
| "dependentSchemas": { |
| "foo": { |
| "properties": { |
| "bar": { "title": "Evaluated" } |
| } |
| } |
| }, |
| "unevaluatedProperties": { "title": "Unevaluated" } |
| }, |
| "tests": [ |
| { |
| "instance": { "foo": 42, "bar": 24 }, |
| "assertions": [ |
| { |
| "location": "/foo", |
| "keyword": "title", |
| "expected": { |
| "#/unevaluatedProperties": "Unevaluated" |
| } |
| }, |
| { |
| "location": "/bar", |
| "keyword": "title", |
| "expected": { |
| "#/dependentSchemas/foo/properties/bar": "Evaluated" |
| } |
| } |
| ] |
| } |
| ] |
| }, |
| { |
| "description": "`unevaluatedProperties` with `if`, `then`, and `else`", |
| "compatibility": "2019", |
| "schema": { |
| "if": { |
| "properties": { |
| "foo": { |
| "type": "string", |
| "title": "If" |
| } |
| } |
| }, |
| "then": { |
| "properties": { |
| "foo": { "title": "Then" } |
| } |
| }, |
| "else": { |
| "properties": { |
| "foo": { "title": "Else" } |
| } |
| }, |
| "unevaluatedProperties": { "title": "Unevaluated" } |
| }, |
| "tests": [ |
| { |
| "instance": { "foo": "", "bar": 42 }, |
| "assertions": [ |
| { |
| "location": "/foo", |
| "keyword": "title", |
| "expected": { |
| "#/then/properties/foo": "Then", |
| "#/if/properties/foo": "If" |
| } |
| }, |
| { |
| "location": "/bar", |
| "keyword": "title", |
| "expected": { |
| "#/unevaluatedProperties": "Unevaluated" |
| } |
| } |
| ] |
| }, |
| { |
| "instance": { "foo": 42, "bar": "" }, |
| "assertions": [ |
| { |
| "location": "/foo", |
| "keyword": "title", |
| "expected": { |
| "#/else/properties/foo": "Else" |
| } |
| }, |
| { |
| "location": "/bar", |
| "keyword": "title", |
| "expected": { |
| "#/unevaluatedProperties": "Unevaluated" |
| } |
| } |
| ] |
| } |
| ] |
| }, |
| { |
| "description": "`unevaluatedProperties` with `allOf`", |
| "compatibility": "2019", |
| "schema": { |
| "allOf": [ |
| { |
| "properties": { |
| "foo": { "title": "Evaluated" } |
| } |
| } |
| ], |
| "unevaluatedProperties": { "title": "Unevaluated" } |
| }, |
| "tests": [ |
| { |
| "instance": { "foo": 42, "bar": 24 }, |
| "assertions": [ |
| { |
| "location": "/foo", |
| "keyword": "title", |
| "expected": { |
| "#/allOf/0/properties/foo": "Evaluated" |
| } |
| }, |
| { |
| "location": "/bar", |
| "keyword": "title", |
| "expected": { |
| "#/unevaluatedProperties": "Unevaluated" |
| } |
| } |
| ] |
| } |
| ] |
| }, |
| { |
| "description": "`unevaluatedProperties` with `anyOf`", |
| "compatibility": "2019", |
| "schema": { |
| "anyOf": [ |
| { |
| "properties": { |
| "foo": { "title": "Evaluated" } |
| } |
| } |
| ], |
| "unevaluatedProperties": { "title": "Unevaluated" } |
| }, |
| "tests": [ |
| { |
| "instance": { "foo": 42, "bar": 24 }, |
| "assertions": [ |
| { |
| "location": "/foo", |
| "keyword": "title", |
| "expected": { |
| "#/anyOf/0/properties/foo": "Evaluated" |
| } |
| }, |
| { |
| "location": "/bar", |
| "keyword": "title", |
| "expected": { |
| "#/unevaluatedProperties": "Unevaluated" |
| } |
| } |
| ] |
| } |
| ] |
| }, |
| { |
| "description": "`unevaluatedProperties` with `oneOf`", |
| "compatibility": "2019", |
| "schema": { |
| "oneOf": [ |
| { |
| "properties": { |
| "foo": { "title": "Evaluated" } |
| } |
| } |
| ], |
| "unevaluatedProperties": { "title": "Unevaluated" } |
| }, |
| "tests": [ |
| { |
| "instance": { "foo": 42, "bar": 24 }, |
| "assertions": [ |
| { |
| "location": "/foo", |
| "keyword": "title", |
| "expected": { |
| "#/oneOf/0/properties/foo": "Evaluated" |
| } |
| }, |
| { |
| "location": "/bar", |
| "keyword": "title", |
| "expected": { |
| "#/unevaluatedProperties": "Unevaluated" |
| } |
| } |
| ] |
| } |
| ] |
| }, |
| { |
| "description": "`unevaluatedProperties` with `not`", |
| "compatibility": "2019", |
| "schema": { |
| "not": { |
| "not": { |
| "properties": { |
| "foo": { "title": "Evaluated" } |
| } |
| } |
| }, |
| "unevaluatedProperties": { "title": "Unevaluated" } |
| }, |
| "tests": [ |
| { |
| "instance": { "foo": 42, "bar": 24 }, |
| "assertions": [ |
| { |
| "location": "/foo", |
| "keyword": "title", |
| "expected": { |
| "#/unevaluatedProperties": "Unevaluated" |
| } |
| }, |
| { |
| "location": "/bar", |
| "keyword": "title", |
| "expected": { |
| "#/unevaluatedProperties": "Unevaluated" |
| } |
| } |
| ] |
| } |
| ] |
| }, |
| { |
| "description": "`unevaluatedItems` alone", |
| "compatibility": "2019", |
| "schema": { |
| "unevaluatedItems": { "title": "Unevaluated" } |
| }, |
| "tests": [ |
| { |
| "instance": [42, 24], |
| "assertions": [ |
| { |
| "location": "/0", |
| "keyword": "title", |
| "expected": { |
| "#/unevaluatedItems": "Unevaluated" |
| } |
| }, |
| { |
| "location": "/1", |
| "keyword": "title", |
| "expected": { |
| "#/unevaluatedItems": "Unevaluated" |
| } |
| } |
| ] |
| } |
| ] |
| }, |
| { |
| "description": "`unevaluatedItems` with `prefixItems`", |
| "compatibility": "2020", |
| "schema": { |
| "prefixItems": [{ "title": "Evaluated" }], |
| "unevaluatedItems": { "title": "Unevaluated" } |
| }, |
| "tests": [ |
| { |
| "instance": [42, 24], |
| "assertions": [ |
| { |
| "location": "/0", |
| "keyword": "title", |
| "expected": { |
| "#/prefixItems/0": "Evaluated" |
| } |
| }, |
| { |
| "location": "/1", |
| "keyword": "title", |
| "expected": { |
| "#/unevaluatedItems": "Unevaluated" |
| } |
| } |
| ] |
| } |
| ] |
| }, |
| { |
| "description": "`unevaluatedItems` with `contains`", |
| "compatibility": "2020", |
| "schema": { |
| "contains": { |
| "type": "string", |
| "title": "Evaluated" |
| }, |
| "unevaluatedItems": { "title": "Unevaluated" } |
| }, |
| "tests": [ |
| { |
| "instance": ["foo", 42], |
| "assertions": [ |
| { |
| "location": "/0", |
| "keyword": "title", |
| "expected": { |
| "#/contains": "Evaluated" |
| } |
| }, |
| { |
| "location": "/1", |
| "keyword": "title", |
| "expected": { |
| "#/unevaluatedItems": "Unevaluated" |
| } |
| } |
| ] |
| } |
| ] |
| }, |
| { |
| "description": "`unevaluatedItems` with `if`, `then`, and `else`", |
| "compatibility": "2020", |
| "schema": { |
| "if": { |
| "prefixItems": [ |
| { |
| "type": "string", |
| "title": "If" |
| } |
| ] |
| }, |
| "then": { |
| "prefixItems": [ |
| { "title": "Then" } |
| ] |
| }, |
| "else": { |
| "prefixItems": [ |
| { "title": "Else" } |
| ] |
| }, |
| "unevaluatedItems": { "title": "Unevaluated" } |
| }, |
| "tests": [ |
| { |
| "instance": ["", 42], |
| "assertions": [ |
| { |
| "location": "/0", |
| "keyword": "title", |
| "expected": { |
| "#/then/prefixItems/0": "Then", |
| "#/if/prefixItems/0": "If" |
| } |
| }, |
| { |
| "location": "/1", |
| "keyword": "title", |
| "expected": { |
| "#/unevaluatedItems": "Unevaluated" |
| } |
| } |
| ] |
| }, |
| { |
| "instance": [42, ""], |
| "assertions": [ |
| { |
| "location": "/0", |
| "keyword": "title", |
| "expected": { |
| "#/else/prefixItems/0": "Else" |
| } |
| }, |
| { |
| "location": "/1", |
| "keyword": "title", |
| "expected": { |
| "#/unevaluatedItems": "Unevaluated" |
| } |
| } |
| ] |
| } |
| ] |
| }, |
| { |
| "description": "`unevaluatedItems` with `allOf`", |
| "compatibility": "2020", |
| "schema": { |
| "allOf": [ |
| { |
| "prefixItems": [ |
| { "title": "Evaluated" } |
| ] |
| } |
| ], |
| "unevaluatedItems": { "title": "Unevaluated" } |
| }, |
| "tests": [ |
| { |
| "instance": [42, 24], |
| "assertions": [ |
| { |
| "location": "/0", |
| "keyword": "title", |
| "expected": { |
| "#/allOf/0/prefixItems/0": "Evaluated" |
| } |
| }, |
| { |
| "location": "/1", |
| "keyword": "title", |
| "expected": { |
| "#/unevaluatedItems": "Unevaluated" |
| } |
| } |
| ] |
| } |
| ] |
| }, |
| { |
| "description": "`unevaluatedItems` with `anyOf`", |
| "compatibility": "2020", |
| "schema": { |
| "anyOf": [ |
| { |
| "prefixItems": [ |
| { "title": "Evaluated" } |
| ] |
| } |
| ], |
| "unevaluatedItems": { "title": "Unevaluated" } |
| }, |
| "tests": [ |
| { |
| "instance": [42, 24], |
| "assertions": [ |
| { |
| "location": "/0", |
| "keyword": "title", |
| "expected": { |
| "#/anyOf/0/prefixItems/0": "Evaluated" |
| } |
| }, |
| { |
| "location": "/1", |
| "keyword": "title", |
| "expected": { |
| "#/unevaluatedItems": "Unevaluated" |
| } |
| } |
| ] |
| } |
| ] |
| }, |
| { |
| "description": "`unevaluatedItems` with `oneOf`", |
| "compatibility": "2020", |
| "schema": { |
| "oneOf": [ |
| { |
| "prefixItems": [ |
| { "title": "Evaluated" } |
| ] |
| } |
| ], |
| "unevaluatedItems": { "title": "Unevaluated" } |
| }, |
| "tests": [ |
| { |
| "instance": [42, 24], |
| "assertions": [ |
| { |
| "location": "/0", |
| "keyword": "title", |
| "expected": { |
| "#/oneOf/0/prefixItems/0": "Evaluated" |
| } |
| }, |
| { |
| "location": "/1", |
| "keyword": "title", |
| "expected": { |
| "#/unevaluatedItems": "Unevaluated" |
| } |
| } |
| ] |
| } |
| ] |
| }, |
| { |
| "description": "`unevaluatedItems` with `not`", |
| "compatibility": "2020", |
| "schema": { |
| "not": { |
| "not": { |
| "prefixItems": [ |
| { "title": "Evaluated" } |
| ] |
| } |
| }, |
| "unevaluatedItems": { "title": "Unevaluated" } |
| }, |
| "tests": [ |
| { |
| "instance": [42, 24], |
| "assertions": [ |
| { |
| "location": "/0", |
| "keyword": "title", |
| "expected": { |
| "#/unevaluatedItems": "Unevaluated" |
| } |
| }, |
| { |
| "location": "/1", |
| "keyword": "title", |
| "expected": { |
| "#/unevaluatedItems": "Unevaluated" |
| } |
| } |
| ] |
| } |
| ] |
| } |
| ] |
| } |