From deb82824b22d928a2c1d524b93c6f2fb226bc9bb Mon Sep 17 00:00:00 2001 From: MeastroZI Date: Thu, 11 Apr 2024 08:27:20 +0530 Subject: [PATCH 1/7] test for dependentSchema and propertyDependencies with unevaluatedProperties and additionalProperties Signed-off-by: MeastroZI --- tests/draft-next/propertyDependencies.json | 33 +++++++++++++++++++++ tests/draft2019-09/dependentSchemas.json | 34 ++++++++++++++++++++++ tests/draft2020-12/dependentSchemas.json | 34 ++++++++++++++++++++++ 3 files changed, 101 insertions(+) diff --git a/tests/draft-next/propertyDependencies.json b/tests/draft-next/propertyDependencies.json index 9efa2b48..a56cce1d 100644 --- a/tests/draft-next/propertyDependencies.json +++ b/tests/draft-next/propertyDependencies.json @@ -157,5 +157,38 @@ "valid": false } ] + }, + { + "description": "propertyDependencies with additionalProperties", + "schema": { + "propertyDependencies" : { + "foo": {"bar": {}} + }, + "additionalProperties": false + }, + "tests": [ + { + "description": "propertyDependencies properties are count as additionalproperties" , + "data": {"foo": ""}, + "valid": false + } + ] + }, + { + "description": "propertyDependencies with unevaluatedProperties" , + "schema" : { + "propertyDependencies": { + "foo": {"bar": {}} + }, + "unevaluatedProperties": false + }, + + "test": [ + { + "description": "propertyDependencies properties are count as the unevaluatedProperties" , + "data": {"foo": ""}, + "valid": false + } + ] } ] diff --git a/tests/draft2019-09/dependentSchemas.json b/tests/draft2019-09/dependentSchemas.json index c5b8ea05..67b17711 100644 --- a/tests/draft2019-09/dependentSchemas.json +++ b/tests/draft2019-09/dependentSchemas.json @@ -167,5 +167,39 @@ "valid": true } ] + }, + { + "description": "dependent schema with additionalProperties", + "schema": { + "$schema": "https://json-schema.org/draft/2019-09/schema", + "dependentSchemas": { + "foo": {} + }, + "additionalProperties": false + }, + "tests": [ + { + "description": "dependentSchemas properties are counted as additional properties", + "data": {"foo": ""}, + "valid": false + } + ] + }, + { + "description": "dependent schema with unevaluatedProperties", + "schema": { + "$schema": "https://json-schema.org/draft/2019-09/schema", + "dependentSchemas": { + "foo": {} + }, + "unevaluatedProperties": false + }, + "tests": [ + { + "description": "dependentSchemas properties are counted as unevaluated properties", + "data": {"foo": ""}, + "valid": false + } + ] } ] diff --git a/tests/draft2020-12/dependentSchemas.json b/tests/draft2020-12/dependentSchemas.json index 1c5f0574..9568724d 100644 --- a/tests/draft2020-12/dependentSchemas.json +++ b/tests/draft2020-12/dependentSchemas.json @@ -167,5 +167,39 @@ "valid": true } ] + }, + { + "description": "dependent schema with additionalProperties", + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "dependentSchemas": { + "foo": {} + }, + "additionalProperties": false + }, + "tests": [ + { + "description": "dependentSchemas properties are counted as additional properties", + "data": {"foo": ""}, + "valid": false + } + ] + }, + { + "description": "dependent schema with unevaluatedProperties", + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "dependentSchemas": { + "foo": {} + }, + "unevaluatedProperties": false + }, + "tests": [ + { + "description": "dependentSchemas properties are counted as unevaluated properties", + "data": {"foo": ""}, + "valid": false + } + ] } ] From 605d7d786de231daacb5f3a233bd44ecac9b43e9 Mon Sep 17 00:00:00 2001 From: Vinit Pandit <106718914+MeastroZI@users.noreply.github.com> Date: Thu, 11 Apr 2024 09:41:51 +0530 Subject: [PATCH 2/7] Update propertyDependencies.json : test must be tests --- tests/draft-next/propertyDependencies.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/draft-next/propertyDependencies.json b/tests/draft-next/propertyDependencies.json index a56cce1d..e2ee5907 100644 --- a/tests/draft-next/propertyDependencies.json +++ b/tests/draft-next/propertyDependencies.json @@ -183,7 +183,7 @@ "unevaluatedProperties": false }, - "test": [ + "tests": [ { "description": "propertyDependencies properties are count as the unevaluatedProperties" , "data": {"foo": ""}, From 959aca9261de09177708c0c2b0991b47d026aa6b Mon Sep 17 00:00:00 2001 From: MeastroZI Date: Thu, 11 Apr 2024 10:27:07 +0530 Subject: [PATCH 3/7] shifting test --- tests/draft-next/additionalProperties.json | 32 +++++++++++++++++ tests/draft-next/propertyDependencies.json | 33 ------------------ tests/draft-next/unevaluatedProperties.json | 33 ++++++++++++++++++ tests/draft2019-09/additionalProperties.json | 17 ++++++++++ tests/draft2019-09/dependentSchemas.json | 34 ------------------- tests/draft2019-09/unevaluatedProperties.json | 17 ++++++++++ tests/draft2020-12/additionalProperties.json | 17 ++++++++++ tests/draft2020-12/dependentSchemas.json | 34 ------------------- tests/draft2020-12/unevaluatedItems.json | 17 ++++++++++ tests/draft2020-12/unevaluatedProperties.json | 17 ++++++++++ 10 files changed, 150 insertions(+), 101 deletions(-) diff --git a/tests/draft-next/additionalProperties.json b/tests/draft-next/additionalProperties.json index 606635e4..d9092b70 100644 --- a/tests/draft-next/additionalProperties.json +++ b/tests/draft-next/additionalProperties.json @@ -176,5 +176,37 @@ "valid": false } ] + }, + { + "description": "propertyDependencies with additionalProperties", + "schema": { + "propertyDependencies" : { + "foo": {"bar": {}} + }, + "additionalProperties": false + }, + "tests": [ + { + "description": "propertyDependencies properties are count as additionalproperties" , + "data": {"foo": ""}, + "valid": false + } + ] + }, + { + "description": "dependent schema with additionalProperties", + "schema": { + "dependentSchemas": { + "foo": {} + }, + "additionalProperties": false + }, + "tests": [ + { + "description": "dependentSchemas properties are counted as additional properties", + "data": {"foo": ""}, + "valid": false + } + ] } ] diff --git a/tests/draft-next/propertyDependencies.json b/tests/draft-next/propertyDependencies.json index e2ee5907..9efa2b48 100644 --- a/tests/draft-next/propertyDependencies.json +++ b/tests/draft-next/propertyDependencies.json @@ -157,38 +157,5 @@ "valid": false } ] - }, - { - "description": "propertyDependencies with additionalProperties", - "schema": { - "propertyDependencies" : { - "foo": {"bar": {}} - }, - "additionalProperties": false - }, - "tests": [ - { - "description": "propertyDependencies properties are count as additionalproperties" , - "data": {"foo": ""}, - "valid": false - } - ] - }, - { - "description": "propertyDependencies with unevaluatedProperties" , - "schema" : { - "propertyDependencies": { - "foo": {"bar": {}} - }, - "unevaluatedProperties": false - }, - - "tests": [ - { - "description": "propertyDependencies properties are count as the unevaluatedProperties" , - "data": {"foo": ""}, - "valid": false - } - ] } ] diff --git a/tests/draft-next/unevaluatedProperties.json b/tests/draft-next/unevaluatedProperties.json index d0d53507..6f8c4fbb 100644 --- a/tests/draft-next/unevaluatedProperties.json +++ b/tests/draft-next/unevaluatedProperties.json @@ -1603,5 +1603,38 @@ "valid": false } ] + }, + { + "description": "propertyDependencies with unevaluatedProperties" , + "schema" : { + "propertyDependencies": { + "foo": {"bar": {}} + }, + "unevaluatedProperties": false + }, + + "tests": [ + { + "description": "propertyDependencies properties are count as the unevaluatedProperties" , + "data": {"foo": ""}, + "valid": false + } + ] + }, + { + "description": "dependent schema with unevaluatedProperties", + "schema": { + "dependentSchemas": { + "foo": {} + }, + "unevaluatedProperties": false + }, + "tests": [ + { + "description": "dependentSchemas properties are counted as unevaluated properties", + "data": {"foo": ""}, + "valid": false + } + ] } ] diff --git a/tests/draft2019-09/additionalProperties.json b/tests/draft2019-09/additionalProperties.json index 4305387b..68fec15a 100644 --- a/tests/draft2019-09/additionalProperties.json +++ b/tests/draft2019-09/additionalProperties.json @@ -176,5 +176,22 @@ "valid": false } ] + }, + { + "description": "dependent schema with additionalProperties", + "schema": { + "$schema": "https://json-schema.org/draft/2019-09/schema", + "dependentSchemas": { + "foo": {} + }, + "additionalProperties": false + }, + "tests": [ + { + "description": "dependentSchemas properties are counted as additional properties", + "data": {"foo": ""}, + "valid": false + } + ] } ] diff --git a/tests/draft2019-09/dependentSchemas.json b/tests/draft2019-09/dependentSchemas.json index 67b17711..c5b8ea05 100644 --- a/tests/draft2019-09/dependentSchemas.json +++ b/tests/draft2019-09/dependentSchemas.json @@ -167,39 +167,5 @@ "valid": true } ] - }, - { - "description": "dependent schema with additionalProperties", - "schema": { - "$schema": "https://json-schema.org/draft/2019-09/schema", - "dependentSchemas": { - "foo": {} - }, - "additionalProperties": false - }, - "tests": [ - { - "description": "dependentSchemas properties are counted as additional properties", - "data": {"foo": ""}, - "valid": false - } - ] - }, - { - "description": "dependent schema with unevaluatedProperties", - "schema": { - "$schema": "https://json-schema.org/draft/2019-09/schema", - "dependentSchemas": { - "foo": {} - }, - "unevaluatedProperties": false - }, - "tests": [ - { - "description": "dependentSchemas properties are counted as unevaluated properties", - "data": {"foo": ""}, - "valid": false - } - ] } ] diff --git a/tests/draft2019-09/unevaluatedProperties.json b/tests/draft2019-09/unevaluatedProperties.json index 71c36dfa..01eec539 100644 --- a/tests/draft2019-09/unevaluatedProperties.json +++ b/tests/draft2019-09/unevaluatedProperties.json @@ -1567,5 +1567,22 @@ "valid": false } ] + }, + { + "description": "dependent schema with unevaluatedProperties", + "schema": { + "$schema": "https://json-schema.org/draft/2019-09/schema", + "dependentSchemas": { + "foo": {} + }, + "unevaluatedProperties": false + }, + "tests": [ + { + "description": "dependentSchemas properties are counted as unevaluated properties", + "data": {"foo": ""}, + "valid": false + } + ] } ] diff --git a/tests/draft2020-12/additionalProperties.json b/tests/draft2020-12/additionalProperties.json index d48a498a..26bc4516 100644 --- a/tests/draft2020-12/additionalProperties.json +++ b/tests/draft2020-12/additionalProperties.json @@ -182,5 +182,22 @@ "valid": false } ] + }, + { + "description": "dependent schema with additionalProperties", + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "dependentSchemas": { + "foo": {} + }, + "additionalProperties": false + }, + "tests": [ + { + "description": "dependentSchemas properties are counted as additional properties", + "data": {"foo": ""}, + "valid": false + } + ] } ] diff --git a/tests/draft2020-12/dependentSchemas.json b/tests/draft2020-12/dependentSchemas.json index 9568724d..1c5f0574 100644 --- a/tests/draft2020-12/dependentSchemas.json +++ b/tests/draft2020-12/dependentSchemas.json @@ -167,39 +167,5 @@ "valid": true } ] - }, - { - "description": "dependent schema with additionalProperties", - "schema": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "dependentSchemas": { - "foo": {} - }, - "additionalProperties": false - }, - "tests": [ - { - "description": "dependentSchemas properties are counted as additional properties", - "data": {"foo": ""}, - "valid": false - } - ] - }, - { - "description": "dependent schema with unevaluatedProperties", - "schema": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "dependentSchemas": { - "foo": {} - }, - "unevaluatedProperties": false - }, - "tests": [ - { - "description": "dependentSchemas properties are counted as unevaluated properties", - "data": {"foo": ""}, - "valid": false - } - ] } ] diff --git a/tests/draft2020-12/unevaluatedItems.json b/tests/draft2020-12/unevaluatedItems.json index ee0cb658..6fcab3c1 100644 --- a/tests/draft2020-12/unevaluatedItems.json +++ b/tests/draft2020-12/unevaluatedItems.json @@ -795,5 +795,22 @@ } ] + }, + { + "description": "dependent schema with unevaluatedProperties", + "schema": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "dependentSchemas": { + "foo": {} + }, + "unevaluatedProperties": false + }, + "tests": [ + { + "description": "dependentSchemas properties are counted as unevaluated properties", + "data": {"foo": ""}, + "valid": false + } + ] } ] diff --git a/tests/draft2020-12/unevaluatedProperties.json b/tests/draft2020-12/unevaluatedProperties.json index b8a2306c..5beb2d35 100644 --- a/tests/draft2020-12/unevaluatedProperties.json +++ b/tests/draft2020-12/unevaluatedProperties.json @@ -1564,5 +1564,22 @@ "valid": false } ] + }, + { + "description": "dependent schema with unevaluatedProperties", + "schema": { + "$schema": "https://json-schema.org/draft/2019-09/schema", + "dependentSchemas": { + "foo": {} + }, + "unevaluatedProperties": false + }, + "tests": [ + { + "description": "dependentSchemas properties are counted as unevaluated properties", + "data": {"foo": ""}, + "valid": false + } + ] } ] From 7e6c9be6d78ecce0a81b600c34c71d161786ce7f Mon Sep 17 00:00:00 2001 From: MeastroZI Date: Thu, 11 Apr 2024 10:53:17 +0530 Subject: [PATCH 4/7] changing descriptions --- tests/draft-next/additionalProperties.json | 6 +++--- tests/draft-next/unevaluatedProperties.json | 6 +++--- tests/draft2019-09/additionalProperties.json | 4 ++-- tests/draft2019-09/unevaluatedProperties.json | 4 ++-- tests/draft2020-12/additionalProperties.json | 4 ++-- tests/draft2020-12/unevaluatedProperties.json | 6 +++--- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/tests/draft-next/additionalProperties.json b/tests/draft-next/additionalProperties.json index d9092b70..05d81f1e 100644 --- a/tests/draft-next/additionalProperties.json +++ b/tests/draft-next/additionalProperties.json @@ -187,14 +187,14 @@ }, "tests": [ { - "description": "propertyDependencies properties are count as additionalproperties" , + "description": "additionalProperties doesn't consider propertyDependencies" , "data": {"foo": ""}, "valid": false } ] }, { - "description": "dependent schema with additionalProperties", + "description": "dependentSchemas with additionalProperties", "schema": { "dependentSchemas": { "foo": {} @@ -203,7 +203,7 @@ }, "tests": [ { - "description": "dependentSchemas properties are counted as additional properties", + "description": "additionalProperties doesn't consider dependentSchemas", "data": {"foo": ""}, "valid": false } diff --git a/tests/draft-next/unevaluatedProperties.json b/tests/draft-next/unevaluatedProperties.json index 6f8c4fbb..33980638 100644 --- a/tests/draft-next/unevaluatedProperties.json +++ b/tests/draft-next/unevaluatedProperties.json @@ -1615,14 +1615,14 @@ "tests": [ { - "description": "propertyDependencies properties are count as the unevaluatedProperties" , + "description": "unevaluatedProperties doesn't consider propertyDependencies" , "data": {"foo": ""}, "valid": false } ] }, { - "description": "dependent schema with unevaluatedProperties", + "description": "dependentSchemas with unevaluatedProperties", "schema": { "dependentSchemas": { "foo": {} @@ -1631,7 +1631,7 @@ }, "tests": [ { - "description": "dependentSchemas properties are counted as unevaluated properties", + "description": "unevaluatedProperties doesn't consider dependentSchemas", "data": {"foo": ""}, "valid": false } diff --git a/tests/draft2019-09/additionalProperties.json b/tests/draft2019-09/additionalProperties.json index 68fec15a..5ceaa0f4 100644 --- a/tests/draft2019-09/additionalProperties.json +++ b/tests/draft2019-09/additionalProperties.json @@ -178,7 +178,7 @@ ] }, { - "description": "dependent schema with additionalProperties", + "description": "dependentSchemas with additionalProperties", "schema": { "$schema": "https://json-schema.org/draft/2019-09/schema", "dependentSchemas": { @@ -188,7 +188,7 @@ }, "tests": [ { - "description": "dependentSchemas properties are counted as additional properties", + "description": "additionalProperties doesn't consider dependentSchemas", "data": {"foo": ""}, "valid": false } diff --git a/tests/draft2019-09/unevaluatedProperties.json b/tests/draft2019-09/unevaluatedProperties.json index 01eec539..d911b5e8 100644 --- a/tests/draft2019-09/unevaluatedProperties.json +++ b/tests/draft2019-09/unevaluatedProperties.json @@ -1569,7 +1569,7 @@ ] }, { - "description": "dependent schema with unevaluatedProperties", + "description": "dependentSchemas with unevaluatedProperties", "schema": { "$schema": "https://json-schema.org/draft/2019-09/schema", "dependentSchemas": { @@ -1579,7 +1579,7 @@ }, "tests": [ { - "description": "dependentSchemas properties are counted as unevaluated properties", + "description": "unevaluatedProperties doesn't consider dependentSchemas", "data": {"foo": ""}, "valid": false } diff --git a/tests/draft2020-12/additionalProperties.json b/tests/draft2020-12/additionalProperties.json index 26bc4516..a076b312 100644 --- a/tests/draft2020-12/additionalProperties.json +++ b/tests/draft2020-12/additionalProperties.json @@ -184,7 +184,7 @@ ] }, { - "description": "dependent schema with additionalProperties", + "description": "dependentSchemas with additionalProperties", "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "dependentSchemas": { @@ -194,7 +194,7 @@ }, "tests": [ { - "description": "dependentSchemas properties are counted as additional properties", + "description": "additionalProperties doesn't consider dependentSchemas", "data": {"foo": ""}, "valid": false } diff --git a/tests/draft2020-12/unevaluatedProperties.json b/tests/draft2020-12/unevaluatedProperties.json index 5beb2d35..d4aba1ba 100644 --- a/tests/draft2020-12/unevaluatedProperties.json +++ b/tests/draft2020-12/unevaluatedProperties.json @@ -1566,9 +1566,9 @@ ] }, { - "description": "dependent schema with unevaluatedProperties", + "description": "dependentSchemas with unevaluatedProperties", "schema": { - "$schema": "https://json-schema.org/draft/2019-09/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", "dependentSchemas": { "foo": {} }, @@ -1576,7 +1576,7 @@ }, "tests": [ { - "description": "dependentSchemas properties are counted as unevaluated properties", + "description": "unevaluatedProperties doesn't consider dependentSchemas", "data": {"foo": ""}, "valid": false } From e6d6a0816fd29164fc04f0364025b2b8efdbe009 Mon Sep 17 00:00:00 2001 From: MeastroZI Date: Thu, 11 Apr 2024 16:41:56 +0530 Subject: [PATCH 5/7] adding more test cases --- tests/draft-next/additionalProperties.json | 37 ++++++++++++++++--- tests/draft-next/unevaluatedProperties.json | 33 +++++++++++++++-- tests/draft2019-09/additionalProperties.json | 16 +++++++- tests/draft2019-09/unevaluatedProperties.json | 16 +++++++- tests/draft2020-12/additionalProperties.json | 16 +++++++- tests/draft2020-12/unevaluatedItems.json | 18 --------- tests/draft2020-12/unevaluatedProperties.json | 16 +++++++- 7 files changed, 122 insertions(+), 30 deletions(-) diff --git a/tests/draft-next/additionalProperties.json b/tests/draft-next/additionalProperties.json index 05d81f1e..1e7be545 100644 --- a/tests/draft-next/additionalProperties.json +++ b/tests/draft-next/additionalProperties.json @@ -180,15 +180,27 @@ { "description": "propertyDependencies with additionalProperties", "schema": { - "propertyDependencies" : { - "foo": {"bar": {}} + "$schema": "https://json-schema.org/draft/next/schema", + "propertyDependencies": { + "foo": { + "bar": { + "properties": { + "buz": {} + } + } + } }, "additionalProperties": false }, "tests": [ { - "description": "additionalProperties doesn't consider propertyDependencies" , - "data": {"foo": ""}, + "description": "additionalProperties doesn't consider propertyDependencies properties" , + "data": {"foo": "bar"}, + "valid": false + }, + { + "description": "additionalProperties doesn't consider the innner schema properties", + "data": {"foo": "bar", "buz": ""}, "valid": false } ] @@ -196,8 +208,13 @@ { "description": "dependentSchemas with additionalProperties", "schema": { + "$schema": "https://json-schema.org/draft/next/schema", "dependentSchemas": { - "foo": {} + "foo": { + "properties": { + "bar":{} + } + } }, "additionalProperties": false }, @@ -206,6 +223,16 @@ "description": "additionalProperties doesn't consider dependentSchemas", "data": {"foo": ""}, "valid": false + }, + { + "description": "additionalProperties does't consider inner schema property", + "data": {"bar": ""}, + "valid": false + }, + { + "description": "additionalProperties doesn't consider both", + "data": {"bar": "", "foo": ""}, + "valid": false } ] } diff --git a/tests/draft-next/unevaluatedProperties.json b/tests/draft-next/unevaluatedProperties.json index 33980638..888cf31b 100644 --- a/tests/draft-next/unevaluatedProperties.json +++ b/tests/draft-next/unevaluatedProperties.json @@ -1607,8 +1607,15 @@ { "description": "propertyDependencies with unevaluatedProperties" , "schema" : { + "$schema": "https://json-schema.org/draft/next/schema", "propertyDependencies": { - "foo": {"bar": {}} + "foo": { + "bar": { + "properties": { + "buz": {} + } + } + } }, "unevaluatedProperties": false }, @@ -1616,7 +1623,12 @@ "tests": [ { "description": "unevaluatedProperties doesn't consider propertyDependencies" , - "data": {"foo": ""}, + "data": {"foo": "bar"}, + "valid": false + }, + { + "description": "unevaluatedProperties doesn't consider inner schema properties", + "data": {"foo": "bar", "buz": ""}, "valid": false } ] @@ -1624,8 +1636,13 @@ { "description": "dependentSchemas with unevaluatedProperties", "schema": { + "$schema": "https://json-schema.org/draft/next/schema", "dependentSchemas": { - "foo": {} + "foo": { + "properties": { + "bar":{} + } + } }, "unevaluatedProperties": false }, @@ -1634,6 +1651,16 @@ "description": "unevaluatedProperties doesn't consider dependentSchemas", "data": {"foo": ""}, "valid": false + }, + { + "description": "unevaluatedproperties does't consider inner schema property", + "data": {"bar": ""}, + "valid": false + }, + { + "description": "unevaluatedProperties doesn't consider both", + "data": {"bar": "", "foo": ""}, + "valid": false } ] } diff --git a/tests/draft2019-09/additionalProperties.json b/tests/draft2019-09/additionalProperties.json index 5ceaa0f4..47236ee5 100644 --- a/tests/draft2019-09/additionalProperties.json +++ b/tests/draft2019-09/additionalProperties.json @@ -182,7 +182,11 @@ "schema": { "$schema": "https://json-schema.org/draft/2019-09/schema", "dependentSchemas": { - "foo": {} + "foo": { + "properties": { + "bar":{} + } + } }, "additionalProperties": false }, @@ -191,6 +195,16 @@ "description": "additionalProperties doesn't consider dependentSchemas", "data": {"foo": ""}, "valid": false + }, + { + "description": "additionalProperties does't consider inner schema property", + "data": {"bar": ""}, + "valid": false + }, + { + "description": "additionalProperties doesn't consider both", + "data": {"bar": "", "foo": ""}, + "valid": false } ] } diff --git a/tests/draft2019-09/unevaluatedProperties.json b/tests/draft2019-09/unevaluatedProperties.json index d911b5e8..91e253f7 100644 --- a/tests/draft2019-09/unevaluatedProperties.json +++ b/tests/draft2019-09/unevaluatedProperties.json @@ -1573,7 +1573,11 @@ "schema": { "$schema": "https://json-schema.org/draft/2019-09/schema", "dependentSchemas": { - "foo": {} + "foo": { + "properties": { + "bar":{} + } + } }, "unevaluatedProperties": false }, @@ -1582,6 +1586,16 @@ "description": "unevaluatedProperties doesn't consider dependentSchemas", "data": {"foo": ""}, "valid": false + }, + { + "description": "unevaluatedproperties does't consider inner schema property", + "data": {"bar": ""}, + "valid": false + }, + { + "description": "unevaluatedProperties doesn't consider both", + "data": {"bar": "", "foo": ""}, + "valid": false } ] } diff --git a/tests/draft2020-12/additionalProperties.json b/tests/draft2020-12/additionalProperties.json index a076b312..16bc2c9b 100644 --- a/tests/draft2020-12/additionalProperties.json +++ b/tests/draft2020-12/additionalProperties.json @@ -188,7 +188,11 @@ "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "dependentSchemas": { - "foo": {} + "foo": { + "properties": { + "bar":{} + } + } }, "additionalProperties": false }, @@ -197,6 +201,16 @@ "description": "additionalProperties doesn't consider dependentSchemas", "data": {"foo": ""}, "valid": false + }, + { + "description": "additionalProperties does't consider inner schema property", + "data": {"bar": ""}, + "valid": false + }, + { + "description": "additionalProperties doesn't consider both", + "data": {"bar": "", "foo": ""}, + "valid": false } ] } diff --git a/tests/draft2020-12/unevaluatedItems.json b/tests/draft2020-12/unevaluatedItems.json index 6fcab3c1..f861cefa 100644 --- a/tests/draft2020-12/unevaluatedItems.json +++ b/tests/draft2020-12/unevaluatedItems.json @@ -793,24 +793,6 @@ "data": [ "b" ], "valid": false } - - ] - }, - { - "description": "dependent schema with unevaluatedProperties", - "schema": { - "$schema": "https://json-schema.org/draft/2020-12/schema", - "dependentSchemas": { - "foo": {} - }, - "unevaluatedProperties": false - }, - "tests": [ - { - "description": "dependentSchemas properties are counted as unevaluated properties", - "data": {"foo": ""}, - "valid": false - } ] } ] diff --git a/tests/draft2020-12/unevaluatedProperties.json b/tests/draft2020-12/unevaluatedProperties.json index d4aba1ba..73629f64 100644 --- a/tests/draft2020-12/unevaluatedProperties.json +++ b/tests/draft2020-12/unevaluatedProperties.json @@ -1570,7 +1570,11 @@ "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "dependentSchemas": { - "foo": {} + "foo": { + "properties": { + "bar":{} + } + } }, "unevaluatedProperties": false }, @@ -1579,6 +1583,16 @@ "description": "unevaluatedProperties doesn't consider dependentSchemas", "data": {"foo": ""}, "valid": false + }, + { + "description": "unevaluatedproperties does't consider inner schema property", + "data": {"bar": ""}, + "valid": false + }, + { + "description": "unevaluatedProperties doesn't consider both", + "data": {"bar": "", "foo": ""}, + "valid": false } ] } From 49f73429c7aa85be2797517ded615a0b96909c54 Mon Sep 17 00:00:00 2001 From: MeastroZI Date: Mon, 15 Apr 2024 11:27:49 +0530 Subject: [PATCH 6/7] fixing tests --- tests/draft-next/additionalProperties.json | 25 +++++++++++++------ tests/draft-next/unevaluatedProperties.json | 25 +++++++++++++------ tests/draft2019-09/additionalProperties.json | 10 +++++--- tests/draft2019-09/unevaluatedProperties.json | 12 +++++---- tests/draft2020-12/additionalProperties.json | 12 +++++---- tests/draft2020-12/unevaluatedProperties.json | 12 +++++---- 6 files changed, 61 insertions(+), 35 deletions(-) diff --git a/tests/draft-next/additionalProperties.json b/tests/draft-next/additionalProperties.json index 1e7be545..44fed037 100644 --- a/tests/draft-next/additionalProperties.json +++ b/tests/draft-next/additionalProperties.json @@ -181,8 +181,10 @@ "description": "propertyDependencies with additionalProperties", "schema": { "$schema": "https://json-schema.org/draft/next/schema", + "properties" : {"foo2" : {}}, "propertyDependencies": { - "foo": { + "foo" : {}, + "foo2": { "bar": { "properties": { "buz": {} @@ -195,12 +197,17 @@ "tests": [ { "description": "additionalProperties doesn't consider propertyDependencies properties" , - "data": {"foo": "bar"}, + "data": {"foo": ""}, "valid": false }, { "description": "additionalProperties doesn't consider the innner schema properties", - "data": {"foo": "bar", "buz": ""}, + "data": {"foo2": "bar", "buz": ""}, + "valid": false + }, + { + "description": "additionalProperties doesn't consider buz", + "data": {"buz": ""}, "valid": false } ] @@ -209,10 +216,12 @@ "description": "dependentSchemas with additionalProperties", "schema": { "$schema": "https://json-schema.org/draft/next/schema", + "properties": {"foo2": {}}, "dependentSchemas": { - "foo": { + "foo": {}, + "foo2": { "properties": { - "bar":{} + "bar": {} } } }, @@ -225,13 +234,13 @@ "valid": false }, { - "description": "additionalProperties does't consider inner schema property", + "description": "additionalProperties doesn't consider bar", "data": {"bar": ""}, "valid": false }, { - "description": "additionalProperties doesn't consider both", - "data": {"bar": "", "foo": ""}, + "description": "additionalProperties doesn't consider inner schema properties", + "data": {"foo2": "", "bar": ""}, "valid": false } ] diff --git a/tests/draft-next/unevaluatedProperties.json b/tests/draft-next/unevaluatedProperties.json index 888cf31b..492e7d49 100644 --- a/tests/draft-next/unevaluatedProperties.json +++ b/tests/draft-next/unevaluatedProperties.json @@ -1608,8 +1608,10 @@ "description": "propertyDependencies with unevaluatedProperties" , "schema" : { "$schema": "https://json-schema.org/draft/next/schema", + "properties" : {"foo2" : {}}, "propertyDependencies": { - "foo": { + "foo" : {}, + "foo2": { "bar": { "properties": { "buz": {} @@ -1627,8 +1629,13 @@ "valid": false }, { - "description": "unevaluatedProperties doesn't consider inner schema properties", - "data": {"foo": "bar", "buz": ""}, + "description": "unevaluatedProperties consider the innner schema properties", + "data": {"foo2": "bar", "buz": ""}, + "valid": true + }, + { + "description": "unevaluatedProperties doesn't consider buz", + "data": {"buz": ""}, "valid": false } ] @@ -1637,8 +1644,10 @@ "description": "dependentSchemas with unevaluatedProperties", "schema": { "$schema": "https://json-schema.org/draft/next/schema", + "properties": {"foo2": {}}, "dependentSchemas": { - "foo": { + "foo" : {}, + "foo2": { "properties": { "bar":{} } @@ -1653,14 +1662,14 @@ "valid": false }, { - "description": "unevaluatedproperties does't consider inner schema property", + "description": "unevaluatedProperties doesn't consider bar", "data": {"bar": ""}, "valid": false }, { - "description": "unevaluatedProperties doesn't consider both", - "data": {"bar": "", "foo": ""}, - "valid": false + "description": "unevaluatedProperties consider inner schema properties", + "data": {"foo2": "", "bar": ""}, + "valid": true } ] } diff --git a/tests/draft2019-09/additionalProperties.json b/tests/draft2019-09/additionalProperties.json index 47236ee5..187c54c5 100644 --- a/tests/draft2019-09/additionalProperties.json +++ b/tests/draft2019-09/additionalProperties.json @@ -181,8 +181,10 @@ "description": "dependentSchemas with additionalProperties", "schema": { "$schema": "https://json-schema.org/draft/2019-09/schema", + "properties": {"foo2": {}}, "dependentSchemas": { - "foo": { + "foo" : {}, + "foo2": { "properties": { "bar":{} } @@ -197,13 +199,13 @@ "valid": false }, { - "description": "additionalProperties does't consider inner schema property", + "description": "additionalProperties doesn't consider bar", "data": {"bar": ""}, "valid": false }, { - "description": "additionalProperties doesn't consider both", - "data": {"bar": "", "foo": ""}, + "description": "additionalProperties doesn't consider inner schema properties", + "data": { "foo2": "", "bar": ""}, "valid": false } ] diff --git a/tests/draft2019-09/unevaluatedProperties.json b/tests/draft2019-09/unevaluatedProperties.json index 91e253f7..7a129663 100644 --- a/tests/draft2019-09/unevaluatedProperties.json +++ b/tests/draft2019-09/unevaluatedProperties.json @@ -1572,8 +1572,10 @@ "description": "dependentSchemas with unevaluatedProperties", "schema": { "$schema": "https://json-schema.org/draft/2019-09/schema", + "properties": {"foo2": {}}, "dependentSchemas": { - "foo": { + "foo" : {}, + "foo2": { "properties": { "bar":{} } @@ -1588,14 +1590,14 @@ "valid": false }, { - "description": "unevaluatedproperties does't consider inner schema property", + "description": "unevaluatedProperties doesn't consider bar", "data": {"bar": ""}, "valid": false }, { - "description": "unevaluatedProperties doesn't consider both", - "data": {"bar": "", "foo": ""}, - "valid": false + "description": "unevaluatedProperties consider inner schema properties", + "data": { "foo2": "", "bar": ""}, + "valid": true } ] } diff --git a/tests/draft2020-12/additionalProperties.json b/tests/draft2020-12/additionalProperties.json index 16bc2c9b..d5050711 100644 --- a/tests/draft2020-12/additionalProperties.json +++ b/tests/draft2020-12/additionalProperties.json @@ -187,10 +187,12 @@ "description": "dependentSchemas with additionalProperties", "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", + "properties": {"foo2": {}}, "dependentSchemas": { - "foo": { + "foo" : {}, + "foo2": { "properties": { - "bar":{} + "bar": {} } } }, @@ -203,13 +205,13 @@ "valid": false }, { - "description": "additionalProperties does't consider inner schema property", + "description": "additionalProperties doesn't consider bar", "data": {"bar": ""}, "valid": false }, { - "description": "additionalProperties doesn't consider both", - "data": {"bar": "", "foo": ""}, + "description": "additionalProperties doesn't consider inner schema properties", + "data": {"foo2": "", "bar": ""}, "valid": false } ] diff --git a/tests/draft2020-12/unevaluatedProperties.json b/tests/draft2020-12/unevaluatedProperties.json index 73629f64..8efcb64e 100644 --- a/tests/draft2020-12/unevaluatedProperties.json +++ b/tests/draft2020-12/unevaluatedProperties.json @@ -1569,8 +1569,10 @@ "description": "dependentSchemas with unevaluatedProperties", "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", + "properties": {"foo2": {}}, "dependentSchemas": { - "foo": { + "foo" : {}, + "foo2": { "properties": { "bar":{} } @@ -1585,14 +1587,14 @@ "valid": false }, { - "description": "unevaluatedproperties does't consider inner schema property", + "description": "unevaluatedProperties doesn't consider bar", "data": {"bar": ""}, "valid": false }, { - "description": "unevaluatedProperties doesn't consider both", - "data": {"bar": "", "foo": ""}, - "valid": false + "description": "unevaluatedProperties consider inner schema properties", + "data": { "foo2": "", "bar": ""}, + "valid": true } ] } From 83bedd5c8e8613056e7f932c6a4346786239f671 Mon Sep 17 00:00:00 2001 From: Vinit Pandit <106718914+MeastroZI@users.noreply.github.com> Date: Mon, 15 Apr 2024 14:29:29 +0530 Subject: [PATCH 7/7] Changing descriptions --- tests/draft-next/additionalProperties.json | 8 ++++---- tests/draft-next/unevaluatedProperties.json | 8 ++++---- tests/draft2019-09/additionalProperties.json | 4 ++-- tests/draft2019-09/unevaluatedProperties.json | 4 ++-- tests/draft2020-12/additionalProperties.json | 4 ++-- tests/draft2020-12/unevaluatedProperties.json | 4 ++-- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/tests/draft-next/additionalProperties.json b/tests/draft-next/additionalProperties.json index 44fed037..bb33775e 100644 --- a/tests/draft-next/additionalProperties.json +++ b/tests/draft-next/additionalProperties.json @@ -201,12 +201,12 @@ "valid": false }, { - "description": "additionalProperties doesn't consider the innner schema properties", + "description": "additionalProperties can't see buz even when foo2 is present", "data": {"foo2": "bar", "buz": ""}, "valid": false }, { - "description": "additionalProperties doesn't consider buz", + "description": "additionalProperties can't see buz", "data": {"buz": ""}, "valid": false } @@ -234,12 +234,12 @@ "valid": false }, { - "description": "additionalProperties doesn't consider bar", + "description": "additionalProperties can't see bar", "data": {"bar": ""}, "valid": false }, { - "description": "additionalProperties doesn't consider inner schema properties", + "description": "additionalProperties can't see bar even when foo2 is present", "data": {"foo2": "", "bar": ""}, "valid": false } diff --git a/tests/draft-next/unevaluatedProperties.json b/tests/draft-next/unevaluatedProperties.json index 492e7d49..13fe6e03 100644 --- a/tests/draft-next/unevaluatedProperties.json +++ b/tests/draft-next/unevaluatedProperties.json @@ -1629,12 +1629,12 @@ "valid": false }, { - "description": "unevaluatedProperties consider the innner schema properties", + "description": "unevaluatedProperties sees buz when foo2 is present", "data": {"foo2": "bar", "buz": ""}, "valid": true }, { - "description": "unevaluatedProperties doesn't consider buz", + "description": "unevaluatedProperties doesn't see buz when foo2 is absent", "data": {"buz": ""}, "valid": false } @@ -1662,12 +1662,12 @@ "valid": false }, { - "description": "unevaluatedProperties doesn't consider bar", + "description": "unevaluatedProperties doesn't see bar when foo2 is absent", "data": {"bar": ""}, "valid": false }, { - "description": "unevaluatedProperties consider inner schema properties", + "description": "unevaluatedProperties sees bar when foo2 is present", "data": {"foo2": "", "bar": ""}, "valid": true } diff --git a/tests/draft2019-09/additionalProperties.json b/tests/draft2019-09/additionalProperties.json index 187c54c5..76c67614 100644 --- a/tests/draft2019-09/additionalProperties.json +++ b/tests/draft2019-09/additionalProperties.json @@ -199,12 +199,12 @@ "valid": false }, { - "description": "additionalProperties doesn't consider bar", + "description": "additionalProperties can't see bar", "data": {"bar": ""}, "valid": false }, { - "description": "additionalProperties doesn't consider inner schema properties", + "description": "additionalProperties can't see bar even when foo2 is present", "data": { "foo2": "", "bar": ""}, "valid": false } diff --git a/tests/draft2019-09/unevaluatedProperties.json b/tests/draft2019-09/unevaluatedProperties.json index 7a129663..e8765112 100644 --- a/tests/draft2019-09/unevaluatedProperties.json +++ b/tests/draft2019-09/unevaluatedProperties.json @@ -1590,12 +1590,12 @@ "valid": false }, { - "description": "unevaluatedProperties doesn't consider bar", + "description": "unevaluatedProperties doesn't see bar when foo2 is absent", "data": {"bar": ""}, "valid": false }, { - "description": "unevaluatedProperties consider inner schema properties", + "description": "unevaluatedProperties sees bar when foo2 is present", "data": { "foo2": "", "bar": ""}, "valid": true } diff --git a/tests/draft2020-12/additionalProperties.json b/tests/draft2020-12/additionalProperties.json index d5050711..02de3113 100644 --- a/tests/draft2020-12/additionalProperties.json +++ b/tests/draft2020-12/additionalProperties.json @@ -205,12 +205,12 @@ "valid": false }, { - "description": "additionalProperties doesn't consider bar", + "description": "additionalProperties can't see bar", "data": {"bar": ""}, "valid": false }, { - "description": "additionalProperties doesn't consider inner schema properties", + "description": "additionalProperties can't see bar even when foo2 is present", "data": {"foo2": "", "bar": ""}, "valid": false } diff --git a/tests/draft2020-12/unevaluatedProperties.json b/tests/draft2020-12/unevaluatedProperties.json index 8efcb64e..ae29c9eb 100644 --- a/tests/draft2020-12/unevaluatedProperties.json +++ b/tests/draft2020-12/unevaluatedProperties.json @@ -1587,12 +1587,12 @@ "valid": false }, { - "description": "unevaluatedProperties doesn't consider bar", + "description": "unevaluatedProperties doesn't see bar when foo2 is absent", "data": {"bar": ""}, "valid": false }, { - "description": "unevaluatedProperties consider inner schema properties", + "description": "unevaluatedProperties sees bar when foo2 is present", "data": { "foo2": "", "bar": ""}, "valid": true }