cuelang.org/go@v0.13.0/encoding/jsonschema/testdata/external/tests/draft6/optional/format/ipv6.json (about) 1 [ 2 { 3 "description": "validation of IPv6 addresses", 4 "schema": { 5 "format": "ipv6" 6 }, 7 "tests": [ 8 { 9 "description": "all string formats ignore integers", 10 "data": 12, 11 "valid": true 12 }, 13 { 14 "description": "all string formats ignore floats", 15 "data": 13.7, 16 "valid": true 17 }, 18 { 19 "description": "all string formats ignore objects", 20 "data": {}, 21 "valid": true 22 }, 23 { 24 "description": "all string formats ignore arrays", 25 "data": [], 26 "valid": true 27 }, 28 { 29 "description": "all string formats ignore booleans", 30 "data": false, 31 "valid": true 32 }, 33 { 34 "description": "all string formats ignore nulls", 35 "data": null, 36 "valid": true 37 }, 38 { 39 "description": "a valid IPv6 address", 40 "data": "::1", 41 "valid": true 42 }, 43 { 44 "description": "an IPv6 address with out-of-range values", 45 "data": "12345::", 46 "valid": false, 47 "skip": { 48 "v2": "unexpected success", 49 "v3": "unexpected success" 50 } 51 }, 52 { 53 "description": "trailing 4 hex symbols is valid", 54 "data": "::abef", 55 "valid": true 56 }, 57 { 58 "description": "trailing 5 hex symbols is invalid", 59 "data": "::abcef", 60 "valid": false, 61 "skip": { 62 "v2": "unexpected success", 63 "v3": "unexpected success" 64 } 65 }, 66 { 67 "description": "an IPv6 address with too many components", 68 "data": "1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1", 69 "valid": false, 70 "skip": { 71 "v2": "unexpected success", 72 "v3": "unexpected success" 73 } 74 }, 75 { 76 "description": "an IPv6 address containing illegal characters", 77 "data": "::laptop", 78 "valid": false, 79 "skip": { 80 "v2": "unexpected success", 81 "v3": "unexpected success" 82 } 83 }, 84 { 85 "description": "no digits is valid", 86 "data": "::", 87 "valid": true 88 }, 89 { 90 "description": "leading colons is valid", 91 "data": "::42:ff:1", 92 "valid": true 93 }, 94 { 95 "description": "trailing colons is valid", 96 "data": "d6::", 97 "valid": true 98 }, 99 { 100 "description": "missing leading octet is invalid", 101 "data": ":2:3:4:5:6:7:8", 102 "valid": false, 103 "skip": { 104 "v2": "unexpected success", 105 "v3": "unexpected success" 106 } 107 }, 108 { 109 "description": "missing trailing octet is invalid", 110 "data": "1:2:3:4:5:6:7:", 111 "valid": false, 112 "skip": { 113 "v2": "unexpected success", 114 "v3": "unexpected success" 115 } 116 }, 117 { 118 "description": "missing leading octet with omitted octets later", 119 "data": ":2:3:4::8", 120 "valid": false, 121 "skip": { 122 "v2": "unexpected success", 123 "v3": "unexpected success" 124 } 125 }, 126 { 127 "description": "single set of double colons in the middle is valid", 128 "data": "1:d6::42", 129 "valid": true 130 }, 131 { 132 "description": "two sets of double colons is invalid", 133 "data": "1::d6::42", 134 "valid": false, 135 "skip": { 136 "v2": "unexpected success", 137 "v3": "unexpected success" 138 } 139 }, 140 { 141 "description": "mixed format with the ipv4 section as decimal octets", 142 "data": "1::d6:192.168.0.1", 143 "valid": true 144 }, 145 { 146 "description": "mixed format with double colons between the sections", 147 "data": "1:2::192.168.0.1", 148 "valid": true 149 }, 150 { 151 "description": "mixed format with ipv4 section with octet out of range", 152 "data": "1::2:192.168.256.1", 153 "valid": false, 154 "skip": { 155 "v2": "unexpected success", 156 "v3": "unexpected success" 157 } 158 }, 159 { 160 "description": "mixed format with ipv4 section with a hex octet", 161 "data": "1::2:192.168.ff.1", 162 "valid": false, 163 "skip": { 164 "v2": "unexpected success", 165 "v3": "unexpected success" 166 } 167 }, 168 { 169 "description": "mixed format with leading double colons (ipv4-mapped ipv6 address)", 170 "data": "::ffff:192.168.0.1", 171 "valid": true 172 }, 173 { 174 "description": "triple colons is invalid", 175 "data": "1:2:3:4:5:::8", 176 "valid": false, 177 "skip": { 178 "v2": "unexpected success", 179 "v3": "unexpected success" 180 } 181 }, 182 { 183 "description": "8 octets", 184 "data": "1:2:3:4:5:6:7:8", 185 "valid": true 186 }, 187 { 188 "description": "insufficient octets without double colons", 189 "data": "1:2:3:4:5:6:7", 190 "valid": false, 191 "skip": { 192 "v2": "unexpected success", 193 "v3": "unexpected success" 194 } 195 }, 196 { 197 "description": "no colons is invalid", 198 "data": "1", 199 "valid": false, 200 "skip": { 201 "v2": "unexpected success", 202 "v3": "unexpected success" 203 } 204 }, 205 { 206 "description": "ipv4 is not ipv6", 207 "data": "127.0.0.1", 208 "valid": false, 209 "skip": { 210 "v2": "unexpected success", 211 "v3": "unexpected success" 212 } 213 }, 214 { 215 "description": "ipv4 segment must have 4 octets", 216 "data": "1:2:3:4:1.2.3", 217 "valid": false, 218 "skip": { 219 "v2": "unexpected success", 220 "v3": "unexpected success" 221 } 222 }, 223 { 224 "description": "leading whitespace is invalid", 225 "data": " ::1", 226 "valid": false, 227 "skip": { 228 "v2": "unexpected success", 229 "v3": "unexpected success" 230 } 231 }, 232 { 233 "description": "trailing whitespace is invalid", 234 "data": "::1 ", 235 "valid": false, 236 "skip": { 237 "v2": "unexpected success", 238 "v3": "unexpected success" 239 } 240 }, 241 { 242 "description": "netmask is not a part of ipv6 address", 243 "data": "fe80::/64", 244 "valid": false, 245 "skip": { 246 "v2": "unexpected success", 247 "v3": "unexpected success" 248 } 249 }, 250 { 251 "description": "zone id is not a part of ipv6 address", 252 "data": "fe80::a%eth1", 253 "valid": false, 254 "skip": { 255 "v2": "unexpected success", 256 "v3": "unexpected success" 257 } 258 }, 259 { 260 "description": "a long valid ipv6", 261 "data": "1000:1000:1000:1000:1000:1000:255.255.255.255", 262 "valid": true 263 }, 264 { 265 "description": "a long invalid ipv6, below length limit, first", 266 "data": "100:100:100:100:100:100:255.255.255.255.255", 267 "valid": false, 268 "skip": { 269 "v2": "unexpected success", 270 "v3": "unexpected success" 271 } 272 }, 273 { 274 "description": "a long invalid ipv6, below length limit, second", 275 "data": "100:100:100:100:100:100:100:255.255.255.255", 276 "valid": false, 277 "skip": { 278 "v2": "unexpected success", 279 "v3": "unexpected success" 280 } 281 }, 282 { 283 "description": "invalid non-ASCII '৪' (a Bengali 4)", 284 "data": "1:2:3:4:5:6:7:৪", 285 "valid": false, 286 "skip": { 287 "v2": "unexpected success", 288 "v3": "unexpected success" 289 } 290 }, 291 { 292 "description": "invalid non-ASCII '৪' (a Bengali 4) in the IPv4 portion", 293 "data": "1:2::192.16৪.0.1", 294 "valid": false, 295 "skip": { 296 "v2": "unexpected success", 297 "v3": "unexpected success" 298 } 299 } 300 ] 301 } 302 ]