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

     1  [
     2      {
     3          "description": "not",
     4          "schema": {
     5              "$schema": "https://json-schema.org/draft/next/schema",
     6              "not": {"type": "integer"}
     7          },
     8          "tests": [
     9              {
    10                  "description": "allowed",
    11                  "data": "foo",
    12                  "valid": true
    13              },
    14              {
    15                  "description": "disallowed",
    16                  "data": 1,
    17                  "valid": false
    18              }
    19          ]
    20      },
    21      {
    22          "description": "not multiple types",
    23          "schema": {
    24              "$schema": "https://json-schema.org/draft/next/schema",
    25              "not": {"type": ["integer", "boolean"]}
    26          },
    27          "tests": [
    28              {
    29                  "description": "valid",
    30                  "data": "foo",
    31                  "valid": true
    32              },
    33              {
    34                  "description": "mismatch",
    35                  "data": 1,
    36                  "valid": false
    37              },
    38              {
    39                  "description": "other mismatch",
    40                  "data": true,
    41                  "valid": false
    42              }
    43          ]
    44      },
    45      {
    46          "description": "not more complex schema",
    47          "schema": {
    48              "$schema": "https://json-schema.org/draft/next/schema",
    49              "not": {
    50                  "type": "object",
    51                  "properties": {
    52                      "foo": {
    53                          "type": "string"
    54                      }
    55                  }
    56               }
    57          },
    58          "tests": [
    59              {
    60                  "description": "match",
    61                  "data": 1,
    62                  "valid": true
    63              },
    64              {
    65                  "description": "other match",
    66                  "data": {"foo": 1},
    67                  "valid": true
    68              },
    69              {
    70                  "description": "mismatch",
    71                  "data": {"foo": "bar"},
    72                  "valid": false
    73              }
    74          ]
    75      },
    76      {
    77          "description": "forbidden property",
    78          "schema": {
    79              "$schema": "https://json-schema.org/draft/next/schema",
    80              "properties": {
    81                  "foo": { 
    82                      "not": {}
    83                  }
    84              }
    85          },
    86          "tests": [
    87              {
    88                  "description": "property present",
    89                  "data": {"foo": 1, "bar": 2},
    90                  "valid": false
    91              },
    92              {
    93                  "description": "property absent",
    94                  "data": {"bar": 1, "baz": 2},
    95                  "valid": true
    96              }
    97          ]
    98      },
    99      {
   100          "description": "not with boolean schema true",
   101          "schema": {
   102              "$schema": "https://json-schema.org/draft/next/schema",
   103              "not": true
   104          },
   105          "tests": [
   106              {
   107                  "description": "any value is invalid",
   108                  "data": "foo",
   109                  "valid": false
   110              }
   111          ]
   112      },
   113      {
   114          "description": "not with boolean schema false",
   115          "schema": {
   116              "$schema": "https://json-schema.org/draft/next/schema",
   117              "not": false
   118          },
   119          "tests": [
   120              {
   121                  "description": "any value is valid",
   122                  "data": "foo",
   123                  "valid": true
   124              }
   125          ]
   126      },
   127      {
   128          "description": "collect annotations inside a 'not', even if collection is disabled",
   129          "schema": {
   130              "$schema": "https://json-schema.org/draft/next/schema",
   131              "not": {
   132                  "$comment": "this subschema must still produce annotations internally, even though the 'not' will ultimately discard them",
   133                  "anyOf": [
   134                      true,
   135                      { "properties": { "foo": true } }
   136                  ],
   137                  "unevaluatedProperties": false
   138              }
   139          },
   140          "tests": [
   141              {
   142                  "description": "unevaluated property",
   143                  "data": { "bar": 1 },
   144                  "valid": true
   145              },
   146              {
   147                  "description": "annotations are still collected inside a 'not'",
   148                  "data": { "foo": 1 },
   149                  "valid": false
   150              }
   151          ]
   152       }
   153  ]