summaryrefslogtreecommitdiff
path: root/json/tests/draft2019-09/dependentRequired.json
diff options
context:
space:
mode:
authorJulian Berman <Julian@GrayVines.com>2020-03-04 15:40:25 -0500
committerJulian Berman <Julian@GrayVines.com>2020-03-04 15:40:25 -0500
commit2ab84f8410a7dc9c8c266646cb2784b1d378165f (patch)
tree76827e08ca71db651ab5024429c17818b39564cd /json/tests/draft2019-09/dependentRequired.json
parent5f908e41b3f423bd4b38300dfc3bb7d9a15be21d (diff)
parent11df97257859996434f37e33ad3d8cf2bd3606da (diff)
downloadjsonschema-2ab84f8410a7dc9c8c266646cb2784b1d378165f.tar.gz
Merge commit '11df97257859996434f37e33ad3d8cf2bd3606da'
* commit '11df97257859996434f37e33ad3d8cf2bd3606da': Squashed 'json/' changes from d52866b3..b70c5626
Diffstat (limited to 'json/tests/draft2019-09/dependentRequired.json')
-rw-r--r--json/tests/draft2019-09/dependentRequired.json142
1 files changed, 142 insertions, 0 deletions
diff --git a/json/tests/draft2019-09/dependentRequired.json b/json/tests/draft2019-09/dependentRequired.json
new file mode 100644
index 0000000..c817120
--- /dev/null
+++ b/json/tests/draft2019-09/dependentRequired.json
@@ -0,0 +1,142 @@
+[
+ {
+ "description": "single dependency",
+ "schema": {"dependentRequired": {"bar": ["foo"]}},
+ "tests": [
+ {
+ "description": "neither",
+ "data": {},
+ "valid": true
+ },
+ {
+ "description": "nondependant",
+ "data": {"foo": 1},
+ "valid": true
+ },
+ {
+ "description": "with dependency",
+ "data": {"foo": 1, "bar": 2},
+ "valid": true
+ },
+ {
+ "description": "missing dependency",
+ "data": {"bar": 2},
+ "valid": false
+ },
+ {
+ "description": "ignores arrays",
+ "data": ["bar"],
+ "valid": true
+ },
+ {
+ "description": "ignores strings",
+ "data": "foobar",
+ "valid": true
+ },
+ {
+ "description": "ignores other non-objects",
+ "data": 12,
+ "valid": true
+ }
+ ]
+ },
+ {
+ "description": "empty dependents",
+ "schema": {"dependentRequired": {"bar": []}},
+ "tests": [
+ {
+ "description": "empty object",
+ "data": {},
+ "valid": true
+ },
+ {
+ "description": "object with one property",
+ "data": {"bar": 2},
+ "valid": true
+ },
+ {
+ "description": "non-object is valid",
+ "data": 1,
+ "valid": true
+ }
+ ]
+ },
+ {
+ "description": "multiple dependents required",
+ "schema": {"dependentRequired": {"quux": ["foo", "bar"]}},
+ "tests": [
+ {
+ "description": "neither",
+ "data": {},
+ "valid": true
+ },
+ {
+ "description": "nondependants",
+ "data": {"foo": 1, "bar": 2},
+ "valid": true
+ },
+ {
+ "description": "with dependencies",
+ "data": {"foo": 1, "bar": 2, "quux": 3},
+ "valid": true
+ },
+ {
+ "description": "missing dependency",
+ "data": {"foo": 1, "quux": 2},
+ "valid": false
+ },
+ {
+ "description": "missing other dependency",
+ "data": {"bar": 1, "quux": 2},
+ "valid": false
+ },
+ {
+ "description": "missing both dependencies",
+ "data": {"quux": 1},
+ "valid": false
+ }
+ ]
+ },
+ {
+ "description": "dependencies with escaped characters",
+ "schema": {
+ "dependentRequired": {
+ "foo\nbar": ["foo\rbar"],
+ "foo\"bar": ["foo'bar"]
+ }
+ },
+ "tests": [
+ {
+ "description": "CRLF",
+ "data": {
+ "foo\nbar": 1,
+ "foo\rbar": 2
+ },
+ "valid": true
+ },
+ {
+ "description": "quoted quotes",
+ "data": {
+ "foo'bar": 1,
+ "foo\"bar": 2
+ },
+ "valid": true
+ },
+ {
+ "description": "CRLF missing dependent",
+ "data": {
+ "foo\nbar": 1,
+ "foo": 2
+ },
+ "valid": false
+ },
+ {
+ "description": "quoted quotes missing dependent",
+ "data": {
+ "foo\"bar": 2
+ },
+ "valid": false
+ }
+ ]
+ }
+]