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

     1  [
     2      {
     3          "description": "additionalItems as schema",
     4          "schema": {
     5              "items": [],
     6              "additionalItems": {"type": "integer"}
     7          },
     8          "tests": [
     9              {
    10                  "description": "additional items match schema",
    11                  "data": [ 1, 2, 3, 4 ],
    12                  "valid": true
    13              },
    14              {
    15                  "description": "additional items do not match schema",
    16                  "data": [ 1, 2, 3, "foo" ],
    17                  "valid": false
    18              }
    19          ]
    20      },
    21      {
    22          "description": "when items is schema, additionalItems does nothing",
    23          "schema": {
    24              "items": {},
    25              "additionalItems": false
    26          },
    27          "tests": [
    28              {
    29                  "description": "all items match schema",
    30                  "data": [ 1, 2, 3, 4, 5 ],
    31                  "valid": true
    32              }
    33          ]
    34      },
    35      {
    36          "description": "array of items with no additionalItems permitted",
    37          "schema": {
    38              "items": [{}, {}, {}],
    39              "additionalItems": false
    40          },
    41          "tests": [
    42              {
    43                  "description": "empty array",
    44                  "data": [ ],
    45                  "valid": true
    46              },
    47              {
    48                  "description": "fewer number of items present (1)",
    49                  "data": [ 1 ],
    50                  "valid": true
    51              },
    52              {
    53                  "description": "fewer number of items present (2)",
    54                  "data": [ 1, 2 ],
    55                  "valid": true
    56              },
    57              {
    58                  "description": "equal number of items present",
    59                  "data": [ 1, 2, 3 ],
    60                  "valid": true
    61              },
    62              {
    63                  "description": "additional items are not permitted",
    64                  "data": [ 1, 2, 3, 4 ],
    65                  "valid": false
    66              }
    67          ]
    68      },
    69      {
    70          "description": "additionalItems as false without items",
    71          "schema": {"additionalItems": false},
    72          "tests": [
    73              {
    74                  "description":
    75                      "items defaults to empty schema so everything is valid",
    76                  "data": [ 1, 2, 3, 4, 5 ],
    77                  "valid": true
    78              },
    79              {
    80                  "description": "ignores non-arrays",
    81                  "data": {"foo" : "bar"},
    82                  "valid": true
    83              }
    84          ]
    85      },
    86      {
    87          "description": "additionalItems are allowed by default",
    88          "schema": {"items": [{"type": "integer"}]},
    89          "tests": [
    90              {
    91                  "description": "only the first item is validated",
    92                  "data": [1, "foo", false],
    93                  "valid": true
    94              }
    95          ]
    96      },
    97      {
    98          "description": "additionalItems does not look in applicators",
    99          "schema": {
   100              "extends": [
   101                  { "items": [ { "type": "integer" } ] }
   102              ],
   103              "additionalItems": { "type": "boolean" }
   104          },
   105          "tests": [
   106              {
   107                  "description": "items defined in extends are not examined",
   108                  "data": [ 1, null ],
   109                  "valid": true
   110              }
   111          ]
   112      },
   113      {
   114          "description": "additionalItems with heterogeneous array",
   115          "schema": {
   116              "items": [{}],
   117              "additionalItems": false
   118          },
   119          "tests": [
   120              {
   121                  "description": "heterogeneous invalid instance",
   122                  "data": [ "foo", "bar", 37 ],
   123                  "valid": false
   124              },
   125              {
   126                  "description": "valid instance",
   127                  "data": [ null ],
   128                  "valid": true
   129              }
   130          ]
   131      },
   132      {
   133          "description": "additionalItems with null instance elements",
   134          "schema": {
   135              "additionalItems": {
   136                  "type": "null"
   137              }
   138          },
   139          "tests": [
   140              {
   141                  "description": "allows null elements",
   142                  "data": [ null ],
   143                  "valid": true
   144              }
   145          ]
   146      }
   147  ]