[
	{
		"description": "single dependency",
		"schema": {
			"$schema": "https://json-schema.org/draft/2019-09/schema",
			"dependentSchemas": {
				"bar": {
					"properties": {
						"foo": {
							"type": "integer"
						},
						"bar": {
							"type": "integer"
						}
					}
				}
			}
		},
		"skip": {
			"v2": "extract error: keyword \"dependentSchemas\" not yet implemented",
			"v3": "extract error: keyword \"dependentSchemas\" not yet implemented"
		},
		"tests": [
			{
				"description": "valid",
				"data": {
					"foo": 1,
					"bar": 2
				},
				"valid": true,
				"skip": {
					"v2": "could not compile schema",
					"v3": "could not compile schema"
				}
			},
			{
				"description": "no dependency",
				"data": {
					"foo": "quux"
				},
				"valid": true,
				"skip": {
					"v2": "could not compile schema",
					"v3": "could not compile schema"
				}
			},
			{
				"description": "wrong type",
				"data": {
					"foo": "quux",
					"bar": 2
				},
				"valid": false,
				"skip": {
					"v2": "could not compile schema",
					"v3": "could not compile schema"
				}
			},
			{
				"description": "wrong type other",
				"data": {
					"foo": 2,
					"bar": "quux"
				},
				"valid": false,
				"skip": {
					"v2": "could not compile schema",
					"v3": "could not compile schema"
				}
			},
			{
				"description": "wrong type both",
				"data": {
					"foo": "quux",
					"bar": "quux"
				},
				"valid": false,
				"skip": {
					"v2": "could not compile schema",
					"v3": "could not compile schema"
				}
			},
			{
				"description": "ignores arrays",
				"data": [
					"bar"
				],
				"valid": true,
				"skip": {
					"v2": "could not compile schema",
					"v3": "could not compile schema"
				}
			},
			{
				"description": "ignores strings",
				"data": "foobar",
				"valid": true,
				"skip": {
					"v2": "could not compile schema",
					"v3": "could not compile schema"
				}
			},
			{
				"description": "ignores other non-objects",
				"data": 12,
				"valid": true,
				"skip": {
					"v2": "could not compile schema",
					"v3": "could not compile schema"
				}
			}
		]
	},
	{
		"description": "boolean subschemas",
		"schema": {
			"$schema": "https://json-schema.org/draft/2019-09/schema",
			"dependentSchemas": {
				"foo": true,
				"bar": false
			}
		},
		"skip": {
			"v2": "extract error: keyword \"dependentSchemas\" not yet implemented",
			"v3": "extract error: keyword \"dependentSchemas\" not yet implemented"
		},
		"tests": [
			{
				"description": "object with property having schema true is valid",
				"data": {
					"foo": 1
				},
				"valid": true,
				"skip": {
					"v2": "could not compile schema",
					"v3": "could not compile schema"
				}
			},
			{
				"description": "object with property having schema false is invalid",
				"data": {
					"bar": 2
				},
				"valid": false,
				"skip": {
					"v2": "could not compile schema",
					"v3": "could not compile schema"
				}
			},
			{
				"description": "object with both properties is invalid",
				"data": {
					"foo": 1,
					"bar": 2
				},
				"valid": false,
				"skip": {
					"v2": "could not compile schema",
					"v3": "could not compile schema"
				}
			},
			{
				"description": "empty object is valid",
				"data": {},
				"valid": true,
				"skip": {
					"v2": "could not compile schema",
					"v3": "could not compile schema"
				}
			}
		]
	},
	{
		"description": "dependencies with escaped characters",
		"schema": {
			"$schema": "https://json-schema.org/draft/2019-09/schema",
			"dependentSchemas": {
				"foo\tbar": {
					"minProperties": 4
				},
				"foo'bar": {
					"required": [
						"foo\"bar"
					]
				}
			}
		},
		"skip": {
			"v2": "extract error: keyword \"dependentSchemas\" not yet implemented",
			"v3": "extract error: keyword \"dependentSchemas\" not yet implemented"
		},
		"tests": [
			{
				"description": "quoted tab",
				"data": {
					"foo\tbar": 1,
					"a": 2,
					"b": 3,
					"c": 4
				},
				"valid": true,
				"skip": {
					"v2": "could not compile schema",
					"v3": "could not compile schema"
				}
			},
			{
				"description": "quoted quote",
				"data": {
					"foo'bar": {
						"foo\"bar": 1
					}
				},
				"valid": false,
				"skip": {
					"v2": "could not compile schema",
					"v3": "could not compile schema"
				}
			},
			{
				"description": "quoted tab invalid under dependent schema",
				"data": {
					"foo\tbar": 1,
					"a": 2
				},
				"valid": false,
				"skip": {
					"v2": "could not compile schema",
					"v3": "could not compile schema"
				}
			},
			{
				"description": "quoted quote invalid under dependent schema",
				"data": {
					"foo'bar": 1
				},
				"valid": false,
				"skip": {
					"v2": "could not compile schema",
					"v3": "could not compile schema"
				}
			}
		]
	},
	{
		"description": "dependent subschema incompatible with root",
		"schema": {
			"$schema": "https://json-schema.org/draft/2019-09/schema",
			"properties": {
				"foo": {}
			},
			"dependentSchemas": {
				"foo": {
					"properties": {
						"bar": {}
					},
					"additionalProperties": false
				}
			}
		},
		"skip": {
			"v2": "extract error: keyword \"dependentSchemas\" not yet implemented",
			"v3": "extract error: keyword \"dependentSchemas\" not yet implemented"
		},
		"tests": [
			{
				"description": "matches root",
				"data": {
					"foo": 1
				},
				"valid": false,
				"skip": {
					"v2": "could not compile schema",
					"v3": "could not compile schema"
				}
			},
			{
				"description": "matches dependency",
				"data": {
					"bar": 1
				},
				"valid": true,
				"skip": {
					"v2": "could not compile schema",
					"v3": "could not compile schema"
				}
			},
			{
				"description": "matches both",
				"data": {
					"foo": 1,
					"bar": 2
				},
				"valid": false,
				"skip": {
					"v2": "could not compile schema",
					"v3": "could not compile schema"
				}
			},
			{
				"description": "no dependency",
				"data": {
					"baz": 1
				},
				"valid": true,
				"skip": {
					"v2": "could not compile schema",
					"v3": "could not compile schema"
				}
			}
		]
	}
]
