xref: /freebsd/contrib/libucl/tests/schema/anyOf.json (revision 97bd480f)
1*97bd480fSBaptiste Daroussin[
2*97bd480fSBaptiste Daroussin    {
3*97bd480fSBaptiste Daroussin        "description": "anyOf",
4*97bd480fSBaptiste Daroussin        "schema": {
5*97bd480fSBaptiste Daroussin            "anyOf": [
6*97bd480fSBaptiste Daroussin                {
7*97bd480fSBaptiste Daroussin                    "type": "integer"
8*97bd480fSBaptiste Daroussin                },
9*97bd480fSBaptiste Daroussin                {
10*97bd480fSBaptiste Daroussin                    "minimum": 2
11*97bd480fSBaptiste Daroussin                }
12*97bd480fSBaptiste Daroussin            ]
13*97bd480fSBaptiste Daroussin        },
14*97bd480fSBaptiste Daroussin        "tests": [
15*97bd480fSBaptiste Daroussin            {
16*97bd480fSBaptiste Daroussin                "description": "first anyOf valid",
17*97bd480fSBaptiste Daroussin                "data": 1,
18*97bd480fSBaptiste Daroussin                "valid": true
19*97bd480fSBaptiste Daroussin            },
20*97bd480fSBaptiste Daroussin            {
21*97bd480fSBaptiste Daroussin                "description": "second anyOf valid",
22*97bd480fSBaptiste Daroussin                "data": 2.5,
23*97bd480fSBaptiste Daroussin                "valid": true
24*97bd480fSBaptiste Daroussin            },
25*97bd480fSBaptiste Daroussin            {
26*97bd480fSBaptiste Daroussin                "description": "both anyOf valid",
27*97bd480fSBaptiste Daroussin                "data": 3,
28*97bd480fSBaptiste Daroussin                "valid": true
29*97bd480fSBaptiste Daroussin            },
30*97bd480fSBaptiste Daroussin            {
31*97bd480fSBaptiste Daroussin                "description": "neither anyOf valid",
32*97bd480fSBaptiste Daroussin                "data": 1.5,
33*97bd480fSBaptiste Daroussin                "valid": false
34*97bd480fSBaptiste Daroussin            }
35*97bd480fSBaptiste Daroussin        ]
36*97bd480fSBaptiste Daroussin    },
37*97bd480fSBaptiste Daroussin    {
38*97bd480fSBaptiste Daroussin        "description": "anyOf with base schema",
39*97bd480fSBaptiste Daroussin        "schema": {
40*97bd480fSBaptiste Daroussin            "type": "string",
41*97bd480fSBaptiste Daroussin            "anyOf" : [
42*97bd480fSBaptiste Daroussin                {
43*97bd480fSBaptiste Daroussin                    "maxLength": 2
44*97bd480fSBaptiste Daroussin                },
45*97bd480fSBaptiste Daroussin                {
46*97bd480fSBaptiste Daroussin                    "minLength": 4
47*97bd480fSBaptiste Daroussin                }
48*97bd480fSBaptiste Daroussin            ]
49*97bd480fSBaptiste Daroussin        },
50*97bd480fSBaptiste Daroussin        "tests": [
51*97bd480fSBaptiste Daroussin            {
52*97bd480fSBaptiste Daroussin                "description": "mismatch base schema",
53*97bd480fSBaptiste Daroussin                "data": 3,
54*97bd480fSBaptiste Daroussin                "valid": false
55*97bd480fSBaptiste Daroussin            },
56*97bd480fSBaptiste Daroussin            {
57*97bd480fSBaptiste Daroussin                "description": "one anyOf valid",
58*97bd480fSBaptiste Daroussin                "data": "foobar",
59*97bd480fSBaptiste Daroussin                "valid": true
60*97bd480fSBaptiste Daroussin            },
61*97bd480fSBaptiste Daroussin            {
62*97bd480fSBaptiste Daroussin                "description": "both anyOf invalid",
63*97bd480fSBaptiste Daroussin                "data": "foo",
64*97bd480fSBaptiste Daroussin                "valid": false
65*97bd480fSBaptiste Daroussin            }
66*97bd480fSBaptiste Daroussin        ]
67*97bd480fSBaptiste Daroussin    }
68*97bd480fSBaptiste Daroussin]
69