xref: /freebsd/contrib/libucl/tests/schema/not.json (revision 97bd480f)
1*97bd480fSBaptiste Daroussin[
2*97bd480fSBaptiste Daroussin    {
3*97bd480fSBaptiste Daroussin        "description": "not",
4*97bd480fSBaptiste Daroussin        "schema": {
5*97bd480fSBaptiste Daroussin            "not": {"type": "integer"}
6*97bd480fSBaptiste Daroussin        },
7*97bd480fSBaptiste Daroussin        "tests": [
8*97bd480fSBaptiste Daroussin            {
9*97bd480fSBaptiste Daroussin                "description": "allowed",
10*97bd480fSBaptiste Daroussin                "data": "foo",
11*97bd480fSBaptiste Daroussin                "valid": true
12*97bd480fSBaptiste Daroussin            },
13*97bd480fSBaptiste Daroussin            {
14*97bd480fSBaptiste Daroussin                "description": "disallowed",
15*97bd480fSBaptiste Daroussin                "data": 1,
16*97bd480fSBaptiste Daroussin                "valid": false
17*97bd480fSBaptiste Daroussin            }
18*97bd480fSBaptiste Daroussin        ]
19*97bd480fSBaptiste Daroussin    },
20*97bd480fSBaptiste Daroussin    {
21*97bd480fSBaptiste Daroussin        "description": "not multiple types",
22*97bd480fSBaptiste Daroussin        "schema": {
23*97bd480fSBaptiste Daroussin            "not": {"type": ["integer", "boolean"]}
24*97bd480fSBaptiste Daroussin        },
25*97bd480fSBaptiste Daroussin        "tests": [
26*97bd480fSBaptiste Daroussin            {
27*97bd480fSBaptiste Daroussin                "description": "valid",
28*97bd480fSBaptiste Daroussin                "data": "foo",
29*97bd480fSBaptiste Daroussin                "valid": true
30*97bd480fSBaptiste Daroussin            },
31*97bd480fSBaptiste Daroussin            {
32*97bd480fSBaptiste Daroussin                "description": "mismatch",
33*97bd480fSBaptiste Daroussin                "data": 1,
34*97bd480fSBaptiste Daroussin                "valid": false
35*97bd480fSBaptiste Daroussin            },
36*97bd480fSBaptiste Daroussin            {
37*97bd480fSBaptiste Daroussin                "description": "other mismatch",
38*97bd480fSBaptiste Daroussin                "data": true,
39*97bd480fSBaptiste Daroussin                "valid": false
40*97bd480fSBaptiste Daroussin            }
41*97bd480fSBaptiste Daroussin        ]
42*97bd480fSBaptiste Daroussin    },
43*97bd480fSBaptiste Daroussin    {
44*97bd480fSBaptiste Daroussin        "description": "not more complex schema",
45*97bd480fSBaptiste Daroussin        "schema": {
46*97bd480fSBaptiste Daroussin            "not": {
47*97bd480fSBaptiste Daroussin                "type": "object",
48*97bd480fSBaptiste Daroussin                "properties": {
49*97bd480fSBaptiste Daroussin                    "foo": {
50*97bd480fSBaptiste Daroussin                        "type": "string"
51*97bd480fSBaptiste Daroussin                    }
52*97bd480fSBaptiste Daroussin                }
53*97bd480fSBaptiste Daroussin             }
54*97bd480fSBaptiste Daroussin        },
55*97bd480fSBaptiste Daroussin        "tests": [
56*97bd480fSBaptiste Daroussin            {
57*97bd480fSBaptiste Daroussin                "description": "match",
58*97bd480fSBaptiste Daroussin                "data": 1,
59*97bd480fSBaptiste Daroussin                "valid": true
60*97bd480fSBaptiste Daroussin            },
61*97bd480fSBaptiste Daroussin            {
62*97bd480fSBaptiste Daroussin                "description": "other match",
63*97bd480fSBaptiste Daroussin                "data": {"foo": 1},
64*97bd480fSBaptiste Daroussin                "valid": true
65*97bd480fSBaptiste Daroussin            },
66*97bd480fSBaptiste Daroussin            {
67*97bd480fSBaptiste Daroussin                "description": "mismatch",
68*97bd480fSBaptiste Daroussin                "data": {"foo": "bar"},
69*97bd480fSBaptiste Daroussin                "valid": false
70*97bd480fSBaptiste Daroussin            }
71*97bd480fSBaptiste Daroussin        ]
72*97bd480fSBaptiste Daroussin    },
73*97bd480fSBaptiste Daroussin    {
74*97bd480fSBaptiste Daroussin        "description": "forbidden property",
75*97bd480fSBaptiste Daroussin        "schema": {
76*97bd480fSBaptiste Daroussin            "properties": {
77*97bd480fSBaptiste Daroussin                "foo": {
78*97bd480fSBaptiste Daroussin                    "not": {}
79*97bd480fSBaptiste Daroussin                }
80*97bd480fSBaptiste Daroussin            }
81*97bd480fSBaptiste Daroussin        },
82*97bd480fSBaptiste Daroussin        "tests": [
83*97bd480fSBaptiste Daroussin            {
84*97bd480fSBaptiste Daroussin                "description": "property present",
85*97bd480fSBaptiste Daroussin                "data": {"foo": 1, "bar": 2},
86*97bd480fSBaptiste Daroussin                "valid": false
87*97bd480fSBaptiste Daroussin            },
88*97bd480fSBaptiste Daroussin            {
89*97bd480fSBaptiste Daroussin                "description": "property absent",
90*97bd480fSBaptiste Daroussin                "data": {"bar": 1, "baz": 2},
91*97bd480fSBaptiste Daroussin                "valid": true
92*97bd480fSBaptiste Daroussin            }
93*97bd480fSBaptiste Daroussin        ]
94*97bd480fSBaptiste Daroussin    }
95*97bd480fSBaptiste Daroussin
96*97bd480fSBaptiste Daroussin]
97