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