cuelang.org/go@v0.13.0/encoding/jsonschema/testdata/external/tests/draft7/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 { 28 "$ref": "#/definitions/id_in_enum" 29 }, 30 { 31 "$ref": "https://localhost:1234/id/my_identifier.json" 32 } 33 ] 34 }, 35 "tests": [ 36 { 37 "description": "exact match to enum, and type matches", 38 "data": { 39 "$id": "https://localhost:1234/id/my_identifier.json", 40 "type": "null" 41 }, 42 "valid": true 43 }, 44 { 45 "description": "match $ref to id", 46 "data": "a string to match #/definitions/id_in_enum", 47 "valid": true 48 }, 49 { 50 "description": "no match on enum or $ref to id", 51 "data": 1, 52 "valid": false 53 } 54 ] 55 }, 56 { 57 "description": "non-schema object containing a plain-name $id property", 58 "schema": { 59 "definitions": { 60 "const_not_anchor": { 61 "const": { 62 "$id": "#not_a_real_anchor" 63 } 64 } 65 }, 66 "if": { 67 "const": "skip not_a_real_anchor" 68 }, 69 "then": true, 70 "else": { 71 "$ref": "#/definitions/const_not_anchor" 72 } 73 }, 74 "tests": [ 75 { 76 "description": "skip traversing definition for a valid result", 77 "data": "skip not_a_real_anchor", 78 "valid": true 79 }, 80 { 81 "description": "const at const_not_anchor does not match", 82 "data": 1, 83 "valid": false 84 } 85 ] 86 }, 87 { 88 "description": "non-schema object containing an $id property", 89 "schema": { 90 "definitions": { 91 "const_not_id": { 92 "const": { 93 "$id": "not_a_real_id" 94 } 95 } 96 }, 97 "if": { 98 "const": "skip not_a_real_id" 99 }, 100 "then": true, 101 "else": { 102 "$ref": "#/definitions/const_not_id" 103 } 104 }, 105 "tests": [ 106 { 107 "description": "skip traversing definition for a valid result", 108 "data": "skip not_a_real_id", 109 "valid": true 110 }, 111 { 112 "description": "const at const_not_id does not match", 113 "data": 1, 114 "valid": false 115 } 116 ] 117 } 118 ]