[
	{
		"description": "single dependency",
		"schema": {
			"$schema": "https://json-schema.org/draft/2019-09/schema",
			"dependentRequired": {
				"bar": [
					"foo"
				]
			}
		},
		"skip": {
			"v3-roundtrip": "generation only supported in version https://json-schema.org/draft/2020-12/schema"
		},
		"tests": [
			{
				"description": "neither",
				"data": {},
				"valid": true,
				"skip": {
					"v3-roundtrip": "could not extract schema"
				}
			},
			{
				"description": "nondependant",
				"data": {
					"foo": 1
				},
				"valid": true,
				"skip": {
					"v3-roundtrip": "could not extract schema"
				}
			},
			{
				"description": "with dependency",
				"data": {
					"foo": 1,
					"bar": 2
				},
				"valid": true,
				"skip": {
					"v3-roundtrip": "could not extract schema"
				}
			},
			{
				"description": "missing dependency",
				"data": {
					"bar": 2
				},
				"valid": false,
				"skip": {
					"v3-roundtrip": "could not extract schema"
				}
			},
			{
				"description": "ignores arrays",
				"data": [
					"bar"
				],
				"valid": true,
				"skip": {
					"v3-roundtrip": "could not extract schema"
				}
			},
			{
				"description": "ignores strings",
				"data": "foobar",
				"valid": true,
				"skip": {
					"v3-roundtrip": "could not extract schema"
				}
			},
			{
				"description": "ignores other non-objects",
				"data": 12,
				"valid": true,
				"skip": {
					"v3-roundtrip": "could not extract schema"
				}
			}
		]
	},
	{
		"description": "empty dependents",
		"schema": {
			"$schema": "https://json-schema.org/draft/2019-09/schema",
			"dependentRequired": {
				"bar": []
			}
		},
		"skip": {
			"v3-roundtrip": "generation only supported in version https://json-schema.org/draft/2020-12/schema"
		},
		"tests": [
			{
				"description": "empty object",
				"data": {},
				"valid": true,
				"skip": {
					"v3-roundtrip": "could not extract schema"
				}
			},
			{
				"description": "object with one property",
				"data": {
					"bar": 2
				},
				"valid": true,
				"skip": {
					"v3-roundtrip": "could not extract schema"
				}
			},
			{
				"description": "non-object is valid",
				"data": 1,
				"valid": true,
				"skip": {
					"v3-roundtrip": "could not extract schema"
				}
			}
		]
	},
	{
		"description": "multiple dependents required",
		"schema": {
			"$schema": "https://json-schema.org/draft/2019-09/schema",
			"dependentRequired": {
				"quux": [
					"foo",
					"bar"
				]
			}
		},
		"skip": {
			"v3-roundtrip": "generation only supported in version https://json-schema.org/draft/2020-12/schema"
		},
		"tests": [
			{
				"description": "neither",
				"data": {},
				"valid": true,
				"skip": {
					"v3-roundtrip": "could not extract schema"
				}
			},
			{
				"description": "nondependants",
				"data": {
					"foo": 1,
					"bar": 2
				},
				"valid": true,
				"skip": {
					"v3-roundtrip": "could not extract schema"
				}
			},
			{
				"description": "with dependencies",
				"data": {
					"foo": 1,
					"bar": 2,
					"quux": 3
				},
				"valid": true,
				"skip": {
					"v3-roundtrip": "could not extract schema"
				}
			},
			{
				"description": "missing dependency",
				"data": {
					"foo": 1,
					"quux": 2
				},
				"valid": false,
				"skip": {
					"v3-roundtrip": "could not extract schema"
				}
			},
			{
				"description": "missing other dependency",
				"data": {
					"bar": 1,
					"quux": 2
				},
				"valid": false,
				"skip": {
					"v3-roundtrip": "could not extract schema"
				}
			},
			{
				"description": "missing both dependencies",
				"data": {
					"quux": 1
				},
				"valid": false,
				"skip": {
					"v3-roundtrip": "could not extract schema"
				}
			}
		]
	},
	{
		"description": "dependencies with escaped characters",
		"schema": {
			"$schema": "https://json-schema.org/draft/2019-09/schema",
			"dependentRequired": {
				"foo\nbar": [
					"foo\rbar"
				],
				"foo\"bar": [
					"foo'bar"
				]
			}
		},
		"skip": {
			"v3-roundtrip": "generation only supported in version https://json-schema.org/draft/2020-12/schema"
		},
		"tests": [
			{
				"description": "CRLF",
				"data": {
					"foo\nbar": 1,
					"foo\rbar": 2
				},
				"valid": true,
				"skip": {
					"v3-roundtrip": "could not extract schema"
				}
			},
			{
				"description": "quoted quotes",
				"data": {
					"foo'bar": 1,
					"foo\"bar": 2
				},
				"valid": true,
				"skip": {
					"v3-roundtrip": "could not extract schema"
				}
			},
			{
				"description": "CRLF missing dependent",
				"data": {
					"foo\nbar": 1,
					"foo": 2
				},
				"valid": false,
				"skip": {
					"v3-roundtrip": "could not extract schema"
				}
			},
			{
				"description": "quoted quotes missing dependent",
				"data": {
					"foo\"bar": 2
				},
				"valid": false,
				"skip": {
					"v3-roundtrip": "could not extract schema"
				}
			}
		]
	}
]
