github.com/kaptinlin/jsonschema@v0.4.6/testdata/JSON-Schema-Test-Suite/tests/draft2019-09/enum.json (about)

     1  [
     2      {
     3          "description": "simple enum validation",
     4          "schema": {
     5              "$schema": "https://json-schema.org/draft/2019-09/schema",
     6              "enum": [1, 2, 3]
     7          },
     8          "tests": [
     9              {
    10                  "description": "one of the enum is valid",
    11                  "data": 1,
    12                  "valid": true
    13              },
    14              {
    15                  "description": "something else is invalid",
    16                  "data": 4,
    17                  "valid": false
    18              }
    19          ]
    20      },
    21      {
    22          "description": "heterogeneous enum validation",
    23          "schema": {
    24              "$schema": "https://json-schema.org/draft/2019-09/schema",
    25              "enum": [6, "foo", [], true, {"foo": 12}]
    26          },
    27          "tests": [
    28              {
    29                  "description": "one of the enum is valid",
    30                  "data": [],
    31                  "valid": true
    32              },
    33              {
    34                  "description": "something else is invalid",
    35                  "data": null,
    36                  "valid": false
    37              },
    38              {
    39                  "description": "objects are deep compared",
    40                  "data": {"foo": false},
    41                  "valid": false
    42              },
    43              {
    44                  "description": "valid object matches",
    45                  "data": {"foo": 12},
    46                  "valid": true
    47              },
    48              {
    49                  "description": "extra properties in object is invalid",
    50                  "data": {"foo": 12, "boo": 42},
    51                  "valid": false
    52              }
    53          ]
    54      },
    55      {
    56          "description": "heterogeneous enum-with-null validation",
    57          "schema": {
    58              "$schema": "https://json-schema.org/draft/2019-09/schema",
    59              "enum": [6, null]
    60          },
    61          "tests": [
    62              {
    63                  "description": "null is valid",
    64                  "data": null,
    65                  "valid": true
    66              },
    67              {
    68                  "description": "number is valid",
    69                  "data": 6,
    70                  "valid": true
    71              },
    72              {
    73                  "description": "something else is invalid",
    74                  "data": "test",
    75                  "valid": false
    76              }
    77          ]
    78      },
    79      {
    80          "description": "enums in properties",
    81          "schema": {
    82              "$schema": "https://json-schema.org/draft/2019-09/schema",
    83              "type":"object",
    84              "properties": {
    85                  "foo": {"enum":["foo"]},
    86                  "bar": {"enum":["bar"]}
    87              },
    88              "required": ["bar"]
    89          },
    90          "tests": [
    91              {
    92                  "description": "both properties are valid",
    93                  "data": {"foo":"foo", "bar":"bar"},
    94                  "valid": true
    95              },
    96              {
    97                  "description": "wrong foo value",
    98                  "data": {"foo":"foot", "bar":"bar"},
    99                  "valid": false
   100              },
   101              {
   102                  "description": "wrong bar value",
   103                  "data": {"foo":"foo", "bar":"bart"},
   104                  "valid": false
   105              },
   106              {
   107                  "description": "missing optional property is valid",
   108                  "data": {"bar":"bar"},
   109                  "valid": true
   110              },
   111              {
   112                  "description": "missing required property is invalid",
   113                  "data": {"foo":"foo"},
   114                  "valid": false
   115              },
   116              {
   117                  "description": "missing all properties is invalid",
   118                  "data": {},
   119                  "valid": false
   120              }
   121          ]
   122      },
   123      {
   124          "description": "enum with escaped characters",
   125          "schema": {
   126              "$schema": "https://json-schema.org/draft/2019-09/schema",
   127              "enum": ["foo\nbar", "foo\rbar"]
   128          },
   129          "tests": [
   130              {
   131                  "description": "member 1 is valid",
   132                  "data": "foo\nbar",
   133                  "valid": true
   134              },
   135              {
   136                  "description": "member 2 is valid",
   137                  "data": "foo\rbar",
   138                  "valid": true
   139              },
   140              {
   141                  "description": "another string is invalid",
   142                  "data": "abc",
   143                  "valid": false
   144              }
   145          ]
   146      },
   147      {
   148          "description": "enum with false does not match 0",
   149          "schema": {
   150              "$schema": "https://json-schema.org/draft/2019-09/schema",
   151              "enum": [false]
   152          },
   153          "tests": [
   154              {
   155                  "description": "false is valid",
   156                  "data": false,
   157                  "valid": true
   158              },
   159              {
   160                  "description": "integer zero is invalid",
   161                  "data": 0,
   162                  "valid": false
   163              },
   164              {
   165                  "description": "float zero is invalid",
   166                  "data": 0.0,
   167                  "valid": false
   168              }
   169          ]
   170      },
   171      {
   172          "description": "enum with [false] does not match [0]",
   173          "schema": {
   174              "$schema": "https://json-schema.org/draft/2019-09/schema",
   175              "enum": [[false]]
   176          },
   177          "tests": [
   178              {
   179                  "description": "[false] is valid",
   180                  "data": [false],
   181                  "valid": true
   182              },
   183              {
   184                  "description": "[0] is invalid",
   185                  "data": [0],
   186                  "valid": false
   187              },
   188              {
   189                  "description": "[0.0] is invalid",
   190                  "data": [0.0],
   191                  "valid": false
   192              }
   193          ]
   194      },
   195      {
   196          "description": "enum with true does not match 1",
   197          "schema": {
   198              "$schema": "https://json-schema.org/draft/2019-09/schema",
   199              "enum": [true]
   200          },
   201          "tests": [
   202              {
   203                  "description": "true is valid",
   204                  "data": true,
   205                  "valid": true
   206              },
   207              {
   208                  "description": "integer one is invalid",
   209                  "data": 1,
   210                  "valid": false
   211              },
   212              {
   213                  "description": "float one is invalid",
   214                  "data": 1.0,
   215                  "valid": false
   216              }
   217          ]
   218      },
   219      {
   220          "description": "enum with [true] does not match [1]",
   221          "schema": {
   222              "$schema": "https://json-schema.org/draft/2019-09/schema",
   223              "enum": [[true]]
   224          },
   225          "tests": [
   226              {
   227                  "description": "[true] is valid",
   228                  "data": [true],
   229                  "valid": true
   230              },
   231              {
   232                  "description": "[1] is invalid",
   233                  "data": [1],
   234                  "valid": false
   235              },
   236              {
   237                  "description": "[1.0] is invalid",
   238                  "data": [1.0],
   239                  "valid": false
   240              }
   241          ]
   242      },
   243      {
   244          "description": "enum with 0 does not match false",
   245          "schema": {
   246              "$schema": "https://json-schema.org/draft/2019-09/schema",
   247              "enum": [0]
   248          },
   249          "tests": [
   250              {
   251                  "description": "false is invalid",
   252                  "data": false,
   253                  "valid": false
   254              },
   255              {
   256                  "description": "integer zero is valid",
   257                  "data": 0,
   258                  "valid": true
   259              },
   260              {
   261                  "description": "float zero is valid",
   262                  "data": 0.0,
   263                  "valid": true
   264              }
   265          ]
   266      },
   267      {
   268          "description": "enum with [0] does not match [false]",
   269          "schema": {
   270              "$schema": "https://json-schema.org/draft/2019-09/schema",
   271              "enum": [[0]]
   272          },
   273          "tests": [
   274              {
   275                  "description": "[false] is invalid",
   276                  "data": [false],
   277                  "valid": false
   278              },
   279              {
   280                  "description": "[0] is valid",
   281                  "data": [0],
   282                  "valid": true
   283              },
   284              {
   285                  "description": "[0.0] is valid",
   286                  "data": [0.0],
   287                  "valid": true
   288              }
   289          ]
   290      },
   291      {
   292          "description": "enum with 1 does not match true",
   293          "schema": {
   294              "$schema": "https://json-schema.org/draft/2019-09/schema",
   295              "enum": [1]
   296          },
   297          "tests": [
   298              {
   299                  "description": "true is invalid",
   300                  "data": true,
   301                  "valid": false
   302              },
   303              {
   304                  "description": "integer one is valid",
   305                  "data": 1,
   306                  "valid": true
   307              },
   308              {
   309                  "description": "float one is valid",
   310                  "data": 1.0,
   311                  "valid": true
   312              }
   313          ]
   314      },
   315      {
   316          "description": "enum with [1] does not match [true]",
   317          "schema": {
   318              "$schema": "https://json-schema.org/draft/2019-09/schema",
   319              "enum": [[1]]
   320          },
   321          "tests": [
   322              {
   323                  "description": "[true] is invalid",
   324                  "data": [true],
   325                  "valid": false
   326              },
   327              {
   328                  "description": "[1] is valid",
   329                  "data": [1],
   330                  "valid": true
   331              },
   332              {
   333                  "description": "[1.0] is valid",
   334                  "data": [1.0],
   335                  "valid": true
   336              }
   337          ]
   338      },
   339      {
   340          "description": "nul characters in strings",
   341          "schema": {
   342              "$schema": "https://json-schema.org/draft/2019-09/schema",
   343              "enum": [ "hello\u0000there" ]
   344          },
   345          "tests": [
   346              {
   347                  "description": "match string with nul",
   348                  "data": "hello\u0000there",
   349                  "valid": true
   350              },
   351              {
   352                  "description": "do not match string lacking nul",
   353                  "data": "hellothere",
   354                  "valid": false
   355              }
   356          ]
   357      }
   358  ]