xref: /aosp_15_r20/external/json-schema-validator/src/test/suite/tests/draft2020-12/propertyNames.json (revision 78c4dd6aa35290980cdcd1623a7e337e8d021c7c)
1[
2    {
3        "description": "propertyNames validation",
4        "schema": {
5            "$schema": "https://json-schema.org/draft/2020-12/schema",
6            "propertyNames": {"maxLength": 3}
7        },
8        "tests": [
9            {
10                "description": "all property names valid",
11                "data": {
12                    "f": {},
13                    "foo": {}
14                },
15                "valid": true
16            },
17            {
18                "description": "some property names invalid",
19                "data": {
20                    "foo": {},
21                    "foobar": {}
22                },
23                "valid": false
24            },
25            {
26                "description": "object without properties is valid",
27                "data": {},
28                "valid": true
29            },
30            {
31                "description": "ignores arrays",
32                "data": [1, 2, 3, 4],
33                "valid": true
34            },
35            {
36                "description": "ignores strings",
37                "data": "foobar",
38                "valid": true
39            },
40            {
41                "description": "ignores other non-objects",
42                "data": 12,
43                "valid": true
44            }
45        ]
46    },
47    {
48        "description": "propertyNames with boolean schema true",
49        "schema": {
50            "$schema": "https://json-schema.org/draft/2020-12/schema",
51            "propertyNames": true
52        },
53        "tests": [
54            {
55                "description": "object with any properties is valid",
56                "data": {"foo": 1},
57                "valid": true
58            },
59            {
60                "description": "empty object is valid",
61                "data": {},
62                "valid": true
63            }
64        ]
65    },
66    {
67        "description": "propertyNames with boolean schema false",
68        "schema": {
69            "$schema": "https://json-schema.org/draft/2020-12/schema",
70            "propertyNames": false
71        },
72        "tests": [
73            {
74                "description": "object with any properties is invalid",
75                "data": {"foo": 1},
76                "valid": false
77            },
78            {
79                "description": "empty object is valid",
80                "data": {},
81                "valid": true
82            }
83        ]
84    }
85]
86