cuelang.org/go@v0.13.0/encoding/jsonschema/testdata/external/tests/draft2019-09/enum.json (about) 1 [ 2 { 3 "description": "simple enum validation", 4 "schema": { 5 "$schema": "https://json-schema.org/draft/2019-09/schema", 6 "enum": [ 7 1, 8 2, 9 3 10 ] 11 }, 12 "tests": [ 13 { 14 "description": "one of the enum is valid", 15 "data": 1, 16 "valid": true 17 }, 18 { 19 "description": "something else is invalid", 20 "data": 4, 21 "valid": false 22 } 23 ] 24 }, 25 { 26 "description": "heterogeneous enum validation", 27 "schema": { 28 "$schema": "https://json-schema.org/draft/2019-09/schema", 29 "enum": [ 30 6, 31 "foo", 32 [], 33 true, 34 { 35 "foo": 12 36 } 37 ] 38 }, 39 "tests": [ 40 { 41 "description": "one of the enum is valid", 42 "data": [], 43 "valid": true 44 }, 45 { 46 "description": "something else is invalid", 47 "data": null, 48 "valid": false 49 }, 50 { 51 "description": "objects are deep compared", 52 "data": { 53 "foo": false 54 }, 55 "valid": false 56 }, 57 { 58 "description": "valid object matches", 59 "data": { 60 "foo": 12 61 }, 62 "valid": true 63 }, 64 { 65 "description": "extra properties in object is invalid", 66 "data": { 67 "foo": 12, 68 "boo": 42 69 }, 70 "valid": false 71 } 72 ] 73 }, 74 { 75 "description": "heterogeneous enum-with-null validation", 76 "schema": { 77 "$schema": "https://json-schema.org/draft/2019-09/schema", 78 "enum": [ 79 6, 80 null 81 ] 82 }, 83 "tests": [ 84 { 85 "description": "null is valid", 86 "data": null, 87 "valid": true 88 }, 89 { 90 "description": "number is valid", 91 "data": 6, 92 "valid": true 93 }, 94 { 95 "description": "something else is invalid", 96 "data": "test", 97 "valid": false 98 } 99 ] 100 }, 101 { 102 "description": "enums in properties", 103 "schema": { 104 "$schema": "https://json-schema.org/draft/2019-09/schema", 105 "type": "object", 106 "properties": { 107 "foo": { 108 "enum": [ 109 "foo" 110 ] 111 }, 112 "bar": { 113 "enum": [ 114 "bar" 115 ] 116 } 117 }, 118 "required": [ 119 "bar" 120 ] 121 }, 122 "tests": [ 123 { 124 "description": "both properties are valid", 125 "data": { 126 "foo": "foo", 127 "bar": "bar" 128 }, 129 "valid": true 130 }, 131 { 132 "description": "wrong foo value", 133 "data": { 134 "foo": "foot", 135 "bar": "bar" 136 }, 137 "valid": false 138 }, 139 { 140 "description": "wrong bar value", 141 "data": { 142 "foo": "foo", 143 "bar": "bart" 144 }, 145 "valid": false 146 }, 147 { 148 "description": "missing optional property is valid", 149 "data": { 150 "bar": "bar" 151 }, 152 "valid": true 153 }, 154 { 155 "description": "missing required property is invalid", 156 "data": { 157 "foo": "foo" 158 }, 159 "valid": false 160 }, 161 { 162 "description": "missing all properties is invalid", 163 "data": {}, 164 "valid": false 165 } 166 ] 167 }, 168 { 169 "description": "enum with escaped characters", 170 "schema": { 171 "$schema": "https://json-schema.org/draft/2019-09/schema", 172 "enum": [ 173 "foo\nbar", 174 "foo\rbar" 175 ] 176 }, 177 "tests": [ 178 { 179 "description": "member 1 is valid", 180 "data": "foo\nbar", 181 "valid": true 182 }, 183 { 184 "description": "member 2 is valid", 185 "data": "foo\rbar", 186 "valid": true 187 }, 188 { 189 "description": "another string is invalid", 190 "data": "abc", 191 "valid": false 192 } 193 ] 194 }, 195 { 196 "description": "enum with false does not match 0", 197 "schema": { 198 "$schema": "https://json-schema.org/draft/2019-09/schema", 199 "enum": [ 200 false 201 ] 202 }, 203 "tests": [ 204 { 205 "description": "false is valid", 206 "data": false, 207 "valid": true 208 }, 209 { 210 "description": "integer zero is invalid", 211 "data": 0, 212 "valid": false 213 }, 214 { 215 "description": "float zero is invalid", 216 "data": 0.0, 217 "valid": false 218 } 219 ] 220 }, 221 { 222 "description": "enum with [false] does not match [0]", 223 "schema": { 224 "$schema": "https://json-schema.org/draft/2019-09/schema", 225 "enum": [ 226 [ 227 false 228 ] 229 ] 230 }, 231 "tests": [ 232 { 233 "description": "[false] is valid", 234 "data": [ 235 false 236 ], 237 "valid": true 238 }, 239 { 240 "description": "[0] is invalid", 241 "data": [ 242 0 243 ], 244 "valid": false 245 }, 246 { 247 "description": "[0.0] is invalid", 248 "data": [ 249 0.0 250 ], 251 "valid": false 252 } 253 ] 254 }, 255 { 256 "description": "enum with true does not match 1", 257 "schema": { 258 "$schema": "https://json-schema.org/draft/2019-09/schema", 259 "enum": [ 260 true 261 ] 262 }, 263 "tests": [ 264 { 265 "description": "true is valid", 266 "data": true, 267 "valid": true 268 }, 269 { 270 "description": "integer one is invalid", 271 "data": 1, 272 "valid": false 273 }, 274 { 275 "description": "float one is invalid", 276 "data": 1.0, 277 "valid": false 278 } 279 ] 280 }, 281 { 282 "description": "enum with [true] does not match [1]", 283 "schema": { 284 "$schema": "https://json-schema.org/draft/2019-09/schema", 285 "enum": [ 286 [ 287 true 288 ] 289 ] 290 }, 291 "tests": [ 292 { 293 "description": "[true] is valid", 294 "data": [ 295 true 296 ], 297 "valid": true 298 }, 299 { 300 "description": "[1] is invalid", 301 "data": [ 302 1 303 ], 304 "valid": false 305 }, 306 { 307 "description": "[1.0] is invalid", 308 "data": [ 309 1.0 310 ], 311 "valid": false 312 } 313 ] 314 }, 315 { 316 "description": "enum with 0 does not match false", 317 "schema": { 318 "$schema": "https://json-schema.org/draft/2019-09/schema", 319 "enum": [ 320 0 321 ] 322 }, 323 "tests": [ 324 { 325 "description": "false is invalid", 326 "data": false, 327 "valid": false 328 }, 329 { 330 "description": "integer zero is valid", 331 "data": 0, 332 "valid": true 333 }, 334 { 335 "description": "float zero is valid", 336 "data": 0.0, 337 "valid": true, 338 "skip": { 339 "v2": "conflicting values 0.0 and 0 (mismatched types float and int):\n generated.cue:3:1\n instance.json:1:1\n", 340 "v3": "conflicting values 0.0 and 0 (mismatched types float and int):\n generated.cue:3:1\n instance.json:1:1\n" 341 } 342 } 343 ] 344 }, 345 { 346 "description": "enum with [0] does not match [false]", 347 "schema": { 348 "$schema": "https://json-schema.org/draft/2019-09/schema", 349 "enum": [ 350 [ 351 0 352 ] 353 ] 354 }, 355 "tests": [ 356 { 357 "description": "[false] is invalid", 358 "data": [ 359 false 360 ], 361 "valid": false 362 }, 363 { 364 "description": "[0] is valid", 365 "data": [ 366 0 367 ], 368 "valid": true 369 }, 370 { 371 "description": "[0.0] is valid", 372 "data": [ 373 0.0 374 ], 375 "valid": true, 376 "skip": { 377 "v2": "0: conflicting values 0.0 and 0 (mismatched types float and int):\n generated.cue:3:1\n generated.cue:3:2\n instance.json:1:2\n", 378 "v3": "0: conflicting values 0.0 and 0 (mismatched types float and int):\n generated.cue:3:2\n instance.json:1:2\n" 379 } 380 } 381 ] 382 }, 383 { 384 "description": "enum with 1 does not match true", 385 "schema": { 386 "$schema": "https://json-schema.org/draft/2019-09/schema", 387 "enum": [ 388 1 389 ] 390 }, 391 "tests": [ 392 { 393 "description": "true is invalid", 394 "data": true, 395 "valid": false 396 }, 397 { 398 "description": "integer one is valid", 399 "data": 1, 400 "valid": true 401 }, 402 { 403 "description": "float one is valid", 404 "data": 1.0, 405 "valid": true, 406 "skip": { 407 "v2": "conflicting values 1.0 and 1 (mismatched types float and int):\n generated.cue:3:1\n instance.json:1:1\n", 408 "v3": "conflicting values 1.0 and 1 (mismatched types float and int):\n generated.cue:3:1\n instance.json:1:1\n" 409 } 410 } 411 ] 412 }, 413 { 414 "description": "enum with [1] does not match [true]", 415 "schema": { 416 "$schema": "https://json-schema.org/draft/2019-09/schema", 417 "enum": [ 418 [ 419 1 420 ] 421 ] 422 }, 423 "tests": [ 424 { 425 "description": "[true] is invalid", 426 "data": [ 427 true 428 ], 429 "valid": false 430 }, 431 { 432 "description": "[1] is valid", 433 "data": [ 434 1 435 ], 436 "valid": true 437 }, 438 { 439 "description": "[1.0] is valid", 440 "data": [ 441 1.0 442 ], 443 "valid": true, 444 "skip": { 445 "v2": "0: conflicting values 1.0 and 1 (mismatched types float and int):\n generated.cue:3:1\n generated.cue:3:2\n instance.json:1:2\n", 446 "v3": "0: conflicting values 1.0 and 1 (mismatched types float and int):\n generated.cue:3:2\n instance.json:1:2\n" 447 } 448 } 449 ] 450 }, 451 { 452 "description": "nul characters in strings", 453 "schema": { 454 "$schema": "https://json-schema.org/draft/2019-09/schema", 455 "enum": [ 456 "hello\u0000there" 457 ] 458 }, 459 "tests": [ 460 { 461 "description": "match string with nul", 462 "data": "hello\u0000there", 463 "valid": true 464 }, 465 { 466 "description": "do not match string lacking nul", 467 "data": "hellothere", 468 "valid": false 469 } 470 ] 471 } 472 ]