xref: /aosp_15_r20/external/json-schema-validator/src/test/suite/tests/draft3/extends.json (revision 78c4dd6aa35290980cdcd1623a7e337e8d021c7c)
1[
2    {
3        "description": "extends",
4        "schema": {
5            "properties": {"bar": {"type": "integer", "required": true}},
6            "extends": {
7                "properties": {
8                    "foo": {"type": "string", "required": true}
9                }
10            }
11        },
12        "tests": [
13            {
14                "description": "extends",
15                "data": {"foo": "baz", "bar": 2},
16                "valid": true
17            },
18            {
19                "description": "mismatch extends",
20                "data": {"foo": "baz"},
21                "valid": false
22            },
23            {
24                "description": "mismatch extended",
25                "data": {"bar": 2},
26                "valid": false
27            },
28            {
29                "description": "wrong type",
30                "data": {"foo": "baz", "bar": "quux"},
31                "valid": false
32            }
33        ]
34    },
35    {
36        "description": "multiple extends",
37        "schema": {
38            "properties": {"bar": {"type": "integer", "required": true}},
39            "extends" : [
40                {
41                    "properties": {
42                        "foo": {"type": "string", "required": true}
43                    }
44                },
45                {
46                    "properties": {
47                        "baz": {"type": "null", "required": true}
48                    }
49                }
50            ]
51        },
52        "tests": [
53            {
54                "description": "valid",
55                "data": {"foo": "quux", "bar": 2, "baz": null},
56                "valid": true
57            },
58            {
59                "description": "mismatch first extends",
60                "data": {"bar": 2, "baz": null},
61                "valid": false
62            },
63            {
64                "description": "mismatch second extends",
65                "data": {"foo": "quux", "bar": 2},
66                "valid": false
67            },
68            {
69                "description": "mismatch both",
70                "data": {"bar": 2},
71                "valid": false
72            }
73        ]
74    },
75    {
76        "description": "extends simple types",
77        "schema": {
78            "minimum": 20,
79            "extends": {"maximum": 30}
80        },
81        "tests": [
82            {
83                "description": "valid",
84                "data": 25,
85                "valid": true
86            },
87            {
88                "description": "mismatch extends",
89                "data": 35,
90                "valid": false
91            }
92        ]
93    }
94]
95