github.com/kaptinlin/jsonschema@v0.4.6/testdata/JSON-Schema-Test-Suite/tests/draft6/optional/id.json (about) 1 [ 2 { 3 "description": "id inside an enum is not a real identifier", 4 "comment": "the implementation must not be confused by an id buried in the enum", 5 "schema": { 6 "definitions": { 7 "id_in_enum": { 8 "enum": [ 9 { 10 "$id": "https://localhost:1234/id/my_identifier.json", 11 "type": "null" 12 } 13 ] 14 }, 15 "real_id_in_schema": { 16 "$id": "https://localhost:1234/id/my_identifier.json", 17 "type": "string" 18 }, 19 "zzz_id_in_const": { 20 "const": { 21 "$id": "https://localhost:1234/id/my_identifier.json", 22 "type": "null" 23 } 24 } 25 }, 26 "anyOf": [ 27 { "$ref": "#/definitions/id_in_enum" }, 28 { "$ref": "https://localhost:1234/id/my_identifier.json" } 29 ] 30 }, 31 "tests": [ 32 { 33 "description": "exact match to enum, and type matches", 34 "data": { 35 "$id": "https://localhost:1234/id/my_identifier.json", 36 "type": "null" 37 }, 38 "valid": true 39 }, 40 { 41 "description": "match $ref to id", 42 "data": "a string to match #/definitions/id_in_enum", 43 "valid": true 44 }, 45 { 46 "description": "no match on enum or $ref to id", 47 "data": 1, 48 "valid": false 49 } 50 ] 51 }, 52 { 53 "description": "non-schema object containing a plain-name $id property", 54 "schema": { 55 "definitions": { 56 "const_not_anchor": { 57 "const": { 58 "$id": "#not_a_real_anchor" 59 } 60 } 61 }, 62 "oneOf": [ 63 { 64 "const": "skip not_a_real_anchor" 65 }, 66 { 67 "allOf": [ 68 { 69 "not": { 70 "const": "skip not_a_real_anchor" 71 } 72 }, 73 { 74 "$ref": "#/definitions/const_not_anchor" 75 } 76 ] 77 } 78 ] 79 }, 80 "tests": [ 81 { 82 "description": "skip traversing definition for a valid result", 83 "data": "skip not_a_real_anchor", 84 "valid": true 85 }, 86 { 87 "description": "const at const_not_anchor does not match", 88 "data": 1, 89 "valid": false 90 } 91 ] 92 }, 93 { 94 "description": "non-schema object containing an $id property", 95 "schema": { 96 "definitions": { 97 "const_not_id": { 98 "const": { 99 "$id": "not_a_real_id" 100 } 101 } 102 }, 103 "oneOf": [ 104 { 105 "const":"skip not_a_real_id" 106 }, 107 { 108 "allOf": [ 109 { 110 "not": { 111 "const": "skip not_a_real_id" 112 } 113 }, 114 { 115 "$ref": "#/definitions/const_not_id" 116 } 117 ] 118 } 119 ] 120 }, 121 "tests": [ 122 { 123 "description": "skip traversing definition for a valid result", 124 "data": "skip not_a_real_id", 125 "valid": true 126 }, 127 { 128 "description": "const at const_not_id does not match", 129 "data": 1, 130 "valid": false 131 } 132 ] 133 } 134 ]