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