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

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