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

     1  [
     2      {
     3          "description": "not",
     4          "schema": {
     5              "not": {"type": "integer"}
     6          },
     7          "tests": [
     8              {
     9                  "description": "allowed",
    10                  "data": "foo",
    11                  "valid": true
    12              },
    13              {
    14                  "description": "disallowed",
    15                  "data": 1,
    16                  "valid": false
    17              }
    18          ]
    19      },
    20      {
    21          "description": "not multiple types",
    22          "schema": {
    23              "not": {"type": ["integer", "boolean"]}
    24          },
    25          "tests": [
    26              {
    27                  "description": "valid",
    28                  "data": "foo",
    29                  "valid": true
    30              },
    31              {
    32                  "description": "mismatch",
    33                  "data": 1,
    34                  "valid": false
    35              },
    36              {
    37                  "description": "other mismatch",
    38                  "data": true,
    39                  "valid": false
    40              }
    41          ]
    42      },
    43      {
    44          "description": "not more complex schema",
    45          "schema": {
    46              "not": {
    47                  "type": "object",
    48                  "properties": {
    49                      "foo": {
    50                          "type": "string"
    51                      }
    52                  }
    53               }
    54          },
    55          "tests": [
    56              {
    57                  "description": "match",
    58                  "data": 1,
    59                  "valid": true
    60              },
    61              {
    62                  "description": "other match",
    63                  "data": {"foo": 1},
    64                  "valid": true
    65              },
    66              {
    67                  "description": "mismatch",
    68                  "data": {"foo": "bar"},
    69                  "valid": false
    70              }
    71          ]
    72      },
    73      {
    74          "description": "forbidden property",
    75          "schema": {
    76              "properties": {
    77                  "foo": { 
    78                      "not": {}
    79                  }
    80              }
    81          },
    82          "tests": [
    83              {
    84                  "description": "property present",
    85                  "data": {"foo": 1, "bar": 2},
    86                  "valid": false
    87              },
    88              {
    89                  "description": "property absent",
    90                  "data": {"bar": 1, "baz": 2},
    91                  "valid": true
    92              }
    93          ]
    94      },
    95      {
    96          "description": "forbid everything with empty schema",
    97          "schema": { "not": {} },
    98          "tests": [
    99              {
   100                  "description": "number is invalid",
   101                  "data": 1,
   102                  "valid": false
   103              },
   104              {
   105                  "description": "string is invalid",
   106                  "data": "foo",
   107                  "valid": false
   108              },
   109              {
   110                  "description": "boolean true is invalid",
   111                  "data": true,
   112                  "valid": false
   113              },
   114              {
   115                  "description": "boolean false is invalid",
   116                  "data": false,
   117                  "valid": false
   118              },
   119              {
   120                  "description": "null is invalid",
   121                  "data": null,
   122                  "valid": false
   123              },
   124              {
   125                  "description": "object is invalid",
   126                  "data": {"foo": "bar"},
   127                  "valid": false
   128              },
   129              {
   130                  "description": "empty object is invalid",
   131                  "data": {},
   132                  "valid": false
   133              },
   134              {
   135                  "description": "array is invalid",
   136                  "data": ["foo"],
   137                  "valid": false
   138              },
   139              {
   140                  "description": "empty array is invalid",
   141                  "data": [],
   142                  "valid": false
   143              }
   144          ]
   145      },
   146      {
   147          "description": "forbid everything with boolean schema true",
   148          "schema": { "not": true },
   149          "tests": [
   150              {
   151                  "description": "number is invalid",
   152                  "data": 1,
   153                  "valid": false
   154              },
   155              {
   156                  "description": "string is invalid",
   157                  "data": "foo",
   158                  "valid": false
   159              },
   160              {
   161                  "description": "boolean true is invalid",
   162                  "data": true,
   163                  "valid": false
   164              },
   165              {
   166                  "description": "boolean false is invalid",
   167                  "data": false,
   168                  "valid": false
   169              },
   170              {
   171                  "description": "null is invalid",
   172                  "data": null,
   173                  "valid": false
   174              },
   175              {
   176                  "description": "object is invalid",
   177                  "data": {"foo": "bar"},
   178                  "valid": false
   179              },
   180              {
   181                  "description": "empty object is invalid",
   182                  "data": {},
   183                  "valid": false
   184              },
   185              {
   186                  "description": "array is invalid",
   187                  "data": ["foo"],
   188                  "valid": false
   189              },
   190              {
   191                  "description": "empty array is invalid",
   192                  "data": [],
   193                  "valid": false
   194              }
   195          ]
   196      },
   197      {
   198          "description": "allow everything with boolean schema false",
   199          "schema": { "not": false },
   200          "tests": [
   201              {
   202                  "description": "number is valid",
   203                  "data": 1,
   204                  "valid": true
   205              },
   206              {
   207                  "description": "string is valid",
   208                  "data": "foo",
   209                  "valid": true
   210              },
   211              {
   212                  "description": "boolean true is valid",
   213                  "data": true,
   214                  "valid": true
   215              },
   216              {
   217                  "description": "boolean false is valid",
   218                  "data": false,
   219                  "valid": true
   220              },
   221              {
   222                  "description": "null is valid",
   223                  "data": null,
   224                  "valid": true
   225              },
   226              {
   227                  "description": "object is valid",
   228                  "data": {"foo": "bar"},
   229                  "valid": true
   230              },
   231              {
   232                  "description": "empty object is valid",
   233                  "data": {},
   234                  "valid": true
   235              },
   236              {
   237                  "description": "array is valid",
   238                  "data": ["foo"],
   239                  "valid": true
   240              },
   241              {
   242                  "description": "empty array is valid",
   243                  "data": [],
   244                  "valid": true
   245              }
   246          ]
   247      },
   248      {
   249          "description": "double negation",
   250          "schema": { "not": { "not": {} } },
   251          "tests": [
   252              {
   253                  "description": "any value is valid",
   254                  "data": "foo",
   255                  "valid": true
   256              }
   257          ]
   258      }
   259  ]