From a95d78cb2643b1007fecfe0564563d61109cfda5 Mon Sep 17 00:00:00 2001 From: Karen Etheridge Date: Tue, 2 Jun 2020 20:02:16 -0700 Subject: [PATCH 1/2] comprehensive test of keyword independence Keywords that are only in effect with instance data of one type should never interfere with keywords that require a different instance type. In particular, implementations should not attempt to infer the type of the instance data based on the keywords used by the schema. --- tests/draft2019-09/keyword-independence.json | 5820 ++++++++++++++++++ tests/draft4/keyword-independence.json | 4397 +++++++++++++ tests/draft6/keyword-independence.json | 5307 ++++++++++++++++ tests/draft7/keyword-independence.json | 5307 ++++++++++++++++ 4 files changed, 20831 insertions(+) create mode 100644 tests/draft2019-09/keyword-independence.json create mode 100644 tests/draft4/keyword-independence.json create mode 100644 tests/draft6/keyword-independence.json create mode 100644 tests/draft7/keyword-independence.json diff --git a/tests/draft2019-09/keyword-independence.json b/tests/draft2019-09/keyword-independence.json new file mode 100644 index 00000000..83fdcc80 --- /dev/null +++ b/tests/draft2019-09/keyword-independence.json @@ -0,0 +1,5820 @@ +[ + { + "description" : "contains + exclusiveMaximum", + "schema" : { + "contains" : true, + "exclusiveMaximum" : 2 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + } + ] + }, + { + "description" : "contains + exclusiveMinimum", + "schema" : { + "contains" : true, + "exclusiveMinimum" : 2 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + } + ] + }, + { + "description" : "contains + maximum", + "schema" : { + "contains" : true, + "maximum" : 2 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + } + ] + }, + { + "description" : "contains + minimum", + "schema" : { + "contains" : true, + "minimum" : 2 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + } + ] + }, + { + "description" : "contains + multipleOf", + "schema" : { + "contains" : true, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + } + ] + }, + { + "description" : "items + exclusiveMaximum", + "schema" : { + "exclusiveMaximum" : 2, + "items" : false + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + } + ] + }, + { + "description" : "items + exclusiveMinimum", + "schema" : { + "exclusiveMinimum" : 2, + "items" : false + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + } + ] + }, + { + "description" : "items + maximum", + "schema" : { + "items" : false, + "maximum" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + } + ] + }, + { + "description" : "items + minimum", + "schema" : { + "items" : false, + "minimum" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + } + ] + }, + { + "description" : "items + multipleOf", + "schema" : { + "items" : false, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + exclusiveMaximum", + "schema" : { + "exclusiveMaximum" : 2, + "maxItems" : 1 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + exclusiveMinimum", + "schema" : { + "exclusiveMinimum" : 2, + "maxItems" : 1 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + maximum", + "schema" : { + "maxItems" : 1, + "maximum" : 2 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + minimum", + "schema" : { + "maxItems" : 1, + "minimum" : 2 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + multipleOf", + "schema" : { + "maxItems" : 1, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + exclusiveMaximum", + "schema" : { + "exclusiveMaximum" : 2, + "minItems" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + exclusiveMinimum", + "schema" : { + "exclusiveMinimum" : 2, + "minItems" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + maximum", + "schema" : { + "maximum" : 2, + "minItems" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + minimum", + "schema" : { + "minItems" : 2, + "minimum" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + multipleOf", + "schema" : { + "minItems" : 2, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + exclusiveMaximum", + "schema" : { + "exclusiveMaximum" : 2, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + exclusiveMinimum", + "schema" : { + "exclusiveMinimum" : 2, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + maximum", + "schema" : { + "maximum" : 2, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + minimum", + "schema" : { + "minimum" : 2, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + multipleOf", + "schema" : { + "multipleOf" : 2, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + } + ] + }, + { + "description" : "contains + additionalProperties", + "schema" : { + "additionalProperties" : false, + "contains" : true + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "contains + dependentRequired", + "schema" : { + "contains" : true, + "dependentRequired" : { + "x" : [ + "y" + ] + } + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependentRequired invalid", + "valid" : false + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, dependentRequired valid", + "valid" : true + } + ] + }, + { + "description" : "contains + dependentSchemas", + "schema" : { + "contains" : true, + "dependentSchemas" : { + "x" : false + } + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependentSchemas invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependentSchemas valid", + "valid" : true + } + ] + }, + { + "description" : "contains + maxProperties", + "schema" : { + "contains" : true, + "maxProperties" : 1 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "contains + minProperties", + "schema" : { + "contains" : true, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "contains + patternProperties", + "schema" : { + "contains" : true, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "contains + properties", + "schema" : { + "contains" : true, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "contains + propertyNames", + "schema" : { + "contains" : true, + "propertyNames" : false + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "contains + required", + "schema" : { + "contains" : true, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "items + additionalProperties", + "schema" : { + "additionalProperties" : false, + "items" : false + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "items + dependentRequired", + "schema" : { + "dependentRequired" : { + "x" : [ + "y" + ] + }, + "items" : false + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependentRequired invalid", + "valid" : false + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, dependentRequired valid", + "valid" : true + } + ] + }, + { + "description" : "items + dependentSchemas", + "schema" : { + "dependentSchemas" : { + "x" : false + }, + "items" : false + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependentSchemas invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependentSchemas valid", + "valid" : true + } + ] + }, + { + "description" : "items + maxProperties", + "schema" : { + "items" : false, + "maxProperties" : 1 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "items + minProperties", + "schema" : { + "items" : false, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "items + patternProperties", + "schema" : { + "items" : false, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "items + properties", + "schema" : { + "items" : false, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "items + propertyNames", + "schema" : { + "items" : false, + "propertyNames" : false + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "items + required", + "schema" : { + "items" : false, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + additionalProperties", + "schema" : { + "additionalProperties" : false, + "maxItems" : 1 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + dependentRequired", + "schema" : { + "dependentRequired" : { + "x" : [ + "y" + ] + }, + "maxItems" : 1 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependentRequired invalid", + "valid" : false + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, dependentRequired valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + dependentSchemas", + "schema" : { + "dependentSchemas" : { + "x" : false + }, + "maxItems" : 1 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependentSchemas invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependentSchemas valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + maxProperties", + "schema" : { + "maxItems" : 1, + "maxProperties" : 1 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + minProperties", + "schema" : { + "maxItems" : 1, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + patternProperties", + "schema" : { + "maxItems" : 1, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + properties", + "schema" : { + "maxItems" : 1, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + propertyNames", + "schema" : { + "maxItems" : 1, + "propertyNames" : false + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + required", + "schema" : { + "maxItems" : 1, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + additionalProperties", + "schema" : { + "additionalProperties" : false, + "minItems" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + dependentRequired", + "schema" : { + "dependentRequired" : { + "x" : [ + "y" + ] + }, + "minItems" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependentRequired invalid", + "valid" : false + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, dependentRequired valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + dependentSchemas", + "schema" : { + "dependentSchemas" : { + "x" : false + }, + "minItems" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependentSchemas invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependentSchemas valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + maxProperties", + "schema" : { + "maxProperties" : 1, + "minItems" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + minProperties", + "schema" : { + "minItems" : 2, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + patternProperties", + "schema" : { + "minItems" : 2, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + properties", + "schema" : { + "minItems" : 2, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + propertyNames", + "schema" : { + "minItems" : 2, + "propertyNames" : false + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + required", + "schema" : { + "minItems" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + additionalProperties", + "schema" : { + "additionalProperties" : false, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + dependentRequired", + "schema" : { + "dependentRequired" : { + "x" : [ + "y" + ] + }, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependentRequired invalid", + "valid" : false + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, dependentRequired valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + dependentSchemas", + "schema" : { + "dependentSchemas" : { + "x" : false + }, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependentSchemas invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependentSchemas valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + maxProperties", + "schema" : { + "maxProperties" : 1, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + minProperties", + "schema" : { + "minProperties" : 1, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + patternProperties", + "schema" : { + "patternProperties" : { + "no" : false, + "yes" : true + }, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + properties", + "schema" : { + "properties" : { + "x" : false + }, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + propertyNames", + "schema" : { + "propertyNames" : false, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + required", + "schema" : { + "required" : [ + "x" + ], + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "contains + maxLength", + "schema" : { + "contains" : true, + "maxLength" : 2 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "contains + minLength", + "schema" : { + "contains" : true, + "minLength" : 2 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "contains + pattern", + "schema" : { + "contains" : true, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "items + maxLength", + "schema" : { + "items" : false, + "maxLength" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "items + minLength", + "schema" : { + "items" : false, + "minLength" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "items + pattern", + "schema" : { + "items" : false, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + maxLength", + "schema" : { + "maxItems" : 1, + "maxLength" : 2 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + minLength", + "schema" : { + "maxItems" : 1, + "minLength" : 2 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + pattern", + "schema" : { + "maxItems" : 1, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + maxLength", + "schema" : { + "maxLength" : 2, + "minItems" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + minLength", + "schema" : { + "minItems" : 2, + "minLength" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + pattern", + "schema" : { + "minItems" : 2, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + maxLength", + "schema" : { + "maxLength" : 2, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + minLength", + "schema" : { + "minLength" : 2, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + pattern", + "schema" : { + "pattern" : "hi", + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + additionalProperties", + "schema" : { + "additionalProperties" : false, + "exclusiveMaximum" : 2 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + dependentRequired", + "schema" : { + "dependentRequired" : { + "x" : [ + "y" + ] + }, + "exclusiveMaximum" : 2 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependentRequired invalid", + "valid" : false + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, dependentRequired valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + dependentSchemas", + "schema" : { + "dependentSchemas" : { + "x" : false + }, + "exclusiveMaximum" : 2 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependentSchemas invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependentSchemas valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + maxProperties", + "schema" : { + "exclusiveMaximum" : 2, + "maxProperties" : 1 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + minProperties", + "schema" : { + "exclusiveMaximum" : 2, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + patternProperties", + "schema" : { + "exclusiveMaximum" : 2, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + properties", + "schema" : { + "exclusiveMaximum" : 2, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + propertyNames", + "schema" : { + "exclusiveMaximum" : 2, + "propertyNames" : false + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + required", + "schema" : { + "exclusiveMaximum" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + additionalProperties", + "schema" : { + "additionalProperties" : false, + "exclusiveMinimum" : 2 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + dependentRequired", + "schema" : { + "dependentRequired" : { + "x" : [ + "y" + ] + }, + "exclusiveMinimum" : 2 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependentRequired invalid", + "valid" : false + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, dependentRequired valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + dependentSchemas", + "schema" : { + "dependentSchemas" : { + "x" : false + }, + "exclusiveMinimum" : 2 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependentSchemas invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependentSchemas valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + maxProperties", + "schema" : { + "exclusiveMinimum" : 2, + "maxProperties" : 1 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + minProperties", + "schema" : { + "exclusiveMinimum" : 2, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + patternProperties", + "schema" : { + "exclusiveMinimum" : 2, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + properties", + "schema" : { + "exclusiveMinimum" : 2, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + propertyNames", + "schema" : { + "exclusiveMinimum" : 2, + "propertyNames" : false + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + required", + "schema" : { + "exclusiveMinimum" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + additionalProperties", + "schema" : { + "additionalProperties" : false, + "maximum" : 2 + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + dependentRequired", + "schema" : { + "dependentRequired" : { + "x" : [ + "y" + ] + }, + "maximum" : 2 + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependentRequired invalid", + "valid" : false + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, dependentRequired valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + dependentSchemas", + "schema" : { + "dependentSchemas" : { + "x" : false + }, + "maximum" : 2 + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependentSchemas invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependentSchemas valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + maxProperties", + "schema" : { + "maxProperties" : 1, + "maximum" : 2 + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + minProperties", + "schema" : { + "maximum" : 2, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + patternProperties", + "schema" : { + "maximum" : 2, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + properties", + "schema" : { + "maximum" : 2, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + propertyNames", + "schema" : { + "maximum" : 2, + "propertyNames" : false + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + required", + "schema" : { + "maximum" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + additionalProperties", + "schema" : { + "additionalProperties" : false, + "minimum" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + dependentRequired", + "schema" : { + "dependentRequired" : { + "x" : [ + "y" + ] + }, + "minimum" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependentRequired invalid", + "valid" : false + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, dependentRequired valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + dependentSchemas", + "schema" : { + "dependentSchemas" : { + "x" : false + }, + "minimum" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependentSchemas invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependentSchemas valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + maxProperties", + "schema" : { + "maxProperties" : 1, + "minimum" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + minProperties", + "schema" : { + "minProperties" : 1, + "minimum" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + patternProperties", + "schema" : { + "minimum" : 2, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + properties", + "schema" : { + "minimum" : 2, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + propertyNames", + "schema" : { + "minimum" : 2, + "propertyNames" : false + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + required", + "schema" : { + "minimum" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + additionalProperties", + "schema" : { + "additionalProperties" : false, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + dependentRequired", + "schema" : { + "dependentRequired" : { + "x" : [ + "y" + ] + }, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependentRequired invalid", + "valid" : false + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, dependentRequired valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + dependentSchemas", + "schema" : { + "dependentSchemas" : { + "x" : false + }, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependentSchemas invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependentSchemas valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + maxProperties", + "schema" : { + "maxProperties" : 1, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + minProperties", + "schema" : { + "minProperties" : 1, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + patternProperties", + "schema" : { + "multipleOf" : 2, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + properties", + "schema" : { + "multipleOf" : 2, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + propertyNames", + "schema" : { + "multipleOf" : 2, + "propertyNames" : false + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + required", + "schema" : { + "multipleOf" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + maxLength", + "schema" : { + "exclusiveMaximum" : 2, + "maxLength" : 2 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + minLength", + "schema" : { + "exclusiveMaximum" : 2, + "minLength" : 2 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + pattern", + "schema" : { + "exclusiveMaximum" : 2, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + maxLength", + "schema" : { + "exclusiveMinimum" : 2, + "maxLength" : 2 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + minLength", + "schema" : { + "exclusiveMinimum" : 2, + "minLength" : 2 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + pattern", + "schema" : { + "exclusiveMinimum" : 2, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + maxLength", + "schema" : { + "maxLength" : 2, + "maximum" : 2 + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + minLength", + "schema" : { + "maximum" : 2, + "minLength" : 2 + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + pattern", + "schema" : { + "maximum" : 2, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + maxLength", + "schema" : { + "maxLength" : 2, + "minimum" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + minLength", + "schema" : { + "minLength" : 2, + "minimum" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + pattern", + "schema" : { + "minimum" : 2, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + maxLength", + "schema" : { + "maxLength" : 2, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + minLength", + "schema" : { + "minLength" : 2, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + pattern", + "schema" : { + "multipleOf" : 2, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "additionalProperties + maxLength", + "schema" : { + "additionalProperties" : false, + "maxLength" : 2 + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "additionalProperties + minLength", + "schema" : { + "additionalProperties" : false, + "minLength" : 2 + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "additionalProperties + pattern", + "schema" : { + "additionalProperties" : false, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "dependentRequired + maxLength", + "schema" : { + "dependentRequired" : { + "x" : [ + "y" + ] + }, + "maxLength" : 2 + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, dependentRequired invalid", + "valid" : false + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, dependentRequired valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "dependentRequired + minLength", + "schema" : { + "dependentRequired" : { + "x" : [ + "y" + ] + }, + "minLength" : 2 + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, dependentRequired invalid", + "valid" : false + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, dependentRequired valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "dependentRequired + pattern", + "schema" : { + "dependentRequired" : { + "x" : [ + "y" + ] + }, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, dependentRequired invalid", + "valid" : false + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, dependentRequired valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "dependentSchemas + maxLength", + "schema" : { + "dependentSchemas" : { + "x" : false + }, + "maxLength" : 2 + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, dependentSchemas invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependentSchemas valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "dependentSchemas + minLength", + "schema" : { + "dependentSchemas" : { + "x" : false + }, + "minLength" : 2 + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, dependentSchemas invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependentSchemas valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "dependentSchemas + pattern", + "schema" : { + "dependentSchemas" : { + "x" : false + }, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, dependentSchemas invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependentSchemas valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "maxProperties + maxLength", + "schema" : { + "maxLength" : 2, + "maxProperties" : 1 + }, + "tests" : [ + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "maxProperties + minLength", + "schema" : { + "maxProperties" : 1, + "minLength" : 2 + }, + "tests" : [ + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "maxProperties + pattern", + "schema" : { + "maxProperties" : 1, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "minProperties + maxLength", + "schema" : { + "maxLength" : 2, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "minProperties + minLength", + "schema" : { + "minLength" : 2, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "minProperties + pattern", + "schema" : { + "minProperties" : 1, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "patternProperties + maxLength", + "schema" : { + "maxLength" : 2, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "patternProperties + minLength", + "schema" : { + "minLength" : 2, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "patternProperties + pattern", + "schema" : { + "pattern" : "hi", + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "properties + maxLength", + "schema" : { + "maxLength" : 2, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "properties + minLength", + "schema" : { + "minLength" : 2, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "properties + pattern", + "schema" : { + "pattern" : "hi", + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "propertyNames + maxLength", + "schema" : { + "maxLength" : 2, + "propertyNames" : false + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "propertyNames + minLength", + "schema" : { + "minLength" : 2, + "propertyNames" : false + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "propertyNames + pattern", + "schema" : { + "pattern" : "hi", + "propertyNames" : false + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "required + maxLength", + "schema" : { + "maxLength" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "required + minLength", + "schema" : { + "minLength" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "required + pattern", + "schema" : { + "pattern" : "hi", + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + } +] diff --git a/tests/draft4/keyword-independence.json b/tests/draft4/keyword-independence.json new file mode 100644 index 00000000..5f07b2fc --- /dev/null +++ b/tests/draft4/keyword-independence.json @@ -0,0 +1,4397 @@ +[ + { + "description" : "contains + maximum", + "schema" : { + "contains" : true, + "maximum" : 2 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + } + ] + }, + { + "description" : "contains + minimum", + "schema" : { + "contains" : true, + "minimum" : 2 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + } + ] + }, + { + "description" : "contains + multipleOf", + "schema" : { + "contains" : true, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + } + ] + }, + { + "description" : "items + maximum", + "schema" : { + "items" : { + "not" : {} + }, + "maximum" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + } + ] + }, + { + "description" : "items + minimum", + "schema" : { + "items" : { + "not" : {} + }, + "minimum" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + } + ] + }, + { + "description" : "items + multipleOf", + "schema" : { + "items" : { + "not" : {} + }, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + maximum", + "schema" : { + "maxItems" : 1, + "maximum" : 2 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + minimum", + "schema" : { + "maxItems" : 1, + "minimum" : 2 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + multipleOf", + "schema" : { + "maxItems" : 1, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + maximum", + "schema" : { + "maximum" : 2, + "minItems" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + minimum", + "schema" : { + "minItems" : 2, + "minimum" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + multipleOf", + "schema" : { + "minItems" : 2, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + maximum", + "schema" : { + "maximum" : 2, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + minimum", + "schema" : { + "minimum" : 2, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + multipleOf", + "schema" : { + "multipleOf" : 2, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + } + ] + }, + { + "description" : "contains + additionalProperties", + "schema" : { + "additionalProperties" : false, + "contains" : true + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "contains + dependencies", + "schema" : { + "contains" : true, + "dependencies" : { + "x" : { + "not" : {} + } + } + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : true, + "description" : "object, dependencies valid", + "valid" : true + } + ] + }, + { + "description" : "contains + maxProperties", + "schema" : { + "contains" : true, + "maxProperties" : 1 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "contains + minProperties", + "schema" : { + "contains" : true, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "contains + patternProperties", + "schema" : { + "contains" : true, + "patternProperties" : { + "no" : { + "not" : {} + }, + "yes" : {} + } + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "contains + properties", + "schema" : { + "contains" : true, + "properties" : { + "x" : { + "not" : {} + } + } + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "contains + propertyNames", + "schema" : { + "contains" : true, + "propertyNames" : { + "not" : {} + } + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "contains + required", + "schema" : { + "contains" : true, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "items + additionalProperties", + "schema" : { + "additionalProperties" : false, + "items" : { + "not" : {} + } + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "items + dependencies", + "schema" : { + "dependencies" : { + "x" : { + "not" : {} + } + }, + "items" : { + "not" : {} + } + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : true, + "description" : "object, dependencies valid", + "valid" : true + } + ] + }, + { + "description" : "items + maxProperties", + "schema" : { + "items" : { + "not" : {} + }, + "maxProperties" : 1 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "items + minProperties", + "schema" : { + "items" : { + "not" : {} + }, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "items + patternProperties", + "schema" : { + "items" : { + "not" : {} + }, + "patternProperties" : { + "no" : { + "not" : {} + }, + "yes" : {} + } + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "items + properties", + "schema" : { + "items" : { + "not" : {} + }, + "properties" : { + "x" : { + "not" : {} + } + } + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "items + propertyNames", + "schema" : { + "items" : { + "not" : {} + }, + "propertyNames" : { + "not" : {} + } + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "items + required", + "schema" : { + "items" : { + "not" : {} + }, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + additionalProperties", + "schema" : { + "additionalProperties" : false, + "maxItems" : 1 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + dependencies", + "schema" : { + "dependencies" : { + "x" : { + "not" : {} + } + }, + "maxItems" : 1 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : true, + "description" : "object, dependencies valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + maxProperties", + "schema" : { + "maxItems" : 1, + "maxProperties" : 1 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + minProperties", + "schema" : { + "maxItems" : 1, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + patternProperties", + "schema" : { + "maxItems" : 1, + "patternProperties" : { + "no" : { + "not" : {} + }, + "yes" : {} + } + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + properties", + "schema" : { + "maxItems" : 1, + "properties" : { + "x" : { + "not" : {} + } + } + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + propertyNames", + "schema" : { + "maxItems" : 1, + "propertyNames" : { + "not" : {} + } + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + required", + "schema" : { + "maxItems" : 1, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + additionalProperties", + "schema" : { + "additionalProperties" : false, + "minItems" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + dependencies", + "schema" : { + "dependencies" : { + "x" : { + "not" : {} + } + }, + "minItems" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : true, + "description" : "object, dependencies valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + maxProperties", + "schema" : { + "maxProperties" : 1, + "minItems" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + minProperties", + "schema" : { + "minItems" : 2, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + patternProperties", + "schema" : { + "minItems" : 2, + "patternProperties" : { + "no" : { + "not" : {} + }, + "yes" : {} + } + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + properties", + "schema" : { + "minItems" : 2, + "properties" : { + "x" : { + "not" : {} + } + } + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + propertyNames", + "schema" : { + "minItems" : 2, + "propertyNames" : { + "not" : {} + } + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + required", + "schema" : { + "minItems" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + additionalProperties", + "schema" : { + "additionalProperties" : false, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + dependencies", + "schema" : { + "dependencies" : { + "x" : { + "not" : {} + } + }, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : true, + "description" : "object, dependencies valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + maxProperties", + "schema" : { + "maxProperties" : 1, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + minProperties", + "schema" : { + "minProperties" : 1, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + patternProperties", + "schema" : { + "patternProperties" : { + "no" : { + "not" : {} + }, + "yes" : {} + }, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + properties", + "schema" : { + "properties" : { + "x" : { + "not" : {} + } + }, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + propertyNames", + "schema" : { + "propertyNames" : { + "not" : {} + }, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + required", + "schema" : { + "required" : [ + "x" + ], + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "contains + maxLength", + "schema" : { + "contains" : true, + "maxLength" : 2 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "contains + minLength", + "schema" : { + "contains" : true, + "minLength" : 2 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "contains + pattern", + "schema" : { + "contains" : true, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "items + maxLength", + "schema" : { + "items" : { + "not" : {} + }, + "maxLength" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "items + minLength", + "schema" : { + "items" : { + "not" : {} + }, + "minLength" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "items + pattern", + "schema" : { + "items" : { + "not" : {} + }, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + maxLength", + "schema" : { + "maxItems" : 1, + "maxLength" : 2 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + minLength", + "schema" : { + "maxItems" : 1, + "minLength" : 2 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + pattern", + "schema" : { + "maxItems" : 1, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + maxLength", + "schema" : { + "maxLength" : 2, + "minItems" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + minLength", + "schema" : { + "minItems" : 2, + "minLength" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + pattern", + "schema" : { + "minItems" : 2, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + maxLength", + "schema" : { + "maxLength" : 2, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + minLength", + "schema" : { + "minLength" : 2, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + pattern", + "schema" : { + "pattern" : "hi", + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + additionalProperties", + "schema" : { + "additionalProperties" : false, + "maximum" : 2 + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + dependencies", + "schema" : { + "dependencies" : { + "x" : { + "not" : {} + } + }, + "maximum" : 2 + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : true, + "description" : "object, dependencies valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + maxProperties", + "schema" : { + "maxProperties" : 1, + "maximum" : 2 + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + minProperties", + "schema" : { + "maximum" : 2, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + patternProperties", + "schema" : { + "maximum" : 2, + "patternProperties" : { + "no" : { + "not" : {} + }, + "yes" : {} + } + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + properties", + "schema" : { + "maximum" : 2, + "properties" : { + "x" : { + "not" : {} + } + } + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + propertyNames", + "schema" : { + "maximum" : 2, + "propertyNames" : { + "not" : {} + } + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + required", + "schema" : { + "maximum" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + additionalProperties", + "schema" : { + "additionalProperties" : false, + "minimum" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + dependencies", + "schema" : { + "dependencies" : { + "x" : { + "not" : {} + } + }, + "minimum" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : true, + "description" : "object, dependencies valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + maxProperties", + "schema" : { + "maxProperties" : 1, + "minimum" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + minProperties", + "schema" : { + "minProperties" : 1, + "minimum" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + patternProperties", + "schema" : { + "minimum" : 2, + "patternProperties" : { + "no" : { + "not" : {} + }, + "yes" : {} + } + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + properties", + "schema" : { + "minimum" : 2, + "properties" : { + "x" : { + "not" : {} + } + } + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + propertyNames", + "schema" : { + "minimum" : 2, + "propertyNames" : { + "not" : {} + } + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + required", + "schema" : { + "minimum" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + additionalProperties", + "schema" : { + "additionalProperties" : false, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + dependencies", + "schema" : { + "dependencies" : { + "x" : { + "not" : {} + } + }, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : true, + "description" : "object, dependencies valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + maxProperties", + "schema" : { + "maxProperties" : 1, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + minProperties", + "schema" : { + "minProperties" : 1, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + patternProperties", + "schema" : { + "multipleOf" : 2, + "patternProperties" : { + "no" : { + "not" : {} + }, + "yes" : {} + } + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + properties", + "schema" : { + "multipleOf" : 2, + "properties" : { + "x" : { + "not" : {} + } + } + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + propertyNames", + "schema" : { + "multipleOf" : 2, + "propertyNames" : { + "not" : {} + } + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + required", + "schema" : { + "multipleOf" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + maxLength", + "schema" : { + "maxLength" : 2, + "maximum" : 2 + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + minLength", + "schema" : { + "maximum" : 2, + "minLength" : 2 + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + pattern", + "schema" : { + "maximum" : 2, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + maxLength", + "schema" : { + "maxLength" : 2, + "minimum" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + minLength", + "schema" : { + "minLength" : 2, + "minimum" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + pattern", + "schema" : { + "minimum" : 2, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + maxLength", + "schema" : { + "maxLength" : 2, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + minLength", + "schema" : { + "minLength" : 2, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + pattern", + "schema" : { + "multipleOf" : 2, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "additionalProperties + maxLength", + "schema" : { + "additionalProperties" : false, + "maxLength" : 2 + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "additionalProperties + minLength", + "schema" : { + "additionalProperties" : false, + "minLength" : 2 + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "additionalProperties + pattern", + "schema" : { + "additionalProperties" : false, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "dependencies + maxLength", + "schema" : { + "dependencies" : { + "x" : { + "not" : {} + } + }, + "maxLength" : 2 + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : true, + "description" : "object, dependencies valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "dependencies + minLength", + "schema" : { + "dependencies" : { + "x" : { + "not" : {} + } + }, + "minLength" : 2 + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : true, + "description" : "object, dependencies valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "dependencies + pattern", + "schema" : { + "dependencies" : { + "x" : { + "not" : {} + } + }, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : true, + "description" : "object, dependencies valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "maxProperties + maxLength", + "schema" : { + "maxLength" : 2, + "maxProperties" : 1 + }, + "tests" : [ + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "maxProperties + minLength", + "schema" : { + "maxProperties" : 1, + "minLength" : 2 + }, + "tests" : [ + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "maxProperties + pattern", + "schema" : { + "maxProperties" : 1, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "minProperties + maxLength", + "schema" : { + "maxLength" : 2, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "minProperties + minLength", + "schema" : { + "minLength" : 2, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "minProperties + pattern", + "schema" : { + "minProperties" : 1, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "patternProperties + maxLength", + "schema" : { + "maxLength" : 2, + "patternProperties" : { + "no" : { + "not" : {} + }, + "yes" : {} + } + }, + "tests" : [ + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "patternProperties + minLength", + "schema" : { + "minLength" : 2, + "patternProperties" : { + "no" : { + "not" : {} + }, + "yes" : {} + } + }, + "tests" : [ + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "patternProperties + pattern", + "schema" : { + "pattern" : "hi", + "patternProperties" : { + "no" : { + "not" : {} + }, + "yes" : {} + } + }, + "tests" : [ + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "properties + maxLength", + "schema" : { + "maxLength" : 2, + "properties" : { + "x" : { + "not" : {} + } + } + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "properties + minLength", + "schema" : { + "minLength" : 2, + "properties" : { + "x" : { + "not" : {} + } + } + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "properties + pattern", + "schema" : { + "pattern" : "hi", + "properties" : { + "x" : { + "not" : {} + } + } + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "propertyNames + maxLength", + "schema" : { + "maxLength" : 2, + "propertyNames" : { + "not" : {} + } + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "propertyNames + minLength", + "schema" : { + "minLength" : 2, + "propertyNames" : { + "not" : {} + } + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "propertyNames + pattern", + "schema" : { + "pattern" : "hi", + "propertyNames" : { + "not" : {} + } + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "required + maxLength", + "schema" : { + "maxLength" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "required + minLength", + "schema" : { + "minLength" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "required + pattern", + "schema" : { + "pattern" : "hi", + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + } +] diff --git a/tests/draft6/keyword-independence.json b/tests/draft6/keyword-independence.json new file mode 100644 index 00000000..afa784b7 --- /dev/null +++ b/tests/draft6/keyword-independence.json @@ -0,0 +1,5307 @@ +[ + { + "description" : "contains + exclusiveMaximum", + "schema" : { + "contains" : true, + "exclusiveMaximum" : 2 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + } + ] + }, + { + "description" : "contains + exclusiveMinimum", + "schema" : { + "contains" : true, + "exclusiveMinimum" : 2 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + } + ] + }, + { + "description" : "contains + maximum", + "schema" : { + "contains" : true, + "maximum" : 2 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + } + ] + }, + { + "description" : "contains + minimum", + "schema" : { + "contains" : true, + "minimum" : 2 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + } + ] + }, + { + "description" : "contains + multipleOf", + "schema" : { + "contains" : true, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + } + ] + }, + { + "description" : "items + exclusiveMaximum", + "schema" : { + "exclusiveMaximum" : 2, + "items" : false + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + } + ] + }, + { + "description" : "items + exclusiveMinimum", + "schema" : { + "exclusiveMinimum" : 2, + "items" : false + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + } + ] + }, + { + "description" : "items + maximum", + "schema" : { + "items" : false, + "maximum" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + } + ] + }, + { + "description" : "items + minimum", + "schema" : { + "items" : false, + "minimum" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + } + ] + }, + { + "description" : "items + multipleOf", + "schema" : { + "items" : false, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + exclusiveMaximum", + "schema" : { + "exclusiveMaximum" : 2, + "maxItems" : 1 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + exclusiveMinimum", + "schema" : { + "exclusiveMinimum" : 2, + "maxItems" : 1 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + maximum", + "schema" : { + "maxItems" : 1, + "maximum" : 2 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + minimum", + "schema" : { + "maxItems" : 1, + "minimum" : 2 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + multipleOf", + "schema" : { + "maxItems" : 1, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + exclusiveMaximum", + "schema" : { + "exclusiveMaximum" : 2, + "minItems" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + exclusiveMinimum", + "schema" : { + "exclusiveMinimum" : 2, + "minItems" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + maximum", + "schema" : { + "maximum" : 2, + "minItems" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + minimum", + "schema" : { + "minItems" : 2, + "minimum" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + multipleOf", + "schema" : { + "minItems" : 2, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + exclusiveMaximum", + "schema" : { + "exclusiveMaximum" : 2, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + exclusiveMinimum", + "schema" : { + "exclusiveMinimum" : 2, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + maximum", + "schema" : { + "maximum" : 2, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + minimum", + "schema" : { + "minimum" : 2, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + multipleOf", + "schema" : { + "multipleOf" : 2, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + } + ] + }, + { + "description" : "contains + additionalProperties", + "schema" : { + "additionalProperties" : false, + "contains" : true + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "contains + dependencies", + "schema" : { + "contains" : true, + "dependencies" : { + "x" : false + } + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependencies valid", + "valid" : true + } + ] + }, + { + "description" : "contains + maxProperties", + "schema" : { + "contains" : true, + "maxProperties" : 1 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "contains + minProperties", + "schema" : { + "contains" : true, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "contains + patternProperties", + "schema" : { + "contains" : true, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "contains + properties", + "schema" : { + "contains" : true, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "contains + propertyNames", + "schema" : { + "contains" : true, + "propertyNames" : false + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "contains + required", + "schema" : { + "contains" : true, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "items + additionalProperties", + "schema" : { + "additionalProperties" : false, + "items" : false + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "items + dependencies", + "schema" : { + "dependencies" : { + "x" : false + }, + "items" : false + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependencies valid", + "valid" : true + } + ] + }, + { + "description" : "items + maxProperties", + "schema" : { + "items" : false, + "maxProperties" : 1 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "items + minProperties", + "schema" : { + "items" : false, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "items + patternProperties", + "schema" : { + "items" : false, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "items + properties", + "schema" : { + "items" : false, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "items + propertyNames", + "schema" : { + "items" : false, + "propertyNames" : false + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "items + required", + "schema" : { + "items" : false, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + additionalProperties", + "schema" : { + "additionalProperties" : false, + "maxItems" : 1 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + dependencies", + "schema" : { + "dependencies" : { + "x" : false + }, + "maxItems" : 1 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependencies valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + maxProperties", + "schema" : { + "maxItems" : 1, + "maxProperties" : 1 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + minProperties", + "schema" : { + "maxItems" : 1, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + patternProperties", + "schema" : { + "maxItems" : 1, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + properties", + "schema" : { + "maxItems" : 1, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + propertyNames", + "schema" : { + "maxItems" : 1, + "propertyNames" : false + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + required", + "schema" : { + "maxItems" : 1, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + additionalProperties", + "schema" : { + "additionalProperties" : false, + "minItems" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + dependencies", + "schema" : { + "dependencies" : { + "x" : false + }, + "minItems" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependencies valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + maxProperties", + "schema" : { + "maxProperties" : 1, + "minItems" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + minProperties", + "schema" : { + "minItems" : 2, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + patternProperties", + "schema" : { + "minItems" : 2, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + properties", + "schema" : { + "minItems" : 2, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + propertyNames", + "schema" : { + "minItems" : 2, + "propertyNames" : false + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + required", + "schema" : { + "minItems" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + additionalProperties", + "schema" : { + "additionalProperties" : false, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + dependencies", + "schema" : { + "dependencies" : { + "x" : false + }, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependencies valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + maxProperties", + "schema" : { + "maxProperties" : 1, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + minProperties", + "schema" : { + "minProperties" : 1, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + patternProperties", + "schema" : { + "patternProperties" : { + "no" : false, + "yes" : true + }, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + properties", + "schema" : { + "properties" : { + "x" : false + }, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + propertyNames", + "schema" : { + "propertyNames" : false, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + required", + "schema" : { + "required" : [ + "x" + ], + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "contains + maxLength", + "schema" : { + "contains" : true, + "maxLength" : 2 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "contains + minLength", + "schema" : { + "contains" : true, + "minLength" : 2 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "contains + pattern", + "schema" : { + "contains" : true, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "items + maxLength", + "schema" : { + "items" : false, + "maxLength" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "items + minLength", + "schema" : { + "items" : false, + "minLength" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "items + pattern", + "schema" : { + "items" : false, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + maxLength", + "schema" : { + "maxItems" : 1, + "maxLength" : 2 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + minLength", + "schema" : { + "maxItems" : 1, + "minLength" : 2 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + pattern", + "schema" : { + "maxItems" : 1, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + maxLength", + "schema" : { + "maxLength" : 2, + "minItems" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + minLength", + "schema" : { + "minItems" : 2, + "minLength" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + pattern", + "schema" : { + "minItems" : 2, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + maxLength", + "schema" : { + "maxLength" : 2, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + minLength", + "schema" : { + "minLength" : 2, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + pattern", + "schema" : { + "pattern" : "hi", + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + additionalProperties", + "schema" : { + "additionalProperties" : false, + "exclusiveMaximum" : 2 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + dependencies", + "schema" : { + "dependencies" : { + "x" : false + }, + "exclusiveMaximum" : 2 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependencies valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + maxProperties", + "schema" : { + "exclusiveMaximum" : 2, + "maxProperties" : 1 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + minProperties", + "schema" : { + "exclusiveMaximum" : 2, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + patternProperties", + "schema" : { + "exclusiveMaximum" : 2, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + properties", + "schema" : { + "exclusiveMaximum" : 2, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + propertyNames", + "schema" : { + "exclusiveMaximum" : 2, + "propertyNames" : false + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + required", + "schema" : { + "exclusiveMaximum" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + additionalProperties", + "schema" : { + "additionalProperties" : false, + "exclusiveMinimum" : 2 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + dependencies", + "schema" : { + "dependencies" : { + "x" : false + }, + "exclusiveMinimum" : 2 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependencies valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + maxProperties", + "schema" : { + "exclusiveMinimum" : 2, + "maxProperties" : 1 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + minProperties", + "schema" : { + "exclusiveMinimum" : 2, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + patternProperties", + "schema" : { + "exclusiveMinimum" : 2, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + properties", + "schema" : { + "exclusiveMinimum" : 2, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + propertyNames", + "schema" : { + "exclusiveMinimum" : 2, + "propertyNames" : false + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + required", + "schema" : { + "exclusiveMinimum" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + additionalProperties", + "schema" : { + "additionalProperties" : false, + "maximum" : 2 + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + dependencies", + "schema" : { + "dependencies" : { + "x" : false + }, + "maximum" : 2 + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependencies valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + maxProperties", + "schema" : { + "maxProperties" : 1, + "maximum" : 2 + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + minProperties", + "schema" : { + "maximum" : 2, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + patternProperties", + "schema" : { + "maximum" : 2, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + properties", + "schema" : { + "maximum" : 2, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + propertyNames", + "schema" : { + "maximum" : 2, + "propertyNames" : false + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + required", + "schema" : { + "maximum" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + additionalProperties", + "schema" : { + "additionalProperties" : false, + "minimum" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + dependencies", + "schema" : { + "dependencies" : { + "x" : false + }, + "minimum" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependencies valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + maxProperties", + "schema" : { + "maxProperties" : 1, + "minimum" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + minProperties", + "schema" : { + "minProperties" : 1, + "minimum" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + patternProperties", + "schema" : { + "minimum" : 2, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + properties", + "schema" : { + "minimum" : 2, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + propertyNames", + "schema" : { + "minimum" : 2, + "propertyNames" : false + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + required", + "schema" : { + "minimum" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + additionalProperties", + "schema" : { + "additionalProperties" : false, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + dependencies", + "schema" : { + "dependencies" : { + "x" : false + }, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependencies valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + maxProperties", + "schema" : { + "maxProperties" : 1, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + minProperties", + "schema" : { + "minProperties" : 1, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + patternProperties", + "schema" : { + "multipleOf" : 2, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + properties", + "schema" : { + "multipleOf" : 2, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + propertyNames", + "schema" : { + "multipleOf" : 2, + "propertyNames" : false + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + required", + "schema" : { + "multipleOf" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + maxLength", + "schema" : { + "exclusiveMaximum" : 2, + "maxLength" : 2 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + minLength", + "schema" : { + "exclusiveMaximum" : 2, + "minLength" : 2 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + pattern", + "schema" : { + "exclusiveMaximum" : 2, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + maxLength", + "schema" : { + "exclusiveMinimum" : 2, + "maxLength" : 2 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + minLength", + "schema" : { + "exclusiveMinimum" : 2, + "minLength" : 2 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + pattern", + "schema" : { + "exclusiveMinimum" : 2, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + maxLength", + "schema" : { + "maxLength" : 2, + "maximum" : 2 + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + minLength", + "schema" : { + "maximum" : 2, + "minLength" : 2 + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + pattern", + "schema" : { + "maximum" : 2, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + maxLength", + "schema" : { + "maxLength" : 2, + "minimum" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + minLength", + "schema" : { + "minLength" : 2, + "minimum" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + pattern", + "schema" : { + "minimum" : 2, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + maxLength", + "schema" : { + "maxLength" : 2, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + minLength", + "schema" : { + "minLength" : 2, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + pattern", + "schema" : { + "multipleOf" : 2, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "additionalProperties + maxLength", + "schema" : { + "additionalProperties" : false, + "maxLength" : 2 + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "additionalProperties + minLength", + "schema" : { + "additionalProperties" : false, + "minLength" : 2 + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "additionalProperties + pattern", + "schema" : { + "additionalProperties" : false, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "dependencies + maxLength", + "schema" : { + "dependencies" : { + "x" : false + }, + "maxLength" : 2 + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependencies valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "dependencies + minLength", + "schema" : { + "dependencies" : { + "x" : false + }, + "minLength" : 2 + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependencies valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "dependencies + pattern", + "schema" : { + "dependencies" : { + "x" : false + }, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependencies valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "maxProperties + maxLength", + "schema" : { + "maxLength" : 2, + "maxProperties" : 1 + }, + "tests" : [ + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "maxProperties + minLength", + "schema" : { + "maxProperties" : 1, + "minLength" : 2 + }, + "tests" : [ + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "maxProperties + pattern", + "schema" : { + "maxProperties" : 1, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "minProperties + maxLength", + "schema" : { + "maxLength" : 2, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "minProperties + minLength", + "schema" : { + "minLength" : 2, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "minProperties + pattern", + "schema" : { + "minProperties" : 1, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "patternProperties + maxLength", + "schema" : { + "maxLength" : 2, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "patternProperties + minLength", + "schema" : { + "minLength" : 2, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "patternProperties + pattern", + "schema" : { + "pattern" : "hi", + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "properties + maxLength", + "schema" : { + "maxLength" : 2, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "properties + minLength", + "schema" : { + "minLength" : 2, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "properties + pattern", + "schema" : { + "pattern" : "hi", + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "propertyNames + maxLength", + "schema" : { + "maxLength" : 2, + "propertyNames" : false + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "propertyNames + minLength", + "schema" : { + "minLength" : 2, + "propertyNames" : false + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "propertyNames + pattern", + "schema" : { + "pattern" : "hi", + "propertyNames" : false + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "required + maxLength", + "schema" : { + "maxLength" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "required + minLength", + "schema" : { + "minLength" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "required + pattern", + "schema" : { + "pattern" : "hi", + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + } +] diff --git a/tests/draft7/keyword-independence.json b/tests/draft7/keyword-independence.json new file mode 100644 index 00000000..afa784b7 --- /dev/null +++ b/tests/draft7/keyword-independence.json @@ -0,0 +1,5307 @@ +[ + { + "description" : "contains + exclusiveMaximum", + "schema" : { + "contains" : true, + "exclusiveMaximum" : 2 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + } + ] + }, + { + "description" : "contains + exclusiveMinimum", + "schema" : { + "contains" : true, + "exclusiveMinimum" : 2 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + } + ] + }, + { + "description" : "contains + maximum", + "schema" : { + "contains" : true, + "maximum" : 2 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + } + ] + }, + { + "description" : "contains + minimum", + "schema" : { + "contains" : true, + "minimum" : 2 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + } + ] + }, + { + "description" : "contains + multipleOf", + "schema" : { + "contains" : true, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + } + ] + }, + { + "description" : "items + exclusiveMaximum", + "schema" : { + "exclusiveMaximum" : 2, + "items" : false + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + } + ] + }, + { + "description" : "items + exclusiveMinimum", + "schema" : { + "exclusiveMinimum" : 2, + "items" : false + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + } + ] + }, + { + "description" : "items + maximum", + "schema" : { + "items" : false, + "maximum" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + } + ] + }, + { + "description" : "items + minimum", + "schema" : { + "items" : false, + "minimum" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + } + ] + }, + { + "description" : "items + multipleOf", + "schema" : { + "items" : false, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + exclusiveMaximum", + "schema" : { + "exclusiveMaximum" : 2, + "maxItems" : 1 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + exclusiveMinimum", + "schema" : { + "exclusiveMinimum" : 2, + "maxItems" : 1 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + maximum", + "schema" : { + "maxItems" : 1, + "maximum" : 2 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + minimum", + "schema" : { + "maxItems" : 1, + "minimum" : 2 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + multipleOf", + "schema" : { + "maxItems" : 1, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + exclusiveMaximum", + "schema" : { + "exclusiveMaximum" : 2, + "minItems" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + exclusiveMinimum", + "schema" : { + "exclusiveMinimum" : 2, + "minItems" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + maximum", + "schema" : { + "maximum" : 2, + "minItems" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + minimum", + "schema" : { + "minItems" : 2, + "minimum" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + multipleOf", + "schema" : { + "minItems" : 2, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + exclusiveMaximum", + "schema" : { + "exclusiveMaximum" : 2, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + exclusiveMinimum", + "schema" : { + "exclusiveMinimum" : 2, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + maximum", + "schema" : { + "maximum" : 2, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + minimum", + "schema" : { + "minimum" : 2, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + multipleOf", + "schema" : { + "multipleOf" : 2, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + } + ] + }, + { + "description" : "contains + additionalProperties", + "schema" : { + "additionalProperties" : false, + "contains" : true + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "contains + dependencies", + "schema" : { + "contains" : true, + "dependencies" : { + "x" : false + } + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependencies valid", + "valid" : true + } + ] + }, + { + "description" : "contains + maxProperties", + "schema" : { + "contains" : true, + "maxProperties" : 1 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "contains + minProperties", + "schema" : { + "contains" : true, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "contains + patternProperties", + "schema" : { + "contains" : true, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "contains + properties", + "schema" : { + "contains" : true, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "contains + propertyNames", + "schema" : { + "contains" : true, + "propertyNames" : false + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "contains + required", + "schema" : { + "contains" : true, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "items + additionalProperties", + "schema" : { + "additionalProperties" : false, + "items" : false + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "items + dependencies", + "schema" : { + "dependencies" : { + "x" : false + }, + "items" : false + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependencies valid", + "valid" : true + } + ] + }, + { + "description" : "items + maxProperties", + "schema" : { + "items" : false, + "maxProperties" : 1 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "items + minProperties", + "schema" : { + "items" : false, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "items + patternProperties", + "schema" : { + "items" : false, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "items + properties", + "schema" : { + "items" : false, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "items + propertyNames", + "schema" : { + "items" : false, + "propertyNames" : false + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "items + required", + "schema" : { + "items" : false, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + additionalProperties", + "schema" : { + "additionalProperties" : false, + "maxItems" : 1 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + dependencies", + "schema" : { + "dependencies" : { + "x" : false + }, + "maxItems" : 1 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependencies valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + maxProperties", + "schema" : { + "maxItems" : 1, + "maxProperties" : 1 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + minProperties", + "schema" : { + "maxItems" : 1, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + patternProperties", + "schema" : { + "maxItems" : 1, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + properties", + "schema" : { + "maxItems" : 1, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + propertyNames", + "schema" : { + "maxItems" : 1, + "propertyNames" : false + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + required", + "schema" : { + "maxItems" : 1, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + additionalProperties", + "schema" : { + "additionalProperties" : false, + "minItems" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + dependencies", + "schema" : { + "dependencies" : { + "x" : false + }, + "minItems" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependencies valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + maxProperties", + "schema" : { + "maxProperties" : 1, + "minItems" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + minProperties", + "schema" : { + "minItems" : 2, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + patternProperties", + "schema" : { + "minItems" : 2, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + properties", + "schema" : { + "minItems" : 2, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + propertyNames", + "schema" : { + "minItems" : 2, + "propertyNames" : false + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + required", + "schema" : { + "minItems" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + additionalProperties", + "schema" : { + "additionalProperties" : false, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + dependencies", + "schema" : { + "dependencies" : { + "x" : false + }, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependencies valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + maxProperties", + "schema" : { + "maxProperties" : 1, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + minProperties", + "schema" : { + "minProperties" : 1, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + patternProperties", + "schema" : { + "patternProperties" : { + "no" : false, + "yes" : true + }, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + properties", + "schema" : { + "properties" : { + "x" : false + }, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + propertyNames", + "schema" : { + "propertyNames" : false, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + required", + "schema" : { + "required" : [ + "x" + ], + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "contains + maxLength", + "schema" : { + "contains" : true, + "maxLength" : 2 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "contains + minLength", + "schema" : { + "contains" : true, + "minLength" : 2 + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "contains + pattern", + "schema" : { + "contains" : true, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : [], + "description" : "array, contains invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, contains valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "items + maxLength", + "schema" : { + "items" : false, + "maxLength" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "items + minLength", + "schema" : { + "items" : false, + "minLength" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "items + pattern", + "schema" : { + "items" : false, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, items invalid", + "valid" : false + }, + { + "data" : [], + "description" : "array, items valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + maxLength", + "schema" : { + "maxItems" : 1, + "maxLength" : 2 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + minLength", + "schema" : { + "maxItems" : 1, + "minLength" : 2 + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "maxItems + pattern", + "schema" : { + "maxItems" : 1, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : [ + 1, + 2 + ], + "description" : "array, maxItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, maxItems valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + maxLength", + "schema" : { + "maxLength" : 2, + "minItems" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + minLength", + "schema" : { + "minItems" : 2, + "minLength" : 2 + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "minItems + pattern", + "schema" : { + "minItems" : 2, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : [ + 1 + ], + "description" : "array, minItems invalid", + "valid" : false + }, + { + "data" : [ + 1, + 2 + ], + "description" : "array, minItems valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + maxLength", + "schema" : { + "maxLength" : 2, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + minLength", + "schema" : { + "minLength" : 2, + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "uniqueItems + pattern", + "schema" : { + "pattern" : "hi", + "uniqueItems" : true + }, + "tests" : [ + { + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", + "valid" : false + }, + { + "data" : [ + 1 + ], + "description" : "array, uniqueItems valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + additionalProperties", + "schema" : { + "additionalProperties" : false, + "exclusiveMaximum" : 2 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + dependencies", + "schema" : { + "dependencies" : { + "x" : false + }, + "exclusiveMaximum" : 2 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependencies valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + maxProperties", + "schema" : { + "exclusiveMaximum" : 2, + "maxProperties" : 1 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + minProperties", + "schema" : { + "exclusiveMaximum" : 2, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + patternProperties", + "schema" : { + "exclusiveMaximum" : 2, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + properties", + "schema" : { + "exclusiveMaximum" : 2, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + propertyNames", + "schema" : { + "exclusiveMaximum" : 2, + "propertyNames" : false + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + required", + "schema" : { + "exclusiveMaximum" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + additionalProperties", + "schema" : { + "additionalProperties" : false, + "exclusiveMinimum" : 2 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + dependencies", + "schema" : { + "dependencies" : { + "x" : false + }, + "exclusiveMinimum" : 2 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependencies valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + maxProperties", + "schema" : { + "exclusiveMinimum" : 2, + "maxProperties" : 1 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + minProperties", + "schema" : { + "exclusiveMinimum" : 2, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + patternProperties", + "schema" : { + "exclusiveMinimum" : 2, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + properties", + "schema" : { + "exclusiveMinimum" : 2, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + propertyNames", + "schema" : { + "exclusiveMinimum" : 2, + "propertyNames" : false + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + required", + "schema" : { + "exclusiveMinimum" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + additionalProperties", + "schema" : { + "additionalProperties" : false, + "maximum" : 2 + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + dependencies", + "schema" : { + "dependencies" : { + "x" : false + }, + "maximum" : 2 + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependencies valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + maxProperties", + "schema" : { + "maxProperties" : 1, + "maximum" : 2 + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + minProperties", + "schema" : { + "maximum" : 2, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + patternProperties", + "schema" : { + "maximum" : 2, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + properties", + "schema" : { + "maximum" : 2, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + propertyNames", + "schema" : { + "maximum" : 2, + "propertyNames" : false + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + required", + "schema" : { + "maximum" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + additionalProperties", + "schema" : { + "additionalProperties" : false, + "minimum" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + dependencies", + "schema" : { + "dependencies" : { + "x" : false + }, + "minimum" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependencies valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + maxProperties", + "schema" : { + "maxProperties" : 1, + "minimum" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + minProperties", + "schema" : { + "minProperties" : 1, + "minimum" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + patternProperties", + "schema" : { + "minimum" : 2, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + properties", + "schema" : { + "minimum" : 2, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + propertyNames", + "schema" : { + "minimum" : 2, + "propertyNames" : false + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + required", + "schema" : { + "minimum" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + additionalProperties", + "schema" : { + "additionalProperties" : false, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + dependencies", + "schema" : { + "dependencies" : { + "x" : false + }, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependencies valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + maxProperties", + "schema" : { + "maxProperties" : 1, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + minProperties", + "schema" : { + "minProperties" : 1, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + patternProperties", + "schema" : { + "multipleOf" : 2, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + properties", + "schema" : { + "multipleOf" : 2, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + propertyNames", + "schema" : { + "multipleOf" : 2, + "propertyNames" : false + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + required", + "schema" : { + "multipleOf" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + maxLength", + "schema" : { + "exclusiveMaximum" : 2, + "maxLength" : 2 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + minLength", + "schema" : { + "exclusiveMaximum" : 2, + "minLength" : 2 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMaximum + pattern", + "schema" : { + "exclusiveMaximum" : 2, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMaximum invalid", + "valid" : false + }, + { + "data" : 1, + "description" : "number, exclusiveMaximum valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + maxLength", + "schema" : { + "exclusiveMinimum" : 2, + "maxLength" : 2 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + minLength", + "schema" : { + "exclusiveMinimum" : 2, + "minLength" : 2 + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "exclusiveMinimum + pattern", + "schema" : { + "exclusiveMinimum" : 2, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : 2, + "description" : "number, exclusiveMinimum invalid", + "valid" : false + }, + { + "data" : 3, + "description" : "number, exclusiveMinimum valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + maxLength", + "schema" : { + "maxLength" : 2, + "maximum" : 2 + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + minLength", + "schema" : { + "maximum" : 2, + "minLength" : 2 + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "maximum + pattern", + "schema" : { + "maximum" : 2, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : 3, + "description" : "number, maximum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, maximum valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + maxLength", + "schema" : { + "maxLength" : 2, + "minimum" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + minLength", + "schema" : { + "minLength" : 2, + "minimum" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "minimum + pattern", + "schema" : { + "minimum" : 2, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : 1, + "description" : "number, minimum invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, minimum valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + maxLength", + "schema" : { + "maxLength" : 2, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + minLength", + "schema" : { + "minLength" : 2, + "multipleOf" : 2 + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "multipleOf + pattern", + "schema" : { + "multipleOf" : 2, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : 1, + "description" : "number, multipleOf invalid", + "valid" : false + }, + { + "data" : 2, + "description" : "number, multipleOf valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "additionalProperties + maxLength", + "schema" : { + "additionalProperties" : false, + "maxLength" : 2 + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "additionalProperties + minLength", + "schema" : { + "additionalProperties" : false, + "minLength" : 2 + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "additionalProperties + pattern", + "schema" : { + "additionalProperties" : false, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, additionalProperties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, additionalProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "dependencies + maxLength", + "schema" : { + "dependencies" : { + "x" : false + }, + "maxLength" : 2 + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependencies valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "dependencies + minLength", + "schema" : { + "dependencies" : { + "x" : false + }, + "minLength" : 2 + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependencies valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "dependencies + pattern", + "schema" : { + "dependencies" : { + "x" : false + }, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, dependencies invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, dependencies valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "maxProperties + maxLength", + "schema" : { + "maxLength" : 2, + "maxProperties" : 1 + }, + "tests" : [ + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "maxProperties + minLength", + "schema" : { + "maxProperties" : 1, + "minLength" : 2 + }, + "tests" : [ + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "maxProperties + pattern", + "schema" : { + "maxProperties" : 1, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : { + "x" : 1, + "y" : 2 + }, + "description" : "object, maxProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, maxProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "minProperties + maxLength", + "schema" : { + "maxLength" : 2, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "minProperties + minLength", + "schema" : { + "minLength" : 2, + "minProperties" : 1 + }, + "tests" : [ + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "minProperties + pattern", + "schema" : { + "minProperties" : 1, + "pattern" : "hi" + }, + "tests" : [ + { + "data" : {}, + "description" : "object, minProperties invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, minProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "patternProperties + maxLength", + "schema" : { + "maxLength" : 2, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "patternProperties + minLength", + "schema" : { + "minLength" : 2, + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "patternProperties + pattern", + "schema" : { + "pattern" : "hi", + "patternProperties" : { + "no" : false, + "yes" : true + } + }, + "tests" : [ + { + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", + "valid" : false + }, + { + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "properties + maxLength", + "schema" : { + "maxLength" : 2, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "properties + minLength", + "schema" : { + "minLength" : 2, + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "properties + pattern", + "schema" : { + "pattern" : "hi", + "properties" : { + "x" : false + } + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, properties valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "propertyNames + maxLength", + "schema" : { + "maxLength" : 2, + "propertyNames" : false + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "propertyNames + minLength", + "schema" : { + "minLength" : 2, + "propertyNames" : false + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "propertyNames + pattern", + "schema" : { + "pattern" : "hi", + "propertyNames" : false + }, + "tests" : [ + { + "data" : { + "x" : 1 + }, + "description" : "object, propertyNames invalid", + "valid" : false + }, + { + "data" : {}, + "description" : "object, propertyNames valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + }, + { + "description" : "required + maxLength", + "schema" : { + "maxLength" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, maxLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, maxLength valid", + "valid" : true + } + ] + }, + { + "description" : "required + minLength", + "schema" : { + "minLength" : 2, + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + }, + { + "data" : "x", + "description" : "string, minLength invalid", + "valid" : false + }, + { + "data" : "hi", + "description" : "string, minLength valid", + "valid" : true + } + ] + }, + { + "description" : "required + pattern", + "schema" : { + "pattern" : "hi", + "required" : [ + "x" + ] + }, + "tests" : [ + { + "data" : {}, + "description" : "object, required invalid", + "valid" : false + }, + { + "data" : { + "x" : 1 + }, + "description" : "object, required valid", + "valid" : true + }, + { + "data" : "hello", + "description" : "string, pattern invalid", + "valid" : false + }, + { + "data" : "hihi", + "description" : "string, pattern valid", + "valid" : true + } + ] + } +] From 158e6aa25579e90742d777d81ac09bac6642e0c5 Mon Sep 17 00:00:00 2001 From: Karen Etheridge Date: Wed, 15 Jul 2020 09:20:13 -0700 Subject: [PATCH 2/2] squash: remove propertyNames and contains from draft4 --- tests/draft4/keyword-independence.json | 985 ++----------------------- 1 file changed, 82 insertions(+), 903 deletions(-) diff --git a/tests/draft4/keyword-independence.json b/tests/draft4/keyword-independence.json index 5f07b2fc..97404c97 100644 --- a/tests/draft4/keyword-independence.json +++ b/tests/draft4/keyword-independence.json @@ -1,97 +1,4 @@ [ - { - "description" : "contains + maximum", - "schema" : { - "contains" : true, - "maximum" : 2 - }, - "tests" : [ - { - "data" : [], - "description" : "array, contains invalid", - "valid" : false - }, - { - "data" : [ - 1 - ], - "description" : "array, contains valid", - "valid" : true - }, - { - "data" : 3, - "description" : "number, maximum invalid", - "valid" : false - }, - { - "data" : 2, - "description" : "number, maximum valid", - "valid" : true - } - ] - }, - { - "description" : "contains + minimum", - "schema" : { - "contains" : true, - "minimum" : 2 - }, - "tests" : [ - { - "data" : [], - "description" : "array, contains invalid", - "valid" : false - }, - { - "data" : [ - 1 - ], - "description" : "array, contains valid", - "valid" : true - }, - { - "data" : 1, - "description" : "number, minimum invalid", - "valid" : false - }, - { - "data" : 2, - "description" : "number, minimum valid", - "valid" : true - } - ] - }, - { - "description" : "contains + multipleOf", - "schema" : { - "contains" : true, - "multipleOf" : 2 - }, - "tests" : [ - { - "data" : [], - "description" : "array, contains invalid", - "valid" : false - }, - { - "data" : [ - 1 - ], - "description" : "array, contains valid", - "valid" : true - }, - { - "data" : 1, - "description" : "number, multipleOf invalid", - "valid" : false - }, - { - "data" : 2, - "description" : "number, multipleOf valid", - "valid" : true - } - ] - }, { "description" : "items + maximum", "schema" : { @@ -497,292 +404,6 @@ } ] }, - { - "description" : "contains + additionalProperties", - "schema" : { - "additionalProperties" : false, - "contains" : true - }, - "tests" : [ - { - "data" : [], - "description" : "array, contains invalid", - "valid" : false - }, - { - "data" : [ - 1 - ], - "description" : "array, contains valid", - "valid" : true - }, - { - "data" : { - "x" : 1 - }, - "description" : "object, additionalProperties invalid", - "valid" : false - }, - { - "data" : {}, - "description" : "object, additionalProperties valid", - "valid" : true - } - ] - }, - { - "description" : "contains + dependencies", - "schema" : { - "contains" : true, - "dependencies" : { - "x" : { - "not" : {} - } - } - }, - "tests" : [ - { - "data" : [], - "description" : "array, contains invalid", - "valid" : false - }, - { - "data" : [ - 1 - ], - "description" : "array, contains valid", - "valid" : true - }, - { - "data" : { - "x" : 1 - }, - "description" : "object, dependencies invalid", - "valid" : false - }, - { - "data" : true, - "description" : "object, dependencies valid", - "valid" : true - } - ] - }, - { - "description" : "contains + maxProperties", - "schema" : { - "contains" : true, - "maxProperties" : 1 - }, - "tests" : [ - { - "data" : [], - "description" : "array, contains invalid", - "valid" : false - }, - { - "data" : [ - 1 - ], - "description" : "array, contains valid", - "valid" : true - }, - { - "data" : { - "x" : 1, - "y" : 2 - }, - "description" : "object, maxProperties invalid", - "valid" : false - }, - { - "data" : { - "x" : 1 - }, - "description" : "object, maxProperties valid", - "valid" : true - } - ] - }, - { - "description" : "contains + minProperties", - "schema" : { - "contains" : true, - "minProperties" : 1 - }, - "tests" : [ - { - "data" : [], - "description" : "array, contains invalid", - "valid" : false - }, - { - "data" : [ - 1 - ], - "description" : "array, contains valid", - "valid" : true - }, - { - "data" : {}, - "description" : "object, minProperties invalid", - "valid" : false - }, - { - "data" : { - "x" : 1 - }, - "description" : "object, minProperties valid", - "valid" : true - } - ] - }, - { - "description" : "contains + patternProperties", - "schema" : { - "contains" : true, - "patternProperties" : { - "no" : { - "not" : {} - }, - "yes" : {} - } - }, - "tests" : [ - { - "data" : [], - "description" : "array, contains invalid", - "valid" : false - }, - { - "data" : [ - 1 - ], - "description" : "array, contains valid", - "valid" : true - }, - { - "data" : { - "no" : 1 - }, - "description" : "object, patternProperties invalid", - "valid" : false - }, - { - "data" : { - "yes" : 1 - }, - "description" : "object, patternProperties valid", - "valid" : true - } - ] - }, - { - "description" : "contains + properties", - "schema" : { - "contains" : true, - "properties" : { - "x" : { - "not" : {} - } - } - }, - "tests" : [ - { - "data" : [], - "description" : "array, contains invalid", - "valid" : false - }, - { - "data" : [ - 1 - ], - "description" : "array, contains valid", - "valid" : true - }, - { - "data" : { - "x" : 1 - }, - "description" : "object, properties invalid", - "valid" : false - }, - { - "data" : {}, - "description" : "object, properties valid", - "valid" : true - } - ] - }, - { - "description" : "contains + propertyNames", - "schema" : { - "contains" : true, - "propertyNames" : { - "not" : {} - } - }, - "tests" : [ - { - "data" : [], - "description" : "array, contains invalid", - "valid" : false - }, - { - "data" : [ - 1 - ], - "description" : "array, contains valid", - "valid" : true - }, - { - "data" : { - "x" : 1 - }, - "description" : "object, propertyNames invalid", - "valid" : false - }, - { - "data" : {}, - "description" : "object, propertyNames valid", - "valid" : true - } - ] - }, - { - "description" : "contains + required", - "schema" : { - "contains" : true, - "required" : [ - "x" - ] - }, - "tests" : [ - { - "data" : [], - "description" : "array, contains invalid", - "valid" : false - }, - { - "data" : [ - 1 - ], - "description" : "array, contains valid", - "valid" : true - }, - { - "data" : {}, - "description" : "object, required invalid", - "valid" : false - }, - { - "data" : { - "x" : 1 - }, - "description" : "object, required valid", - "valid" : true - } - ] - }, { "description" : "items + additionalProperties", "schema" : { @@ -923,65 +544,24 @@ }, { "data" : { - "x" : 1 - }, - "description" : "object, minProperties valid", - "valid" : true - } - ] - }, - { - "description" : "items + patternProperties", - "schema" : { - "items" : { - "not" : {} - }, - "patternProperties" : { - "no" : { - "not" : {} - }, - "yes" : {} - } - }, - "tests" : [ - { - "data" : [ - 1 - ], - "description" : "array, items invalid", - "valid" : false - }, - { - "data" : [], - "description" : "array, items valid", - "valid" : true - }, - { - "data" : { - "no" : 1 - }, - "description" : "object, patternProperties invalid", - "valid" : false - }, - { - "data" : { - "yes" : 1 + "x" : 1 }, - "description" : "object, patternProperties valid", + "description" : "object, minProperties valid", "valid" : true } ] }, { - "description" : "items + properties", + "description" : "items + patternProperties", "schema" : { "items" : { "not" : {} }, - "properties" : { - "x" : { + "patternProperties" : { + "no" : { "not" : {} - } + }, + "yes" : {} } }, "tests" : [ @@ -999,26 +579,30 @@ }, { "data" : { - "x" : 1 + "no" : 1 }, - "description" : "object, properties invalid", + "description" : "object, patternProperties invalid", "valid" : false }, { - "data" : {}, - "description" : "object, properties valid", + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", "valid" : true } ] }, { - "description" : "items + propertyNames", + "description" : "items + properties", "schema" : { "items" : { "not" : {} }, - "propertyNames" : { - "not" : {} + "properties" : { + "x" : { + "not" : {} + } } }, "tests" : [ @@ -1038,12 +622,12 @@ "data" : { "x" : 1 }, - "description" : "object, propertyNames invalid", + "description" : "object, properties invalid", "valid" : false }, { "data" : {}, - "description" : "object, propertyNames valid", + "description" : "object, properties valid", "valid" : true } ] @@ -1319,44 +903,6 @@ } ] }, - { - "description" : "maxItems + propertyNames", - "schema" : { - "maxItems" : 1, - "propertyNames" : { - "not" : {} - } - }, - "tests" : [ - { - "data" : [ - 1, - 2 - ], - "description" : "array, maxItems invalid", - "valid" : false - }, - { - "data" : [ - 1 - ], - "description" : "array, maxItems valid", - "valid" : true - }, - { - "data" : { - "x" : 1 - }, - "description" : "object, propertyNames invalid", - "valid" : false - }, - { - "data" : {}, - "description" : "object, propertyNames valid", - "valid" : true - } - ] - }, { "description" : "maxItems + required", "schema" : { @@ -1629,44 +1175,6 @@ } ] }, - { - "description" : "minItems + propertyNames", - "schema" : { - "minItems" : 2, - "propertyNames" : { - "not" : {} - } - }, - "tests" : [ - { - "data" : [ - 1 - ], - "description" : "array, minItems invalid", - "valid" : false - }, - { - "data" : [ - 1, - 2 - ], - "description" : "array, minItems valid", - "valid" : true - }, - { - "data" : { - "x" : 1 - }, - "description" : "object, propertyNames invalid", - "valid" : false - }, - { - "data" : {}, - "description" : "object, propertyNames valid", - "valid" : true - } - ] - }, { "description" : "minItems + required", "schema" : { @@ -1822,167 +1330,8 @@ }, { "description" : "uniqueItems + minProperties", - "schema" : { - "minProperties" : 1, - "uniqueItems" : true - }, - "tests" : [ - { - "data" : [ - 1, - 1 - ], - "description" : "array, uniqueItems invalid", - "valid" : false - }, - { - "data" : [ - 1 - ], - "description" : "array, uniqueItems valid", - "valid" : true - }, - { - "data" : {}, - "description" : "object, minProperties invalid", - "valid" : false - }, - { - "data" : { - "x" : 1 - }, - "description" : "object, minProperties valid", - "valid" : true - } - ] - }, - { - "description" : "uniqueItems + patternProperties", - "schema" : { - "patternProperties" : { - "no" : { - "not" : {} - }, - "yes" : {} - }, - "uniqueItems" : true - }, - "tests" : [ - { - "data" : [ - 1, - 1 - ], - "description" : "array, uniqueItems invalid", - "valid" : false - }, - { - "data" : [ - 1 - ], - "description" : "array, uniqueItems valid", - "valid" : true - }, - { - "data" : { - "no" : 1 - }, - "description" : "object, patternProperties invalid", - "valid" : false - }, - { - "data" : { - "yes" : 1 - }, - "description" : "object, patternProperties valid", - "valid" : true - } - ] - }, - { - "description" : "uniqueItems + properties", - "schema" : { - "properties" : { - "x" : { - "not" : {} - } - }, - "uniqueItems" : true - }, - "tests" : [ - { - "data" : [ - 1, - 1 - ], - "description" : "array, uniqueItems invalid", - "valid" : false - }, - { - "data" : [ - 1 - ], - "description" : "array, uniqueItems valid", - "valid" : true - }, - { - "data" : { - "x" : 1 - }, - "description" : "object, properties invalid", - "valid" : false - }, - { - "data" : {}, - "description" : "object, properties valid", - "valid" : true - } - ] - }, - { - "description" : "uniqueItems + propertyNames", - "schema" : { - "propertyNames" : { - "not" : {} - }, - "uniqueItems" : true - }, - "tests" : [ - { - "data" : [ - 1, - 1 - ], - "description" : "array, uniqueItems invalid", - "valid" : false - }, - { - "data" : [ - 1 - ], - "description" : "array, uniqueItems valid", - "valid" : true - }, - { - "data" : { - "x" : 1 - }, - "description" : "object, propertyNames invalid", - "valid" : false - }, - { - "data" : {}, - "description" : "object, propertyNames valid", - "valid" : true - } - ] - }, - { - "description" : "uniqueItems + required", - "schema" : { - "required" : [ - "x" - ], + "schema" : { + "minProperties" : 1, "uniqueItems" : true }, "tests" : [ @@ -2003,107 +1352,135 @@ }, { "data" : {}, - "description" : "object, required invalid", + "description" : "object, minProperties invalid", "valid" : false }, { "data" : { "x" : 1 }, - "description" : "object, required valid", + "description" : "object, minProperties valid", "valid" : true } ] }, { - "description" : "contains + maxLength", + "description" : "uniqueItems + patternProperties", "schema" : { - "contains" : true, - "maxLength" : 2 + "patternProperties" : { + "no" : { + "not" : {} + }, + "yes" : {} + }, + "uniqueItems" : true }, "tests" : [ { - "data" : [], - "description" : "array, contains invalid", + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", "valid" : false }, { "data" : [ 1 ], - "description" : "array, contains valid", + "description" : "array, uniqueItems valid", "valid" : true }, { - "data" : "hello", - "description" : "string, maxLength invalid", + "data" : { + "no" : 1 + }, + "description" : "object, patternProperties invalid", "valid" : false }, { - "data" : "hi", - "description" : "string, maxLength valid", + "data" : { + "yes" : 1 + }, + "description" : "object, patternProperties valid", "valid" : true } ] }, { - "description" : "contains + minLength", + "description" : "uniqueItems + properties", "schema" : { - "contains" : true, - "minLength" : 2 + "properties" : { + "x" : { + "not" : {} + } + }, + "uniqueItems" : true }, "tests" : [ { - "data" : [], - "description" : "array, contains invalid", + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", "valid" : false }, { "data" : [ 1 ], - "description" : "array, contains valid", + "description" : "array, uniqueItems valid", "valid" : true }, { - "data" : "x", - "description" : "string, minLength invalid", + "data" : { + "x" : 1 + }, + "description" : "object, properties invalid", "valid" : false }, { - "data" : "hi", - "description" : "string, minLength valid", + "data" : {}, + "description" : "object, properties valid", "valid" : true } ] }, { - "description" : "contains + pattern", + "description" : "uniqueItems + required", "schema" : { - "contains" : true, - "pattern" : "hi" + "required" : [ + "x" + ], + "uniqueItems" : true }, "tests" : [ { - "data" : [], - "description" : "array, contains invalid", + "data" : [ + 1, + 1 + ], + "description" : "array, uniqueItems invalid", "valid" : false }, { "data" : [ 1 ], - "description" : "array, contains valid", + "description" : "array, uniqueItems valid", "valid" : true }, { - "data" : "hello", - "description" : "string, pattern invalid", + "data" : {}, + "description" : "object, required invalid", "valid" : false }, { - "data" : "hihi", - "description" : "string, pattern valid", + "data" : { + "x" : 1 + }, + "description" : "object, required valid", "valid" : true } ] @@ -2717,39 +2094,6 @@ } ] }, - { - "description" : "maximum + propertyNames", - "schema" : { - "maximum" : 2, - "propertyNames" : { - "not" : {} - } - }, - "tests" : [ - { - "data" : 3, - "description" : "number, maximum invalid", - "valid" : false - }, - { - "data" : 2, - "description" : "number, maximum valid", - "valid" : true - }, - { - "data" : { - "x" : 1 - }, - "description" : "object, propertyNames invalid", - "valid" : false - }, - { - "data" : {}, - "description" : "object, propertyNames valid", - "valid" : true - } - ] - }, { "description" : "maximum + required", "schema" : { @@ -2987,39 +2331,6 @@ } ] }, - { - "description" : "minimum + propertyNames", - "schema" : { - "minimum" : 2, - "propertyNames" : { - "not" : {} - } - }, - "tests" : [ - { - "data" : 1, - "description" : "number, minimum invalid", - "valid" : false - }, - { - "data" : 2, - "description" : "number, minimum valid", - "valid" : true - }, - { - "data" : { - "x" : 1 - }, - "description" : "object, propertyNames invalid", - "valid" : false - }, - { - "data" : {}, - "description" : "object, propertyNames valid", - "valid" : true - } - ] - }, { "description" : "minimum + required", "schema" : { @@ -3257,39 +2568,6 @@ } ] }, - { - "description" : "multipleOf + propertyNames", - "schema" : { - "multipleOf" : 2, - "propertyNames" : { - "not" : {} - } - }, - "tests" : [ - { - "data" : 1, - "description" : "number, multipleOf invalid", - "valid" : false - }, - { - "data" : 2, - "description" : "number, multipleOf valid", - "valid" : true - }, - { - "data" : { - "x" : 1 - }, - "description" : "object, propertyNames invalid", - "valid" : false - }, - { - "data" : {}, - "description" : "object, propertyNames valid", - "valid" : true - } - ] - }, { "description" : "multipleOf + required", "schema" : { @@ -4196,105 +3474,6 @@ } ] }, - { - "description" : "propertyNames + maxLength", - "schema" : { - "maxLength" : 2, - "propertyNames" : { - "not" : {} - } - }, - "tests" : [ - { - "data" : { - "x" : 1 - }, - "description" : "object, propertyNames invalid", - "valid" : false - }, - { - "data" : {}, - "description" : "object, propertyNames valid", - "valid" : true - }, - { - "data" : "hello", - "description" : "string, maxLength invalid", - "valid" : false - }, - { - "data" : "hi", - "description" : "string, maxLength valid", - "valid" : true - } - ] - }, - { - "description" : "propertyNames + minLength", - "schema" : { - "minLength" : 2, - "propertyNames" : { - "not" : {} - } - }, - "tests" : [ - { - "data" : { - "x" : 1 - }, - "description" : "object, propertyNames invalid", - "valid" : false - }, - { - "data" : {}, - "description" : "object, propertyNames valid", - "valid" : true - }, - { - "data" : "x", - "description" : "string, minLength invalid", - "valid" : false - }, - { - "data" : "hi", - "description" : "string, minLength valid", - "valid" : true - } - ] - }, - { - "description" : "propertyNames + pattern", - "schema" : { - "pattern" : "hi", - "propertyNames" : { - "not" : {} - } - }, - "tests" : [ - { - "data" : { - "x" : 1 - }, - "description" : "object, propertyNames invalid", - "valid" : false - }, - { - "data" : {}, - "description" : "object, propertyNames valid", - "valid" : true - }, - { - "data" : "hello", - "description" : "string, pattern invalid", - "valid" : false - }, - { - "data" : "hihi", - "description" : "string, pattern valid", - "valid" : true - } - ] - }, { "description" : "required + maxLength", "schema" : {