[
	{
		"description": "id inside an enum is not a real identifier",
		"comment": "the implementation must not be confused by an id buried in the enum",
		"schema": {
			"definitions": {
				"id_in_enum": {
					"enum": [
						{
							"$id": "https://localhost:1234/id/my_identifier.json",
							"type": "null"
						}
					]
				},
				"real_id_in_schema": {
					"$id": "https://localhost:1234/id/my_identifier.json",
					"type": "string"
				},
				"zzz_id_in_const": {
					"const": {
						"$id": "https://localhost:1234/id/my_identifier.json",
						"type": "null"
					}
				}
			},
			"anyOf": [
				{
					"$ref": "#/definitions/id_in_enum"
				},
				{
					"$ref": "https://localhost:1234/id/my_identifier.json"
				}
			]
		},
		"skip": {
			"v3-roundtrip": "generation only supported in version https://json-schema.org/draft/2020-12/schema"
		},
		"tests": [
			{
				"description": "exact match to enum, and type matches",
				"data": {
					"$id": "https://localhost:1234/id/my_identifier.json",
					"type": "null"
				},
				"valid": true,
				"skip": {
					"v3-roundtrip": "could not extract schema"
				}
			},
			{
				"description": "match $ref to id",
				"data": "a string to match #/definitions/id_in_enum",
				"valid": true,
				"skip": {
					"v3-roundtrip": "could not extract schema"
				}
			},
			{
				"description": "no match on enum or $ref to id",
				"data": 1,
				"valid": false,
				"skip": {
					"v3-roundtrip": "could not extract schema"
				}
			}
		]
	},
	{
		"description": "non-schema object containing a plain-name $id property",
		"schema": {
			"definitions": {
				"const_not_anchor": {
					"const": {
						"$id": "#not_a_real_anchor"
					}
				}
			},
			"oneOf": [
				{
					"const": "skip not_a_real_anchor"
				},
				{
					"allOf": [
						{
							"not": {
								"const": "skip not_a_real_anchor"
							}
						},
						{
							"$ref": "#/definitions/const_not_anchor"
						}
					]
				}
			]
		},
		"skip": {
			"v3-roundtrip": "generation only supported in version https://json-schema.org/draft/2020-12/schema"
		},
		"tests": [
			{
				"description": "skip traversing definition for a valid result",
				"data": "skip not_a_real_anchor",
				"valid": true,
				"skip": {
					"v3-roundtrip": "could not extract schema"
				}
			},
			{
				"description": "const at const_not_anchor does not match",
				"data": 1,
				"valid": false,
				"skip": {
					"v3-roundtrip": "could not extract schema"
				}
			}
		]
	},
	{
		"description": "non-schema object containing an $id property",
		"schema": {
			"definitions": {
				"const_not_id": {
					"const": {
						"$id": "not_a_real_id"
					}
				}
			},
			"oneOf": [
				{
					"const": "skip not_a_real_id"
				},
				{
					"allOf": [
						{
							"not": {
								"const": "skip not_a_real_id"
							}
						},
						{
							"$ref": "#/definitions/const_not_id"
						}
					]
				}
			]
		},
		"skip": {
			"v3-roundtrip": "generation only supported in version https://json-schema.org/draft/2020-12/schema"
		},
		"tests": [
			{
				"description": "skip traversing definition for a valid result",
				"data": "skip not_a_real_id",
				"valid": true,
				"skip": {
					"v3-roundtrip": "could not extract schema"
				}
			},
			{
				"description": "const at const_not_id does not match",
				"data": 1,
				"valid": false,
				"skip": {
					"v3-roundtrip": "could not extract schema"
				}
			}
		]
	}
]
