]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - contrib/libucl/tests/schema/dependencies.json
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / contrib / libucl / tests / schema / dependencies.json
1 [
2     {
3         "description": "dependencies",
4         "schema": {
5             "dependencies": {"bar": ["foo"]}
6         },
7         "tests": [
8             {
9                 "description": "neither",
10                 "data": {},
11                 "valid": true
12             },
13             {
14                 "description": "nondependant",
15                 "data": {"foo": 1},
16                 "valid": true
17             },
18             {
19                 "description": "with dependency",
20                 "data": {"foo": 1, "bar": 2},
21                 "valid": true
22             },
23             {
24                 "description": "missing dependency",
25                 "data": {"bar": 2},
26                 "valid": false
27             },
28             {
29                 "description": "ignores non-objects",
30                 "data": "foo",
31                 "valid": true
32             }
33         ]
34     },
35     {
36         "description": "multiple dependencies",
37         "schema": {
38             "dependencies": {"quux": ["foo", "bar"]}
39         },
40         "tests": [
41             {
42                 "description": "neither",
43                 "data": {},
44                 "valid": true
45             },
46             {
47                 "description": "nondependants",
48                 "data": {"foo": 1, "bar": 2},
49                 "valid": true
50             },
51             {
52                 "description": "with dependencies",
53                 "data": {"foo": 1, "bar": 2, "quux": 3},
54                 "valid": true
55             },
56             {
57                 "description": "missing dependency",
58                 "data": {"foo": 1, "quux": 2},
59                 "valid": false
60             },
61             {
62                 "description": "missing other dependency",
63                 "data": {"bar": 1, "quux": 2},
64                 "valid": false
65             },
66             {
67                 "description": "missing both dependencies",
68                 "data": {"quux": 1},
69                 "valid": false
70             }
71         ]
72     },
73     {
74         "description": "multiple dependencies subschema",
75         "schema": {
76             "dependencies": {
77                 "bar": {
78                     "properties": {
79                         "foo": {"type": "integer"},
80                         "bar": {"type": "integer"}
81                     }
82                 }
83             }
84         },
85         "tests": [
86             {
87                 "description": "valid",
88                 "data": {"foo": 1, "bar": 2},
89                 "valid": true
90             },
91             {
92                 "description": "no dependency",
93                 "data": {"foo": "quux"},
94                 "valid": true
95             },
96             {
97                 "description": "wrong type",
98                 "data": {"foo": "quux", "bar": 2},
99                 "valid": false
100             },
101             {
102                 "description": "wrong type other",
103                 "data": {"foo": 2, "bar": "quux"},
104                 "valid": false
105             },
106             {
107                 "description": "wrong type both",
108                 "data": {"foo": "quux", "bar": "quux"},
109                 "valid": false
110             }
111         ]
112     }
113 ]