...

Text file src/github.com/qri-io/jsonschema/testdata/draft2019-09/enum.json

Documentation: github.com/qri-io/jsonschema/testdata/draft2019-09

     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    },
    39    {
    40        "description": "enums in properties",
    41        "schema": {
    42            "type":"object",
    43            "properties": {
    44                "foo": {"enum":["foo"]},
    45                "bar": {"enum":["bar"]}
    46            },
    47            "required": ["bar"]
    48        },
    49        "tests": [
    50            {
    51                "description": "both properties are valid",
    52                "data": {"foo":"foo", "bar":"bar"},
    53                "valid": true
    54            },
    55            {
    56                "description": "wrong foo value",
    57                "data": {"foo":"foot", "bar":"bar"},
    58                "valid": false
    59            },
    60            {
    61                "description": "wrong bar value",
    62                "data": {"foo":"foo", "bar":"bart"},
    63                "valid": false
    64            },
    65            {
    66                "description": "missing optional property is valid",
    67                "data": {"bar":"bar"},
    68                "valid": true
    69            },
    70            {
    71                "description": "missing required property is invalid",
    72                "data": {"foo":"foo"},
    73                "valid": false
    74            },
    75            {
    76                "description": "missing all properties is invalid",
    77                "data": {},
    78                "valid": false
    79            }
    80        ]
    81    },
    82    {
    83        "description": "enum with escaped characters",
    84        "schema": {
    85            "enum": ["foo\nbar", "foo\rbar"]
    86        },
    87        "tests": [
    88            {
    89                "description": "member 1 is valid",
    90                "data": "foo\nbar",
    91                "valid": true
    92            },
    93            {
    94                "description": "member 2 is valid",
    95                "data": "foo\rbar",
    96                "valid": true
    97            },
    98            {
    99                "description": "another string is invalid",
   100                "data": "abc",
   101                "valid": false
   102            }
   103        ]
   104    },
   105    {
   106        "description": "enum with false does not match 0",
   107        "schema": {"enum": [false]},
   108        "tests": [
   109            {
   110                "description": "false is valid",
   111                "data": false,
   112                "valid": true
   113            },
   114            {
   115                "description": "integer zero is invalid",
   116                "data": 0,
   117                "valid": false
   118            },
   119            {
   120                "description": "float zero is invalid",
   121                "data": 0.0,
   122                "valid": false
   123            }
   124        ]
   125    },
   126    {
   127        "description": "enum with true does not match 1",
   128        "schema": {"enum": [true]},
   129        "tests": [
   130            {
   131                "description": "true is valid",
   132                "data": true,
   133                "valid": true
   134            },
   135            {
   136                "description": "integer one is invalid",
   137                "data": 1,
   138                "valid": false
   139            },
   140            {
   141                "description": "float one is invalid",
   142                "data": 1.0,
   143                "valid": false
   144            }
   145        ]
   146    },
   147    {
   148        "description": "enum with 0 does not match false",
   149        "schema": {"enum": [0]},
   150        "tests": [
   151            {
   152                "description": "false is invalid",
   153                "data": false,
   154                "valid": false
   155            },
   156            {
   157                "description": "integer zero is valid",
   158                "data": 0,
   159                "valid": true
   160            },
   161            {
   162                "description": "float zero is valid",
   163                "data": 0.0,
   164                "valid": true
   165            }
   166        ]
   167    },
   168    {
   169        "description": "enum with 1 does not match true",
   170        "schema": {"enum": [1]},
   171        "tests": [
   172            {
   173                "description": "true is invalid",
   174                "data": true,
   175                "valid": false
   176            },
   177            {
   178                "description": "integer one is valid",
   179                "data": 1,
   180                "valid": true
   181            },
   182            {
   183                "description": "float one is valid",
   184                "data": 1.0,
   185                "valid": true
   186            }
   187        ]
   188    }
   189]

View as plain text