xref: /aosp_15_r20/external/json-schema-validator/src/test/suite/tests/draft3/enum.json (revision 78c4dd6aa35290980cdcd1623a7e337e8d021c7c)
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": "heterogeneous enum-with-null validation",
41        "schema": { "enum": [6, null] },
42        "tests": [
43            {
44                "description": "null is valid",
45                "data": null,
46                "valid": true
47            },
48            {
49                "description": "number is valid",
50                "data": 6,
51                "valid": true
52            },
53            {
54                "description": "something else is invalid",
55                "data": "test",
56                "valid": false
57            }
58        ]
59    },
60    {
61        "description": "enums in properties",
62        "schema": {
63            "type":"object",
64            "properties": {
65                "foo": {"enum":["foo"]},
66                "bar": {"enum":["bar"], "required":true}
67            }
68        },
69        "tests": [
70            {
71                "description": "both properties are valid",
72                "data": {"foo":"foo", "bar":"bar"},
73                "valid": true
74            },
75            {
76                "description": "wrong foo value",
77                "data": {"foo":"foot", "bar":"bar"},
78                "valid": false
79            },
80            {
81                "description": "wrong bar value",
82                "data": {"foo":"foo", "bar":"bart"},
83                "valid": false
84            },
85            {
86                "description": "missing optional property is valid",
87                "data": {"bar":"bar"},
88                "valid": true
89            },
90            {
91                "description": "missing required property is invalid",
92                "data": {"foo":"foo"},
93                "valid": false
94            },
95            {
96                "description": "missing all properties is invalid",
97                "data": {},
98                "valid": false
99            }
100        ]
101    },
102    {
103        "description": "nul characters in strings",
104        "schema": { "enum": [ "hello\u0000there" ] },
105        "tests": [
106            {
107                "description": "match string with nul",
108                "data": "hello\u0000there",
109                "valid": true
110            },
111            {
112                "description": "do not match string lacking nul",
113                "data": "hellothere",
114                "valid": false
115            }
116        ]
117    }
118]
119