cuelang.org/go@v0.13.0/encoding/jsonschema/testdata/external/tests/draft2019-09/unevaluatedItems.json (about) 1 [ 2 { 3 "description": "unevaluatedItems true", 4 "schema": { 5 "$schema": "https://json-schema.org/draft/2019-09/schema", 6 "unevaluatedItems": true 7 }, 8 "skip": { 9 "v2": "extract error: keyword \"unevaluatedItems\" not yet implemented", 10 "v3": "extract error: keyword \"unevaluatedItems\" not yet implemented" 11 }, 12 "tests": [ 13 { 14 "description": "with no unevaluated items", 15 "data": [], 16 "valid": true, 17 "skip": { 18 "v2": "could not compile schema", 19 "v3": "could not compile schema" 20 } 21 }, 22 { 23 "description": "with unevaluated items", 24 "data": [ 25 "foo" 26 ], 27 "valid": true, 28 "skip": { 29 "v2": "could not compile schema", 30 "v3": "could not compile schema" 31 } 32 } 33 ] 34 }, 35 { 36 "description": "unevaluatedItems false", 37 "schema": { 38 "$schema": "https://json-schema.org/draft/2019-09/schema", 39 "unevaluatedItems": false 40 }, 41 "skip": { 42 "v2": "extract error: keyword \"unevaluatedItems\" not yet implemented", 43 "v3": "extract error: keyword \"unevaluatedItems\" not yet implemented" 44 }, 45 "tests": [ 46 { 47 "description": "with no unevaluated items", 48 "data": [], 49 "valid": true, 50 "skip": { 51 "v2": "could not compile schema", 52 "v3": "could not compile schema" 53 } 54 }, 55 { 56 "description": "with unevaluated items", 57 "data": [ 58 "foo" 59 ], 60 "valid": false, 61 "skip": { 62 "v2": "could not compile schema", 63 "v3": "could not compile schema" 64 } 65 } 66 ] 67 }, 68 { 69 "description": "unevaluatedItems as schema", 70 "schema": { 71 "$schema": "https://json-schema.org/draft/2019-09/schema", 72 "unevaluatedItems": { 73 "type": "string" 74 } 75 }, 76 "skip": { 77 "v2": "extract error: keyword \"unevaluatedItems\" not yet implemented", 78 "v3": "extract error: keyword \"unevaluatedItems\" not yet implemented" 79 }, 80 "tests": [ 81 { 82 "description": "with no unevaluated items", 83 "data": [], 84 "valid": true, 85 "skip": { 86 "v2": "could not compile schema", 87 "v3": "could not compile schema" 88 } 89 }, 90 { 91 "description": "with valid unevaluated items", 92 "data": [ 93 "foo" 94 ], 95 "valid": true, 96 "skip": { 97 "v2": "could not compile schema", 98 "v3": "could not compile schema" 99 } 100 }, 101 { 102 "description": "with invalid unevaluated items", 103 "data": [ 104 42 105 ], 106 "valid": false, 107 "skip": { 108 "v2": "could not compile schema", 109 "v3": "could not compile schema" 110 } 111 } 112 ] 113 }, 114 { 115 "description": "unevaluatedItems with uniform items", 116 "schema": { 117 "$schema": "https://json-schema.org/draft/2019-09/schema", 118 "items": { 119 "type": "string" 120 }, 121 "unevaluatedItems": false 122 }, 123 "skip": { 124 "v2": "extract error: keyword \"unevaluatedItems\" not yet implemented", 125 "v3": "extract error: keyword \"unevaluatedItems\" not yet implemented" 126 }, 127 "tests": [ 128 { 129 "description": "unevaluatedItems doesn't apply", 130 "data": [ 131 "foo", 132 "bar" 133 ], 134 "valid": true, 135 "skip": { 136 "v2": "could not compile schema", 137 "v3": "could not compile schema" 138 } 139 } 140 ] 141 }, 142 { 143 "description": "unevaluatedItems with tuple", 144 "schema": { 145 "$schema": "https://json-schema.org/draft/2019-09/schema", 146 "items": [ 147 { 148 "type": "string" 149 } 150 ], 151 "unevaluatedItems": false 152 }, 153 "skip": { 154 "v2": "extract error: keyword \"unevaluatedItems\" not yet implemented", 155 "v3": "extract error: keyword \"unevaluatedItems\" not yet implemented" 156 }, 157 "tests": [ 158 { 159 "description": "with no unevaluated items", 160 "data": [ 161 "foo" 162 ], 163 "valid": true, 164 "skip": { 165 "v2": "could not compile schema", 166 "v3": "could not compile schema" 167 } 168 }, 169 { 170 "description": "with unevaluated items", 171 "data": [ 172 "foo", 173 "bar" 174 ], 175 "valid": false, 176 "skip": { 177 "v2": "could not compile schema", 178 "v3": "could not compile schema" 179 } 180 } 181 ] 182 }, 183 { 184 "description": "unevaluatedItems with items and additionalItems", 185 "schema": { 186 "$schema": "https://json-schema.org/draft/2019-09/schema", 187 "items": [ 188 { 189 "type": "string" 190 } 191 ], 192 "additionalItems": true, 193 "unevaluatedItems": false 194 }, 195 "skip": { 196 "v2": "extract error: keyword \"unevaluatedItems\" not yet implemented", 197 "v3": "extract error: keyword \"unevaluatedItems\" not yet implemented" 198 }, 199 "tests": [ 200 { 201 "description": "unevaluatedItems doesn't apply", 202 "data": [ 203 "foo", 204 42 205 ], 206 "valid": true, 207 "skip": { 208 "v2": "could not compile schema", 209 "v3": "could not compile schema" 210 } 211 } 212 ] 213 }, 214 { 215 "description": "unevaluatedItems with ignored additionalItems", 216 "schema": { 217 "$schema": "https://json-schema.org/draft/2019-09/schema", 218 "additionalItems": { 219 "type": "number" 220 }, 221 "unevaluatedItems": { 222 "type": "string" 223 } 224 }, 225 "skip": { 226 "v2": "extract error: keyword \"unevaluatedItems\" not yet implemented", 227 "v3": "extract error: keyword \"unevaluatedItems\" not yet implemented" 228 }, 229 "tests": [ 230 { 231 "description": "invalid under unevaluatedItems", 232 "comment": "additionalItems is entirely ignored when items isn't present, so all elements need to be valid against the unevaluatedItems schema", 233 "data": [ 234 "foo", 235 1 236 ], 237 "valid": false, 238 "skip": { 239 "v2": "could not compile schema", 240 "v3": "could not compile schema" 241 } 242 }, 243 { 244 "description": "all valid under unevaluatedItems", 245 "data": [ 246 "foo", 247 "bar", 248 "baz" 249 ], 250 "valid": true, 251 "skip": { 252 "v2": "could not compile schema", 253 "v3": "could not compile schema" 254 } 255 } 256 ] 257 }, 258 { 259 "description": "unevaluatedItems with ignored applicator additionalItems", 260 "schema": { 261 "$schema": "https://json-schema.org/draft/2019-09/schema", 262 "allOf": [ 263 { 264 "additionalItems": { 265 "type": "number" 266 } 267 } 268 ], 269 "unevaluatedItems": { 270 "type": "string" 271 } 272 }, 273 "skip": { 274 "v2": "extract error: keyword \"unevaluatedItems\" not yet implemented", 275 "v3": "extract error: keyword \"unevaluatedItems\" not yet implemented" 276 }, 277 "tests": [ 278 { 279 "description": "invalid under unevaluatedItems", 280 "comment": "additionalItems is entirely ignored when items isn't present, so all elements need to be valid against the unevaluatedItems schema", 281 "data": [ 282 "foo", 283 1 284 ], 285 "valid": false, 286 "skip": { 287 "v2": "could not compile schema", 288 "v3": "could not compile schema" 289 } 290 }, 291 { 292 "description": "all valid under unevaluatedItems", 293 "data": [ 294 "foo", 295 "bar", 296 "baz" 297 ], 298 "valid": true, 299 "skip": { 300 "v2": "could not compile schema", 301 "v3": "could not compile schema" 302 } 303 } 304 ] 305 }, 306 { 307 "description": "unevaluatedItems with nested tuple", 308 "schema": { 309 "$schema": "https://json-schema.org/draft/2019-09/schema", 310 "items": [ 311 { 312 "type": "string" 313 } 314 ], 315 "allOf": [ 316 { 317 "items": [ 318 true, 319 { 320 "type": "number" 321 } 322 ] 323 } 324 ], 325 "unevaluatedItems": false 326 }, 327 "skip": { 328 "v2": "extract error: keyword \"unevaluatedItems\" not yet implemented", 329 "v3": "extract error: keyword \"unevaluatedItems\" not yet implemented" 330 }, 331 "tests": [ 332 { 333 "description": "with no unevaluated items", 334 "data": [ 335 "foo", 336 42 337 ], 338 "valid": true, 339 "skip": { 340 "v2": "could not compile schema", 341 "v3": "could not compile schema" 342 } 343 }, 344 { 345 "description": "with unevaluated items", 346 "data": [ 347 "foo", 348 42, 349 true 350 ], 351 "valid": false, 352 "skip": { 353 "v2": "could not compile schema", 354 "v3": "could not compile schema" 355 } 356 } 357 ] 358 }, 359 { 360 "description": "unevaluatedItems with nested items", 361 "schema": { 362 "$schema": "https://json-schema.org/draft/2019-09/schema", 363 "unevaluatedItems": { 364 "type": "boolean" 365 }, 366 "anyOf": [ 367 { 368 "items": { 369 "type": "string" 370 } 371 }, 372 true 373 ] 374 }, 375 "skip": { 376 "v2": "extract error: keyword \"unevaluatedItems\" not yet implemented", 377 "v3": "extract error: keyword \"unevaluatedItems\" not yet implemented" 378 }, 379 "tests": [ 380 { 381 "description": "with only (valid) additional items", 382 "data": [ 383 true, 384 false 385 ], 386 "valid": true, 387 "skip": { 388 "v2": "could not compile schema", 389 "v3": "could not compile schema" 390 } 391 }, 392 { 393 "description": "with no additional items", 394 "data": [ 395 "yes", 396 "no" 397 ], 398 "valid": true, 399 "skip": { 400 "v2": "could not compile schema", 401 "v3": "could not compile schema" 402 } 403 }, 404 { 405 "description": "with invalid additional item", 406 "data": [ 407 "yes", 408 false 409 ], 410 "valid": false, 411 "skip": { 412 "v2": "could not compile schema", 413 "v3": "could not compile schema" 414 } 415 } 416 ] 417 }, 418 { 419 "description": "unevaluatedItems with nested items and additionalItems", 420 "schema": { 421 "$schema": "https://json-schema.org/draft/2019-09/schema", 422 "allOf": [ 423 { 424 "items": [ 425 { 426 "type": "string" 427 } 428 ], 429 "additionalItems": true 430 } 431 ], 432 "unevaluatedItems": false 433 }, 434 "skip": { 435 "v2": "extract error: keyword \"unevaluatedItems\" not yet implemented", 436 "v3": "extract error: keyword \"unevaluatedItems\" not yet implemented" 437 }, 438 "tests": [ 439 { 440 "description": "with no additional items", 441 "data": [ 442 "foo" 443 ], 444 "valid": true, 445 "skip": { 446 "v2": "could not compile schema", 447 "v3": "could not compile schema" 448 } 449 }, 450 { 451 "description": "with additional items", 452 "data": [ 453 "foo", 454 42, 455 true 456 ], 457 "valid": true, 458 "skip": { 459 "v2": "could not compile schema", 460 "v3": "could not compile schema" 461 } 462 } 463 ] 464 }, 465 { 466 "description": "unevaluatedItems with nested unevaluatedItems", 467 "schema": { 468 "$schema": "https://json-schema.org/draft/2019-09/schema", 469 "allOf": [ 470 { 471 "items": [ 472 { 473 "type": "string" 474 } 475 ] 476 }, 477 { 478 "unevaluatedItems": true 479 } 480 ], 481 "unevaluatedItems": false 482 }, 483 "skip": { 484 "v2": "extract error: keyword \"unevaluatedItems\" not yet implemented (and 1 more errors)", 485 "v3": "extract error: keyword \"unevaluatedItems\" not yet implemented (and 1 more errors)" 486 }, 487 "tests": [ 488 { 489 "description": "with no additional items", 490 "data": [ 491 "foo" 492 ], 493 "valid": true, 494 "skip": { 495 "v2": "could not compile schema", 496 "v3": "could not compile schema" 497 } 498 }, 499 { 500 "description": "with additional items", 501 "data": [ 502 "foo", 503 42, 504 true 505 ], 506 "valid": true, 507 "skip": { 508 "v2": "could not compile schema", 509 "v3": "could not compile schema" 510 } 511 } 512 ] 513 }, 514 { 515 "description": "unevaluatedItems with anyOf", 516 "schema": { 517 "$schema": "https://json-schema.org/draft/2019-09/schema", 518 "items": [ 519 { 520 "const": "foo" 521 } 522 ], 523 "anyOf": [ 524 { 525 "items": [ 526 true, 527 { 528 "const": "bar" 529 } 530 ] 531 }, 532 { 533 "items": [ 534 true, 535 true, 536 { 537 "const": "baz" 538 } 539 ] 540 } 541 ], 542 "unevaluatedItems": false 543 }, 544 "skip": { 545 "v2": "extract error: keyword \"unevaluatedItems\" not yet implemented", 546 "v3": "extract error: keyword \"unevaluatedItems\" not yet implemented" 547 }, 548 "tests": [ 549 { 550 "description": "when one schema matches and has no unevaluated items", 551 "data": [ 552 "foo", 553 "bar" 554 ], 555 "valid": true, 556 "skip": { 557 "v2": "could not compile schema", 558 "v3": "could not compile schema" 559 } 560 }, 561 { 562 "description": "when one schema matches and has unevaluated items", 563 "data": [ 564 "foo", 565 "bar", 566 42 567 ], 568 "valid": false, 569 "skip": { 570 "v2": "could not compile schema", 571 "v3": "could not compile schema" 572 } 573 }, 574 { 575 "description": "when two schemas match and has no unevaluated items", 576 "data": [ 577 "foo", 578 "bar", 579 "baz" 580 ], 581 "valid": true, 582 "skip": { 583 "v2": "could not compile schema", 584 "v3": "could not compile schema" 585 } 586 }, 587 { 588 "description": "when two schemas match and has unevaluated items", 589 "data": [ 590 "foo", 591 "bar", 592 "baz", 593 42 594 ], 595 "valid": false, 596 "skip": { 597 "v2": "could not compile schema", 598 "v3": "could not compile schema" 599 } 600 } 601 ] 602 }, 603 { 604 "description": "unevaluatedItems with oneOf", 605 "schema": { 606 "$schema": "https://json-schema.org/draft/2019-09/schema", 607 "items": [ 608 { 609 "const": "foo" 610 } 611 ], 612 "oneOf": [ 613 { 614 "items": [ 615 true, 616 { 617 "const": "bar" 618 } 619 ] 620 }, 621 { 622 "items": [ 623 true, 624 { 625 "const": "baz" 626 } 627 ] 628 } 629 ], 630 "unevaluatedItems": false 631 }, 632 "skip": { 633 "v2": "extract error: keyword \"unevaluatedItems\" not yet implemented", 634 "v3": "extract error: keyword \"unevaluatedItems\" not yet implemented" 635 }, 636 "tests": [ 637 { 638 "description": "with no unevaluated items", 639 "data": [ 640 "foo", 641 "bar" 642 ], 643 "valid": true, 644 "skip": { 645 "v2": "could not compile schema", 646 "v3": "could not compile schema" 647 } 648 }, 649 { 650 "description": "with unevaluated items", 651 "data": [ 652 "foo", 653 "bar", 654 42 655 ], 656 "valid": false, 657 "skip": { 658 "v2": "could not compile schema", 659 "v3": "could not compile schema" 660 } 661 } 662 ] 663 }, 664 { 665 "description": "unevaluatedItems with not", 666 "schema": { 667 "$schema": "https://json-schema.org/draft/2019-09/schema", 668 "items": [ 669 { 670 "const": "foo" 671 } 672 ], 673 "not": { 674 "not": { 675 "items": [ 676 true, 677 { 678 "const": "bar" 679 } 680 ] 681 } 682 }, 683 "unevaluatedItems": false 684 }, 685 "skip": { 686 "v2": "extract error: keyword \"unevaluatedItems\" not yet implemented", 687 "v3": "extract error: keyword \"unevaluatedItems\" not yet implemented" 688 }, 689 "tests": [ 690 { 691 "description": "with unevaluated items", 692 "data": [ 693 "foo", 694 "bar" 695 ], 696 "valid": false, 697 "skip": { 698 "v2": "could not compile schema", 699 "v3": "could not compile schema" 700 } 701 } 702 ] 703 }, 704 { 705 "description": "unevaluatedItems with if/then/else", 706 "schema": { 707 "$schema": "https://json-schema.org/draft/2019-09/schema", 708 "items": [ 709 { 710 "const": "foo" 711 } 712 ], 713 "if": { 714 "items": [ 715 true, 716 { 717 "const": "bar" 718 } 719 ] 720 }, 721 "then": { 722 "items": [ 723 true, 724 true, 725 { 726 "const": "then" 727 } 728 ] 729 }, 730 "else": { 731 "items": [ 732 true, 733 true, 734 true, 735 { 736 "const": "else" 737 } 738 ] 739 }, 740 "unevaluatedItems": false 741 }, 742 "skip": { 743 "v2": "extract error: keyword \"unevaluatedItems\" not yet implemented", 744 "v3": "extract error: keyword \"unevaluatedItems\" not yet implemented" 745 }, 746 "tests": [ 747 { 748 "description": "when if matches and it has no unevaluated items", 749 "data": [ 750 "foo", 751 "bar", 752 "then" 753 ], 754 "valid": true, 755 "skip": { 756 "v2": "could not compile schema", 757 "v3": "could not compile schema" 758 } 759 }, 760 { 761 "description": "when if matches and it has unevaluated items", 762 "data": [ 763 "foo", 764 "bar", 765 "then", 766 "else" 767 ], 768 "valid": false, 769 "skip": { 770 "v2": "could not compile schema", 771 "v3": "could not compile schema" 772 } 773 }, 774 { 775 "description": "when if doesn't match and it has no unevaluated items", 776 "data": [ 777 "foo", 778 42, 779 42, 780 "else" 781 ], 782 "valid": true, 783 "skip": { 784 "v2": "could not compile schema", 785 "v3": "could not compile schema" 786 } 787 }, 788 { 789 "description": "when if doesn't match and it has unevaluated items", 790 "data": [ 791 "foo", 792 42, 793 42, 794 "else", 795 42 796 ], 797 "valid": false, 798 "skip": { 799 "v2": "could not compile schema", 800 "v3": "could not compile schema" 801 } 802 } 803 ] 804 }, 805 { 806 "description": "unevaluatedItems with boolean schemas", 807 "schema": { 808 "$schema": "https://json-schema.org/draft/2019-09/schema", 809 "allOf": [ 810 true 811 ], 812 "unevaluatedItems": false 813 }, 814 "skip": { 815 "v2": "extract error: keyword \"unevaluatedItems\" not yet implemented", 816 "v3": "extract error: keyword \"unevaluatedItems\" not yet implemented" 817 }, 818 "tests": [ 819 { 820 "description": "with no unevaluated items", 821 "data": [], 822 "valid": true, 823 "skip": { 824 "v2": "could not compile schema", 825 "v3": "could not compile schema" 826 } 827 }, 828 { 829 "description": "with unevaluated items", 830 "data": [ 831 "foo" 832 ], 833 "valid": false, 834 "skip": { 835 "v2": "could not compile schema", 836 "v3": "could not compile schema" 837 } 838 } 839 ] 840 }, 841 { 842 "description": "unevaluatedItems with $ref", 843 "schema": { 844 "$schema": "https://json-schema.org/draft/2019-09/schema", 845 "$ref": "#/$defs/bar", 846 "items": [ 847 { 848 "type": "string" 849 } 850 ], 851 "unevaluatedItems": false, 852 "$defs": { 853 "bar": { 854 "items": [ 855 true, 856 { 857 "type": "string" 858 } 859 ] 860 } 861 } 862 }, 863 "skip": { 864 "v2": "extract error: keyword \"unevaluatedItems\" not yet implemented (and 1 more errors)", 865 "v3": "extract error: keyword \"unevaluatedItems\" not yet implemented (and 1 more errors)" 866 }, 867 "tests": [ 868 { 869 "description": "with no unevaluated items", 870 "data": [ 871 "foo", 872 "bar" 873 ], 874 "valid": true, 875 "skip": { 876 "v2": "could not compile schema", 877 "v3": "could not compile schema" 878 } 879 }, 880 { 881 "description": "with unevaluated items", 882 "data": [ 883 "foo", 884 "bar", 885 "baz" 886 ], 887 "valid": false, 888 "skip": { 889 "v2": "could not compile schema", 890 "v3": "could not compile schema" 891 } 892 } 893 ] 894 }, 895 { 896 "description": "unevaluatedItems before $ref", 897 "schema": { 898 "$schema": "https://json-schema.org/draft/2019-09/schema", 899 "unevaluatedItems": false, 900 "items": [ 901 { 902 "type": "string" 903 } 904 ], 905 "$ref": "#/$defs/bar", 906 "$defs": { 907 "bar": { 908 "items": [ 909 true, 910 { 911 "type": "string" 912 } 913 ] 914 } 915 } 916 }, 917 "skip": { 918 "v2": "extract error: keyword \"unevaluatedItems\" not yet implemented (and 1 more errors)", 919 "v3": "extract error: keyword \"unevaluatedItems\" not yet implemented (and 1 more errors)" 920 }, 921 "tests": [ 922 { 923 "description": "with no unevaluated items", 924 "data": [ 925 "foo", 926 "bar" 927 ], 928 "valid": true, 929 "skip": { 930 "v2": "could not compile schema", 931 "v3": "could not compile schema" 932 } 933 }, 934 { 935 "description": "with unevaluated items", 936 "data": [ 937 "foo", 938 "bar", 939 "baz" 940 ], 941 "valid": false, 942 "skip": { 943 "v2": "could not compile schema", 944 "v3": "could not compile schema" 945 } 946 } 947 ] 948 }, 949 { 950 "description": "unevaluatedItems with $recursiveRef", 951 "schema": { 952 "$schema": "https://json-schema.org/draft/2019-09/schema", 953 "$id": "https://example.com/unevaluated-items-with-recursive-ref/extended-tree", 954 "$recursiveAnchor": true, 955 "$ref": "./tree", 956 "items": [ 957 true, 958 true, 959 { 960 "type": "string" 961 } 962 ], 963 "$defs": { 964 "tree": { 965 "$id": "./tree", 966 "$recursiveAnchor": true, 967 "type": "array", 968 "items": [ 969 { 970 "type": "number" 971 }, 972 { 973 "$comment": "unevaluatedItems comes first so it's more likely to catch bugs with implementations that are sensitive to keyword ordering", 974 "unevaluatedItems": false, 975 "$recursiveRef": "#" 976 } 977 ] 978 } 979 } 980 }, 981 "skip": { 982 "v2": "extract error: keyword \"$recursiveAnchor\" not yet implemented (and 7 more errors)", 983 "v3": "extract error: keyword \"$recursiveAnchor\" not yet implemented (and 7 more errors)" 984 }, 985 "tests": [ 986 { 987 "description": "with no unevaluated items", 988 "data": [ 989 1, 990 [ 991 2, 992 [], 993 "b" 994 ], 995 "a" 996 ], 997 "valid": true, 998 "skip": { 999 "v2": "could not compile schema", 1000 "v3": "could not compile schema" 1001 } 1002 }, 1003 { 1004 "description": "with unevaluated items", 1005 "data": [ 1006 1, 1007 [ 1008 2, 1009 [], 1010 "b", 1011 "too many" 1012 ], 1013 "a" 1014 ], 1015 "valid": false, 1016 "skip": { 1017 "v2": "could not compile schema", 1018 "v3": "could not compile schema" 1019 } 1020 } 1021 ] 1022 }, 1023 { 1024 "description": "unevaluatedItems can't see inside cousins", 1025 "schema": { 1026 "$schema": "https://json-schema.org/draft/2019-09/schema", 1027 "allOf": [ 1028 { 1029 "items": [ 1030 true 1031 ] 1032 }, 1033 { 1034 "unevaluatedItems": false 1035 } 1036 ] 1037 }, 1038 "skip": { 1039 "v2": "extract error: keyword \"unevaluatedItems\" not yet implemented", 1040 "v3": "extract error: keyword \"unevaluatedItems\" not yet implemented" 1041 }, 1042 "tests": [ 1043 { 1044 "description": "always fails", 1045 "data": [ 1046 1 1047 ], 1048 "valid": false, 1049 "skip": { 1050 "v2": "could not compile schema", 1051 "v3": "could not compile schema" 1052 } 1053 } 1054 ] 1055 }, 1056 { 1057 "description": "item is evaluated in an uncle schema to unevaluatedItems", 1058 "schema": { 1059 "$schema": "https://json-schema.org/draft/2019-09/schema", 1060 "properties": { 1061 "foo": { 1062 "items": [ 1063 { 1064 "type": "string" 1065 } 1066 ], 1067 "unevaluatedItems": false 1068 } 1069 }, 1070 "anyOf": [ 1071 { 1072 "properties": { 1073 "foo": { 1074 "items": [ 1075 true, 1076 { 1077 "type": "string" 1078 } 1079 ] 1080 } 1081 } 1082 } 1083 ] 1084 }, 1085 "skip": { 1086 "v2": "extract error: keyword \"unevaluatedItems\" not yet implemented", 1087 "v3": "extract error: keyword \"unevaluatedItems\" not yet implemented" 1088 }, 1089 "tests": [ 1090 { 1091 "description": "no extra items", 1092 "data": { 1093 "foo": [ 1094 "test" 1095 ] 1096 }, 1097 "valid": true, 1098 "skip": { 1099 "v2": "could not compile schema", 1100 "v3": "could not compile schema" 1101 } 1102 }, 1103 { 1104 "description": "uncle keyword evaluation is not significant", 1105 "data": { 1106 "foo": [ 1107 "test", 1108 "test" 1109 ] 1110 }, 1111 "valid": false, 1112 "skip": { 1113 "v2": "could not compile schema", 1114 "v3": "could not compile schema" 1115 } 1116 } 1117 ] 1118 }, 1119 { 1120 "description": "non-array instances are valid", 1121 "schema": { 1122 "$schema": "https://json-schema.org/draft/2019-09/schema", 1123 "unevaluatedItems": false 1124 }, 1125 "skip": { 1126 "v2": "extract error: keyword \"unevaluatedItems\" not yet implemented", 1127 "v3": "extract error: keyword \"unevaluatedItems\" not yet implemented" 1128 }, 1129 "tests": [ 1130 { 1131 "description": "ignores booleans", 1132 "data": true, 1133 "valid": true, 1134 "skip": { 1135 "v2": "could not compile schema", 1136 "v3": "could not compile schema" 1137 } 1138 }, 1139 { 1140 "description": "ignores integers", 1141 "data": 123, 1142 "valid": true, 1143 "skip": { 1144 "v2": "could not compile schema", 1145 "v3": "could not compile schema" 1146 } 1147 }, 1148 { 1149 "description": "ignores floats", 1150 "data": 1.0, 1151 "valid": true, 1152 "skip": { 1153 "v2": "could not compile schema", 1154 "v3": "could not compile schema" 1155 } 1156 }, 1157 { 1158 "description": "ignores objects", 1159 "data": {}, 1160 "valid": true, 1161 "skip": { 1162 "v2": "could not compile schema", 1163 "v3": "could not compile schema" 1164 } 1165 }, 1166 { 1167 "description": "ignores strings", 1168 "data": "foo", 1169 "valid": true, 1170 "skip": { 1171 "v2": "could not compile schema", 1172 "v3": "could not compile schema" 1173 } 1174 }, 1175 { 1176 "description": "ignores null", 1177 "data": null, 1178 "valid": true, 1179 "skip": { 1180 "v2": "could not compile schema", 1181 "v3": "could not compile schema" 1182 } 1183 } 1184 ] 1185 }, 1186 { 1187 "description": "unevaluatedItems with null instance elements", 1188 "schema": { 1189 "$schema": "https://json-schema.org/draft/2019-09/schema", 1190 "unevaluatedItems": { 1191 "type": "null" 1192 } 1193 }, 1194 "skip": { 1195 "v2": "extract error: keyword \"unevaluatedItems\" not yet implemented", 1196 "v3": "extract error: keyword \"unevaluatedItems\" not yet implemented" 1197 }, 1198 "tests": [ 1199 { 1200 "description": "allows null elements", 1201 "data": [ 1202 null 1203 ], 1204 "valid": true, 1205 "skip": { 1206 "v2": "could not compile schema", 1207 "v3": "could not compile schema" 1208 } 1209 } 1210 ] 1211 }, 1212 { 1213 "description": "unevaluatedItems can see annotations from if without then and else", 1214 "schema": { 1215 "$schema": "https://json-schema.org/draft/2019-09/schema", 1216 "if": { 1217 "items": [ 1218 { 1219 "const": "a" 1220 } 1221 ] 1222 }, 1223 "unevaluatedItems": false 1224 }, 1225 "skip": { 1226 "v2": "extract error: keyword \"unevaluatedItems\" not yet implemented", 1227 "v3": "extract error: keyword \"unevaluatedItems\" not yet implemented" 1228 }, 1229 "tests": [ 1230 { 1231 "description": "valid in case if is evaluated", 1232 "data": [ 1233 "a" 1234 ], 1235 "valid": true, 1236 "skip": { 1237 "v2": "could not compile schema", 1238 "v3": "could not compile schema" 1239 } 1240 }, 1241 { 1242 "description": "invalid in case if is evaluated", 1243 "data": [ 1244 "b" 1245 ], 1246 "valid": false, 1247 "skip": { 1248 "v2": "could not compile schema", 1249 "v3": "could not compile schema" 1250 } 1251 } 1252 ] 1253 } 1254 ]