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

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