cuelang.org/go@v0.13.0/encoding/jsonschema/testdata/external/tests/draft2020-12/unevaluatedItems.json (about)

     1  [
     2  	{
     3  		"description": "unevaluatedItems true",
     4  		"schema": {
     5  			"$schema": "https://json-schema.org/draft/2020-12/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/2020-12/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/2020-12/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/2020-12/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/2020-12/schema",
   146  			"prefixItems": [
   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 prefixItems",
   185  		"schema": {
   186  			"$schema": "https://json-schema.org/draft/2020-12/schema",
   187  			"prefixItems": [
   188  				{
   189  					"type": "string"
   190  				}
   191  			],
   192  			"items": 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 items",
   216  		"schema": {
   217  			"$schema": "https://json-schema.org/draft/2020-12/schema",
   218  			"items": {
   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": "valid under items",
   232  				"comment": "no elements are considered by unevaluatedItems",
   233  				"data": [
   234  					5,
   235  					6,
   236  					7,
   237  					8
   238  				],
   239  				"valid": true,
   240  				"skip": {
   241  					"v2": "could not compile schema",
   242  					"v3": "could not compile schema"
   243  				}
   244  			},
   245  			{
   246  				"description": "invalid under items",
   247  				"data": [
   248  					"foo",
   249  					"bar",
   250  					"baz"
   251  				],
   252  				"valid": false,
   253  				"skip": {
   254  					"v2": "could not compile schema",
   255  					"v3": "could not compile schema"
   256  				}
   257  			}
   258  		]
   259  	},
   260  	{
   261  		"description": "unevaluatedItems with nested tuple",
   262  		"schema": {
   263  			"$schema": "https://json-schema.org/draft/2020-12/schema",
   264  			"prefixItems": [
   265  				{
   266  					"type": "string"
   267  				}
   268  			],
   269  			"allOf": [
   270  				{
   271  					"prefixItems": [
   272  						true,
   273  						{
   274  							"type": "number"
   275  						}
   276  					]
   277  				}
   278  			],
   279  			"unevaluatedItems": false
   280  		},
   281  		"skip": {
   282  			"v2": "extract error: keyword \"unevaluatedItems\" not yet implemented",
   283  			"v3": "extract error: keyword \"unevaluatedItems\" not yet implemented"
   284  		},
   285  		"tests": [
   286  			{
   287  				"description": "with no unevaluated items",
   288  				"data": [
   289  					"foo",
   290  					42
   291  				],
   292  				"valid": true,
   293  				"skip": {
   294  					"v2": "could not compile schema",
   295  					"v3": "could not compile schema"
   296  				}
   297  			},
   298  			{
   299  				"description": "with unevaluated items",
   300  				"data": [
   301  					"foo",
   302  					42,
   303  					true
   304  				],
   305  				"valid": false,
   306  				"skip": {
   307  					"v2": "could not compile schema",
   308  					"v3": "could not compile schema"
   309  				}
   310  			}
   311  		]
   312  	},
   313  	{
   314  		"description": "unevaluatedItems with nested items",
   315  		"schema": {
   316  			"$schema": "https://json-schema.org/draft/2020-12/schema",
   317  			"unevaluatedItems": {
   318  				"type": "boolean"
   319  			},
   320  			"anyOf": [
   321  				{
   322  					"items": {
   323  						"type": "string"
   324  					}
   325  				},
   326  				true
   327  			]
   328  		},
   329  		"skip": {
   330  			"v2": "extract error: keyword \"unevaluatedItems\" not yet implemented",
   331  			"v3": "extract error: keyword \"unevaluatedItems\" not yet implemented"
   332  		},
   333  		"tests": [
   334  			{
   335  				"description": "with only (valid) additional items",
   336  				"data": [
   337  					true,
   338  					false
   339  				],
   340  				"valid": true,
   341  				"skip": {
   342  					"v2": "could not compile schema",
   343  					"v3": "could not compile schema"
   344  				}
   345  			},
   346  			{
   347  				"description": "with no additional items",
   348  				"data": [
   349  					"yes",
   350  					"no"
   351  				],
   352  				"valid": true,
   353  				"skip": {
   354  					"v2": "could not compile schema",
   355  					"v3": "could not compile schema"
   356  				}
   357  			},
   358  			{
   359  				"description": "with invalid additional item",
   360  				"data": [
   361  					"yes",
   362  					false
   363  				],
   364  				"valid": false,
   365  				"skip": {
   366  					"v2": "could not compile schema",
   367  					"v3": "could not compile schema"
   368  				}
   369  			}
   370  		]
   371  	},
   372  	{
   373  		"description": "unevaluatedItems with nested prefixItems and items",
   374  		"schema": {
   375  			"$schema": "https://json-schema.org/draft/2020-12/schema",
   376  			"allOf": [
   377  				{
   378  					"prefixItems": [
   379  						{
   380  							"type": "string"
   381  						}
   382  					],
   383  					"items": true
   384  				}
   385  			],
   386  			"unevaluatedItems": false
   387  		},
   388  		"skip": {
   389  			"v2": "extract error: keyword \"unevaluatedItems\" not yet implemented",
   390  			"v3": "extract error: keyword \"unevaluatedItems\" not yet implemented"
   391  		},
   392  		"tests": [
   393  			{
   394  				"description": "with no additional items",
   395  				"data": [
   396  					"foo"
   397  				],
   398  				"valid": true,
   399  				"skip": {
   400  					"v2": "could not compile schema",
   401  					"v3": "could not compile schema"
   402  				}
   403  			},
   404  			{
   405  				"description": "with additional items",
   406  				"data": [
   407  					"foo",
   408  					42,
   409  					true
   410  				],
   411  				"valid": true,
   412  				"skip": {
   413  					"v2": "could not compile schema",
   414  					"v3": "could not compile schema"
   415  				}
   416  			}
   417  		]
   418  	},
   419  	{
   420  		"description": "unevaluatedItems with nested unevaluatedItems",
   421  		"schema": {
   422  			"$schema": "https://json-schema.org/draft/2020-12/schema",
   423  			"allOf": [
   424  				{
   425  					"prefixItems": [
   426  						{
   427  							"type": "string"
   428  						}
   429  					]
   430  				},
   431  				{
   432  					"unevaluatedItems": true
   433  				}
   434  			],
   435  			"unevaluatedItems": false
   436  		},
   437  		"skip": {
   438  			"v2": "extract error: keyword \"unevaluatedItems\" not yet implemented (and 1 more errors)",
   439  			"v3": "extract error: keyword \"unevaluatedItems\" not yet implemented (and 1 more errors)"
   440  		},
   441  		"tests": [
   442  			{
   443  				"description": "with no additional items",
   444  				"data": [
   445  					"foo"
   446  				],
   447  				"valid": true,
   448  				"skip": {
   449  					"v2": "could not compile schema",
   450  					"v3": "could not compile schema"
   451  				}
   452  			},
   453  			{
   454  				"description": "with additional items",
   455  				"data": [
   456  					"foo",
   457  					42,
   458  					true
   459  				],
   460  				"valid": true,
   461  				"skip": {
   462  					"v2": "could not compile schema",
   463  					"v3": "could not compile schema"
   464  				}
   465  			}
   466  		]
   467  	},
   468  	{
   469  		"description": "unevaluatedItems with anyOf",
   470  		"schema": {
   471  			"$schema": "https://json-schema.org/draft/2020-12/schema",
   472  			"prefixItems": [
   473  				{
   474  					"const": "foo"
   475  				}
   476  			],
   477  			"anyOf": [
   478  				{
   479  					"prefixItems": [
   480  						true,
   481  						{
   482  							"const": "bar"
   483  						}
   484  					]
   485  				},
   486  				{
   487  					"prefixItems": [
   488  						true,
   489  						true,
   490  						{
   491  							"const": "baz"
   492  						}
   493  					]
   494  				}
   495  			],
   496  			"unevaluatedItems": false
   497  		},
   498  		"skip": {
   499  			"v2": "extract error: keyword \"unevaluatedItems\" not yet implemented",
   500  			"v3": "extract error: keyword \"unevaluatedItems\" not yet implemented"
   501  		},
   502  		"tests": [
   503  			{
   504  				"description": "when one schema matches and has no unevaluated items",
   505  				"data": [
   506  					"foo",
   507  					"bar"
   508  				],
   509  				"valid": true,
   510  				"skip": {
   511  					"v2": "could not compile schema",
   512  					"v3": "could not compile schema"
   513  				}
   514  			},
   515  			{
   516  				"description": "when one schema matches and has unevaluated items",
   517  				"data": [
   518  					"foo",
   519  					"bar",
   520  					42
   521  				],
   522  				"valid": false,
   523  				"skip": {
   524  					"v2": "could not compile schema",
   525  					"v3": "could not compile schema"
   526  				}
   527  			},
   528  			{
   529  				"description": "when two schemas match and has no unevaluated items",
   530  				"data": [
   531  					"foo",
   532  					"bar",
   533  					"baz"
   534  				],
   535  				"valid": true,
   536  				"skip": {
   537  					"v2": "could not compile schema",
   538  					"v3": "could not compile schema"
   539  				}
   540  			},
   541  			{
   542  				"description": "when two schemas match and has unevaluated items",
   543  				"data": [
   544  					"foo",
   545  					"bar",
   546  					"baz",
   547  					42
   548  				],
   549  				"valid": false,
   550  				"skip": {
   551  					"v2": "could not compile schema",
   552  					"v3": "could not compile schema"
   553  				}
   554  			}
   555  		]
   556  	},
   557  	{
   558  		"description": "unevaluatedItems with oneOf",
   559  		"schema": {
   560  			"$schema": "https://json-schema.org/draft/2020-12/schema",
   561  			"prefixItems": [
   562  				{
   563  					"const": "foo"
   564  				}
   565  			],
   566  			"oneOf": [
   567  				{
   568  					"prefixItems": [
   569  						true,
   570  						{
   571  							"const": "bar"
   572  						}
   573  					]
   574  				},
   575  				{
   576  					"prefixItems": [
   577  						true,
   578  						{
   579  							"const": "baz"
   580  						}
   581  					]
   582  				}
   583  			],
   584  			"unevaluatedItems": false
   585  		},
   586  		"skip": {
   587  			"v2": "extract error: keyword \"unevaluatedItems\" not yet implemented",
   588  			"v3": "extract error: keyword \"unevaluatedItems\" not yet implemented"
   589  		},
   590  		"tests": [
   591  			{
   592  				"description": "with no unevaluated items",
   593  				"data": [
   594  					"foo",
   595  					"bar"
   596  				],
   597  				"valid": true,
   598  				"skip": {
   599  					"v2": "could not compile schema",
   600  					"v3": "could not compile schema"
   601  				}
   602  			},
   603  			{
   604  				"description": "with unevaluated items",
   605  				"data": [
   606  					"foo",
   607  					"bar",
   608  					42
   609  				],
   610  				"valid": false,
   611  				"skip": {
   612  					"v2": "could not compile schema",
   613  					"v3": "could not compile schema"
   614  				}
   615  			}
   616  		]
   617  	},
   618  	{
   619  		"description": "unevaluatedItems with not",
   620  		"schema": {
   621  			"$schema": "https://json-schema.org/draft/2020-12/schema",
   622  			"prefixItems": [
   623  				{
   624  					"const": "foo"
   625  				}
   626  			],
   627  			"not": {
   628  				"not": {
   629  					"prefixItems": [
   630  						true,
   631  						{
   632  							"const": "bar"
   633  						}
   634  					]
   635  				}
   636  			},
   637  			"unevaluatedItems": false
   638  		},
   639  		"skip": {
   640  			"v2": "extract error: keyword \"unevaluatedItems\" not yet implemented",
   641  			"v3": "extract error: keyword \"unevaluatedItems\" not yet implemented"
   642  		},
   643  		"tests": [
   644  			{
   645  				"description": "with unevaluated items",
   646  				"data": [
   647  					"foo",
   648  					"bar"
   649  				],
   650  				"valid": false,
   651  				"skip": {
   652  					"v2": "could not compile schema",
   653  					"v3": "could not compile schema"
   654  				}
   655  			}
   656  		]
   657  	},
   658  	{
   659  		"description": "unevaluatedItems with if/then/else",
   660  		"schema": {
   661  			"$schema": "https://json-schema.org/draft/2020-12/schema",
   662  			"prefixItems": [
   663  				{
   664  					"const": "foo"
   665  				}
   666  			],
   667  			"if": {
   668  				"prefixItems": [
   669  					true,
   670  					{
   671  						"const": "bar"
   672  					}
   673  				]
   674  			},
   675  			"then": {
   676  				"prefixItems": [
   677  					true,
   678  					true,
   679  					{
   680  						"const": "then"
   681  					}
   682  				]
   683  			},
   684  			"else": {
   685  				"prefixItems": [
   686  					true,
   687  					true,
   688  					true,
   689  					{
   690  						"const": "else"
   691  					}
   692  				]
   693  			},
   694  			"unevaluatedItems": false
   695  		},
   696  		"skip": {
   697  			"v2": "extract error: keyword \"unevaluatedItems\" not yet implemented",
   698  			"v3": "extract error: keyword \"unevaluatedItems\" not yet implemented"
   699  		},
   700  		"tests": [
   701  			{
   702  				"description": "when if matches and it has no unevaluated items",
   703  				"data": [
   704  					"foo",
   705  					"bar",
   706  					"then"
   707  				],
   708  				"valid": true,
   709  				"skip": {
   710  					"v2": "could not compile schema",
   711  					"v3": "could not compile schema"
   712  				}
   713  			},
   714  			{
   715  				"description": "when if matches and it has unevaluated items",
   716  				"data": [
   717  					"foo",
   718  					"bar",
   719  					"then",
   720  					"else"
   721  				],
   722  				"valid": false,
   723  				"skip": {
   724  					"v2": "could not compile schema",
   725  					"v3": "could not compile schema"
   726  				}
   727  			},
   728  			{
   729  				"description": "when if doesn't match and it has no unevaluated items",
   730  				"data": [
   731  					"foo",
   732  					42,
   733  					42,
   734  					"else"
   735  				],
   736  				"valid": true,
   737  				"skip": {
   738  					"v2": "could not compile schema",
   739  					"v3": "could not compile schema"
   740  				}
   741  			},
   742  			{
   743  				"description": "when if doesn't match and it has unevaluated items",
   744  				"data": [
   745  					"foo",
   746  					42,
   747  					42,
   748  					"else",
   749  					42
   750  				],
   751  				"valid": false,
   752  				"skip": {
   753  					"v2": "could not compile schema",
   754  					"v3": "could not compile schema"
   755  				}
   756  			}
   757  		]
   758  	},
   759  	{
   760  		"description": "unevaluatedItems with boolean schemas",
   761  		"schema": {
   762  			"$schema": "https://json-schema.org/draft/2020-12/schema",
   763  			"allOf": [
   764  				true
   765  			],
   766  			"unevaluatedItems": false
   767  		},
   768  		"skip": {
   769  			"v2": "extract error: keyword \"unevaluatedItems\" not yet implemented",
   770  			"v3": "extract error: keyword \"unevaluatedItems\" not yet implemented"
   771  		},
   772  		"tests": [
   773  			{
   774  				"description": "with no unevaluated items",
   775  				"data": [],
   776  				"valid": true,
   777  				"skip": {
   778  					"v2": "could not compile schema",
   779  					"v3": "could not compile schema"
   780  				}
   781  			},
   782  			{
   783  				"description": "with unevaluated items",
   784  				"data": [
   785  					"foo"
   786  				],
   787  				"valid": false,
   788  				"skip": {
   789  					"v2": "could not compile schema",
   790  					"v3": "could not compile schema"
   791  				}
   792  			}
   793  		]
   794  	},
   795  	{
   796  		"description": "unevaluatedItems with $ref",
   797  		"schema": {
   798  			"$schema": "https://json-schema.org/draft/2020-12/schema",
   799  			"$ref": "#/$defs/bar",
   800  			"prefixItems": [
   801  				{
   802  					"type": "string"
   803  				}
   804  			],
   805  			"unevaluatedItems": false,
   806  			"$defs": {
   807  				"bar": {
   808  					"prefixItems": [
   809  						true,
   810  						{
   811  							"type": "string"
   812  						}
   813  					]
   814  				}
   815  			}
   816  		},
   817  		"skip": {
   818  			"v2": "extract error: keyword \"unevaluatedItems\" not yet implemented (and 1 more errors)",
   819  			"v3": "extract error: keyword \"unevaluatedItems\" not yet implemented (and 1 more errors)"
   820  		},
   821  		"tests": [
   822  			{
   823  				"description": "with no unevaluated items",
   824  				"data": [
   825  					"foo",
   826  					"bar"
   827  				],
   828  				"valid": true,
   829  				"skip": {
   830  					"v2": "could not compile schema",
   831  					"v3": "could not compile schema"
   832  				}
   833  			},
   834  			{
   835  				"description": "with unevaluated items",
   836  				"data": [
   837  					"foo",
   838  					"bar",
   839  					"baz"
   840  				],
   841  				"valid": false,
   842  				"skip": {
   843  					"v2": "could not compile schema",
   844  					"v3": "could not compile schema"
   845  				}
   846  			}
   847  		]
   848  	},
   849  	{
   850  		"description": "unevaluatedItems before $ref",
   851  		"schema": {
   852  			"$schema": "https://json-schema.org/draft/2020-12/schema",
   853  			"unevaluatedItems": false,
   854  			"prefixItems": [
   855  				{
   856  					"type": "string"
   857  				}
   858  			],
   859  			"$ref": "#/$defs/bar",
   860  			"$defs": {
   861  				"bar": {
   862  					"prefixItems": [
   863  						true,
   864  						{
   865  							"type": "string"
   866  						}
   867  					]
   868  				}
   869  			}
   870  		},
   871  		"skip": {
   872  			"v2": "extract error: keyword \"unevaluatedItems\" not yet implemented (and 1 more errors)",
   873  			"v3": "extract error: keyword \"unevaluatedItems\" not yet implemented (and 1 more errors)"
   874  		},
   875  		"tests": [
   876  			{
   877  				"description": "with no unevaluated items",
   878  				"data": [
   879  					"foo",
   880  					"bar"
   881  				],
   882  				"valid": true,
   883  				"skip": {
   884  					"v2": "could not compile schema",
   885  					"v3": "could not compile schema"
   886  				}
   887  			},
   888  			{
   889  				"description": "with unevaluated items",
   890  				"data": [
   891  					"foo",
   892  					"bar",
   893  					"baz"
   894  				],
   895  				"valid": false,
   896  				"skip": {
   897  					"v2": "could not compile schema",
   898  					"v3": "could not compile schema"
   899  				}
   900  			}
   901  		]
   902  	},
   903  	{
   904  		"description": "unevaluatedItems with $dynamicRef",
   905  		"schema": {
   906  			"$schema": "https://json-schema.org/draft/2020-12/schema",
   907  			"$id": "https://example.com/unevaluated-items-with-dynamic-ref/derived",
   908  			"$ref": "./baseSchema",
   909  			"$defs": {
   910  				"derived": {
   911  					"$dynamicAnchor": "addons",
   912  					"prefixItems": [
   913  						true,
   914  						{
   915  							"type": "string"
   916  						}
   917  					]
   918  				},
   919  				"baseSchema": {
   920  					"$id": "./baseSchema",
   921  					"$comment": "unevaluatedItems comes first so it's more likely to catch bugs with implementations that are sensitive to keyword ordering",
   922  					"unevaluatedItems": false,
   923  					"type": "array",
   924  					"prefixItems": [
   925  						{
   926  							"type": "string"
   927  						}
   928  					],
   929  					"$dynamicRef": "#addons",
   930  					"$defs": {
   931  						"defaultAddons": {
   932  							"$comment": "Needed to satisfy the bookending requirement",
   933  							"$dynamicAnchor": "addons"
   934  						}
   935  					}
   936  				}
   937  			}
   938  		},
   939  		"skip": {
   940  			"v2": "extract error: keyword \"$dynamicAnchor\" not yet implemented (and 7 more errors)",
   941  			"v3": "extract error: keyword \"$dynamicAnchor\" not yet implemented (and 7 more errors)"
   942  		},
   943  		"tests": [
   944  			{
   945  				"description": "with no unevaluated items",
   946  				"data": [
   947  					"foo",
   948  					"bar"
   949  				],
   950  				"valid": true,
   951  				"skip": {
   952  					"v2": "could not compile schema",
   953  					"v3": "could not compile schema"
   954  				}
   955  			},
   956  			{
   957  				"description": "with unevaluated items",
   958  				"data": [
   959  					"foo",
   960  					"bar",
   961  					"baz"
   962  				],
   963  				"valid": false,
   964  				"skip": {
   965  					"v2": "could not compile schema",
   966  					"v3": "could not compile schema"
   967  				}
   968  			}
   969  		]
   970  	},
   971  	{
   972  		"description": "unevaluatedItems can't see inside cousins",
   973  		"schema": {
   974  			"$schema": "https://json-schema.org/draft/2020-12/schema",
   975  			"allOf": [
   976  				{
   977  					"prefixItems": [
   978  						true
   979  					]
   980  				},
   981  				{
   982  					"unevaluatedItems": false
   983  				}
   984  			]
   985  		},
   986  		"skip": {
   987  			"v2": "extract error: keyword \"unevaluatedItems\" not yet implemented",
   988  			"v3": "extract error: keyword \"unevaluatedItems\" not yet implemented"
   989  		},
   990  		"tests": [
   991  			{
   992  				"description": "always fails",
   993  				"data": [
   994  					1
   995  				],
   996  				"valid": false,
   997  				"skip": {
   998  					"v2": "could not compile schema",
   999  					"v3": "could not compile schema"
  1000  				}
  1001  			}
  1002  		]
  1003  	},
  1004  	{
  1005  		"description": "item is evaluated in an uncle schema to unevaluatedItems",
  1006  		"schema": {
  1007  			"$schema": "https://json-schema.org/draft/2020-12/schema",
  1008  			"properties": {
  1009  				"foo": {
  1010  					"prefixItems": [
  1011  						{
  1012  							"type": "string"
  1013  						}
  1014  					],
  1015  					"unevaluatedItems": false
  1016  				}
  1017  			},
  1018  			"anyOf": [
  1019  				{
  1020  					"properties": {
  1021  						"foo": {
  1022  							"prefixItems": [
  1023  								true,
  1024  								{
  1025  									"type": "string"
  1026  								}
  1027  							]
  1028  						}
  1029  					}
  1030  				}
  1031  			]
  1032  		},
  1033  		"skip": {
  1034  			"v2": "extract error: keyword \"unevaluatedItems\" not yet implemented",
  1035  			"v3": "extract error: keyword \"unevaluatedItems\" not yet implemented"
  1036  		},
  1037  		"tests": [
  1038  			{
  1039  				"description": "no extra items",
  1040  				"data": {
  1041  					"foo": [
  1042  						"test"
  1043  					]
  1044  				},
  1045  				"valid": true,
  1046  				"skip": {
  1047  					"v2": "could not compile schema",
  1048  					"v3": "could not compile schema"
  1049  				}
  1050  			},
  1051  			{
  1052  				"description": "uncle keyword evaluation is not significant",
  1053  				"data": {
  1054  					"foo": [
  1055  						"test",
  1056  						"test"
  1057  					]
  1058  				},
  1059  				"valid": false,
  1060  				"skip": {
  1061  					"v2": "could not compile schema",
  1062  					"v3": "could not compile schema"
  1063  				}
  1064  			}
  1065  		]
  1066  	},
  1067  	{
  1068  		"description": "unevaluatedItems depends on adjacent contains",
  1069  		"schema": {
  1070  			"$schema": "https://json-schema.org/draft/2020-12/schema",
  1071  			"prefixItems": [
  1072  				true
  1073  			],
  1074  			"contains": {
  1075  				"type": "string"
  1076  			},
  1077  			"unevaluatedItems": false
  1078  		},
  1079  		"skip": {
  1080  			"v2": "extract error: keyword \"unevaluatedItems\" not yet implemented",
  1081  			"v3": "extract error: keyword \"unevaluatedItems\" not yet implemented"
  1082  		},
  1083  		"tests": [
  1084  			{
  1085  				"description": "second item is evaluated by contains",
  1086  				"data": [
  1087  					1,
  1088  					"foo"
  1089  				],
  1090  				"valid": true,
  1091  				"skip": {
  1092  					"v2": "could not compile schema",
  1093  					"v3": "could not compile schema"
  1094  				}
  1095  			},
  1096  			{
  1097  				"description": "contains fails, second item is not evaluated",
  1098  				"data": [
  1099  					1,
  1100  					2
  1101  				],
  1102  				"valid": false,
  1103  				"skip": {
  1104  					"v2": "could not compile schema",
  1105  					"v3": "could not compile schema"
  1106  				}
  1107  			},
  1108  			{
  1109  				"description": "contains passes, second item is not evaluated",
  1110  				"data": [
  1111  					1,
  1112  					2,
  1113  					"foo"
  1114  				],
  1115  				"valid": false,
  1116  				"skip": {
  1117  					"v2": "could not compile schema",
  1118  					"v3": "could not compile schema"
  1119  				}
  1120  			}
  1121  		]
  1122  	},
  1123  	{
  1124  		"description": "unevaluatedItems depends on multiple nested contains",
  1125  		"schema": {
  1126  			"$schema": "https://json-schema.org/draft/2020-12/schema",
  1127  			"allOf": [
  1128  				{
  1129  					"contains": {
  1130  						"multipleOf": 2
  1131  					}
  1132  				},
  1133  				{
  1134  					"contains": {
  1135  						"multipleOf": 3
  1136  					}
  1137  				}
  1138  			],
  1139  			"unevaluatedItems": {
  1140  				"multipleOf": 5
  1141  			}
  1142  		},
  1143  		"skip": {
  1144  			"v2": "extract error: keyword \"unevaluatedItems\" not yet implemented",
  1145  			"v3": "extract error: keyword \"unevaluatedItems\" not yet implemented"
  1146  		},
  1147  		"tests": [
  1148  			{
  1149  				"description": "5 not evaluated, passes unevaluatedItems",
  1150  				"data": [
  1151  					2,
  1152  					3,
  1153  					4,
  1154  					5,
  1155  					6
  1156  				],
  1157  				"valid": true,
  1158  				"skip": {
  1159  					"v2": "could not compile schema",
  1160  					"v3": "could not compile schema"
  1161  				}
  1162  			},
  1163  			{
  1164  				"description": "7 not evaluated, fails unevaluatedItems",
  1165  				"data": [
  1166  					2,
  1167  					3,
  1168  					4,
  1169  					7,
  1170  					8
  1171  				],
  1172  				"valid": false,
  1173  				"skip": {
  1174  					"v2": "could not compile schema",
  1175  					"v3": "could not compile schema"
  1176  				}
  1177  			}
  1178  		]
  1179  	},
  1180  	{
  1181  		"description": "unevaluatedItems and contains interact to control item dependency relationship",
  1182  		"schema": {
  1183  			"$schema": "https://json-schema.org/draft/2020-12/schema",
  1184  			"if": {
  1185  				"contains": {
  1186  					"const": "a"
  1187  				}
  1188  			},
  1189  			"then": {
  1190  				"if": {
  1191  					"contains": {
  1192  						"const": "b"
  1193  					}
  1194  				},
  1195  				"then": {
  1196  					"if": {
  1197  						"contains": {
  1198  							"const": "c"
  1199  						}
  1200  					}
  1201  				}
  1202  			},
  1203  			"unevaluatedItems": false
  1204  		},
  1205  		"skip": {
  1206  			"v2": "extract error: keyword \"unevaluatedItems\" not yet implemented",
  1207  			"v3": "extract error: keyword \"unevaluatedItems\" not yet implemented"
  1208  		},
  1209  		"tests": [
  1210  			{
  1211  				"description": "empty array is valid",
  1212  				"data": [],
  1213  				"valid": true,
  1214  				"skip": {
  1215  					"v2": "could not compile schema",
  1216  					"v3": "could not compile schema"
  1217  				}
  1218  			},
  1219  			{
  1220  				"description": "only a's are valid",
  1221  				"data": [
  1222  					"a",
  1223  					"a"
  1224  				],
  1225  				"valid": true,
  1226  				"skip": {
  1227  					"v2": "could not compile schema",
  1228  					"v3": "could not compile schema"
  1229  				}
  1230  			},
  1231  			{
  1232  				"description": "a's and b's are valid",
  1233  				"data": [
  1234  					"a",
  1235  					"b",
  1236  					"a",
  1237  					"b",
  1238  					"a"
  1239  				],
  1240  				"valid": true,
  1241  				"skip": {
  1242  					"v2": "could not compile schema",
  1243  					"v3": "could not compile schema"
  1244  				}
  1245  			},
  1246  			{
  1247  				"description": "a's, b's and c's are valid",
  1248  				"data": [
  1249  					"c",
  1250  					"a",
  1251  					"c",
  1252  					"c",
  1253  					"b",
  1254  					"a"
  1255  				],
  1256  				"valid": true,
  1257  				"skip": {
  1258  					"v2": "could not compile schema",
  1259  					"v3": "could not compile schema"
  1260  				}
  1261  			},
  1262  			{
  1263  				"description": "only b's are invalid",
  1264  				"data": [
  1265  					"b",
  1266  					"b"
  1267  				],
  1268  				"valid": false,
  1269  				"skip": {
  1270  					"v2": "could not compile schema",
  1271  					"v3": "could not compile schema"
  1272  				}
  1273  			},
  1274  			{
  1275  				"description": "only c's are invalid",
  1276  				"data": [
  1277  					"c",
  1278  					"c"
  1279  				],
  1280  				"valid": false,
  1281  				"skip": {
  1282  					"v2": "could not compile schema",
  1283  					"v3": "could not compile schema"
  1284  				}
  1285  			},
  1286  			{
  1287  				"description": "only b's and c's are invalid",
  1288  				"data": [
  1289  					"c",
  1290  					"b",
  1291  					"c",
  1292  					"b",
  1293  					"c"
  1294  				],
  1295  				"valid": false,
  1296  				"skip": {
  1297  					"v2": "could not compile schema",
  1298  					"v3": "could not compile schema"
  1299  				}
  1300  			},
  1301  			{
  1302  				"description": "only a's and c's are invalid",
  1303  				"data": [
  1304  					"c",
  1305  					"a",
  1306  					"c",
  1307  					"a",
  1308  					"c"
  1309  				],
  1310  				"valid": false,
  1311  				"skip": {
  1312  					"v2": "could not compile schema",
  1313  					"v3": "could not compile schema"
  1314  				}
  1315  			}
  1316  		]
  1317  	},
  1318  	{
  1319  		"description": "non-array instances are valid",
  1320  		"schema": {
  1321  			"$schema": "https://json-schema.org/draft/2020-12/schema",
  1322  			"unevaluatedItems": false
  1323  		},
  1324  		"skip": {
  1325  			"v2": "extract error: keyword \"unevaluatedItems\" not yet implemented",
  1326  			"v3": "extract error: keyword \"unevaluatedItems\" not yet implemented"
  1327  		},
  1328  		"tests": [
  1329  			{
  1330  				"description": "ignores booleans",
  1331  				"data": true,
  1332  				"valid": true,
  1333  				"skip": {
  1334  					"v2": "could not compile schema",
  1335  					"v3": "could not compile schema"
  1336  				}
  1337  			},
  1338  			{
  1339  				"description": "ignores integers",
  1340  				"data": 123,
  1341  				"valid": true,
  1342  				"skip": {
  1343  					"v2": "could not compile schema",
  1344  					"v3": "could not compile schema"
  1345  				}
  1346  			},
  1347  			{
  1348  				"description": "ignores floats",
  1349  				"data": 1.0,
  1350  				"valid": true,
  1351  				"skip": {
  1352  					"v2": "could not compile schema",
  1353  					"v3": "could not compile schema"
  1354  				}
  1355  			},
  1356  			{
  1357  				"description": "ignores objects",
  1358  				"data": {},
  1359  				"valid": true,
  1360  				"skip": {
  1361  					"v2": "could not compile schema",
  1362  					"v3": "could not compile schema"
  1363  				}
  1364  			},
  1365  			{
  1366  				"description": "ignores strings",
  1367  				"data": "foo",
  1368  				"valid": true,
  1369  				"skip": {
  1370  					"v2": "could not compile schema",
  1371  					"v3": "could not compile schema"
  1372  				}
  1373  			},
  1374  			{
  1375  				"description": "ignores null",
  1376  				"data": null,
  1377  				"valid": true,
  1378  				"skip": {
  1379  					"v2": "could not compile schema",
  1380  					"v3": "could not compile schema"
  1381  				}
  1382  			}
  1383  		]
  1384  	},
  1385  	{
  1386  		"description": "unevaluatedItems with null instance elements",
  1387  		"schema": {
  1388  			"$schema": "https://json-schema.org/draft/2020-12/schema",
  1389  			"unevaluatedItems": {
  1390  				"type": "null"
  1391  			}
  1392  		},
  1393  		"skip": {
  1394  			"v2": "extract error: keyword \"unevaluatedItems\" not yet implemented",
  1395  			"v3": "extract error: keyword \"unevaluatedItems\" not yet implemented"
  1396  		},
  1397  		"tests": [
  1398  			{
  1399  				"description": "allows null elements",
  1400  				"data": [
  1401  					null
  1402  				],
  1403  				"valid": true,
  1404  				"skip": {
  1405  					"v2": "could not compile schema",
  1406  					"v3": "could not compile schema"
  1407  				}
  1408  			}
  1409  		]
  1410  	},
  1411  	{
  1412  		"description": "unevaluatedItems can see annotations from if without then and else",
  1413  		"schema": {
  1414  			"$schema": "https://json-schema.org/draft/2020-12/schema",
  1415  			"if": {
  1416  				"prefixItems": [
  1417  					{
  1418  						"const": "a"
  1419  					}
  1420  				]
  1421  			},
  1422  			"unevaluatedItems": false
  1423  		},
  1424  		"skip": {
  1425  			"v2": "extract error: keyword \"unevaluatedItems\" not yet implemented",
  1426  			"v3": "extract error: keyword \"unevaluatedItems\" not yet implemented"
  1427  		},
  1428  		"tests": [
  1429  			{
  1430  				"description": "valid in case if is evaluated",
  1431  				"data": [
  1432  					"a"
  1433  				],
  1434  				"valid": true,
  1435  				"skip": {
  1436  					"v2": "could not compile schema",
  1437  					"v3": "could not compile schema"
  1438  				}
  1439  			},
  1440  			{
  1441  				"description": "invalid in case if is evaluated",
  1442  				"data": [
  1443  					"b"
  1444  				],
  1445  				"valid": false,
  1446  				"skip": {
  1447  					"v2": "could not compile schema",
  1448  					"v3": "could not compile schema"
  1449  				}
  1450  			}
  1451  		]
  1452  	}
  1453  ]