[ { "description": "single dependency", "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "dependentRequired": { "bar": [ "foo" ] } }, "tests": [ { "description": "neither", "data": {}, "valid": true }, { "description": "nondependant", "data": {}, "valid": true }, { "description": "with dependency", "data": {}, "valid": true }, { "description": "missing dependency", "data": {}, "valid": false } ] }, { "description": "empty dependents", "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "dependentRequired": { "bar": [] } }, "tests": [ { "description": "empty object", "data": {}, "valid": true }, { "description": "object with one property", "data": {}, "valid": true }, { "description": "non-object is valid", "data": 1, "valid": true } ] }, { "description": "multiple dependents required", "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "dependentRequired": { "quux": [ "foo", "bar" ] } }, "tests": [ { "description": "neither", "data": {}, "valid": true }, { "description": "nondependants", "data": {}, "valid": true }, { "description": "with dependencies", "data": {}, "valid": true }, { "description": "missing dependency", "data": {}, "valid": false }, { "description": "missing other dependency", "data": {}, "valid": false }, { "description": "missing both dependencies", "data": {}, "valid": false } ] }, { "description": "dependencies with escaped characters", "schema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "dependentRequired": { "foo\nbar": [ "foo\rbar" ], "foo\"bar": [ "foo'bar" ] } }, "tests": [ { "description": "CRLF", "data": {}, "valid": true }, { "description": "quoted quotes", "data": {}, "valid": true }, { "description": "CRLF missing dependent", "data": {}, "valid": false }, { "description": "quoted quotes missing dependent", "data": {}, "valid": false } ] } ]