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