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  ]