]> git.proxmox.com Git - ceph.git/blob - ceph/src/rapidjson/bin/jsonschema/tests/draft3/ref.json
update sources to v12.1.0
[ceph.git] / ceph / src / rapidjson / bin / jsonschema / tests / draft3 / ref.json
1 [
2 {
3 "description": "root pointer ref",
4 "schema": {
5 "properties": {
6 "foo": {"$ref": "#"}
7 },
8 "additionalProperties": false
9 },
10 "tests": [
11 {
12 "description": "match",
13 "data": {"foo": false},
14 "valid": true
15 },
16 {
17 "description": "recursive match",
18 "data": {"foo": {"foo": false}},
19 "valid": true
20 },
21 {
22 "description": "mismatch",
23 "data": {"bar": false},
24 "valid": false
25 },
26 {
27 "description": "recursive mismatch",
28 "data": {"foo": {"bar": false}},
29 "valid": false
30 }
31 ]
32 },
33 {
34 "description": "relative pointer ref to object",
35 "schema": {
36 "properties": {
37 "foo": {"type": "integer"},
38 "bar": {"$ref": "#/properties/foo"}
39 }
40 },
41 "tests": [
42 {
43 "description": "match",
44 "data": {"bar": 3},
45 "valid": true
46 },
47 {
48 "description": "mismatch",
49 "data": {"bar": true},
50 "valid": false
51 }
52 ]
53 },
54 {
55 "description": "relative pointer ref to array",
56 "schema": {
57 "items": [
58 {"type": "integer"},
59 {"$ref": "#/items/0"}
60 ]
61 },
62 "tests": [
63 {
64 "description": "match array",
65 "data": [1, 2],
66 "valid": true
67 },
68 {
69 "description": "mismatch array",
70 "data": [1, "foo"],
71 "valid": false
72 }
73 ]
74 },
75 {
76 "description": "escaped pointer ref",
77 "schema": {
78 "tilda~field": {"type": "integer"},
79 "slash/field": {"type": "integer"},
80 "percent%field": {"type": "integer"},
81 "properties": {
82 "tilda": {"$ref": "#/tilda~0field"},
83 "slash": {"$ref": "#/slash~1field"},
84 "percent": {"$ref": "#/percent%25field"}
85 }
86 },
87 "tests": [
88 {
89 "description": "slash invalid",
90 "data": {"slash": "aoeu"},
91 "valid": false
92 },
93 {
94 "description": "tilda invalid",
95 "data": {"tilda": "aoeu"},
96 "valid": false
97 },
98 {
99 "description": "percent invalid",
100 "data": {"percent": "aoeu"},
101 "valid": false
102 },
103 {
104 "description": "slash valid",
105 "data": {"slash": 123},
106 "valid": true
107 },
108 {
109 "description": "tilda valid",
110 "data": {"tilda": 123},
111 "valid": true
112 },
113 {
114 "description": "percent valid",
115 "data": {"percent": 123},
116 "valid": true
117 }
118 ]
119 },
120 {
121 "description": "nested refs",
122 "schema": {
123 "definitions": {
124 "a": {"type": "integer"},
125 "b": {"$ref": "#/definitions/a"},
126 "c": {"$ref": "#/definitions/b"}
127 },
128 "$ref": "#/definitions/c"
129 },
130 "tests": [
131 {
132 "description": "nested ref valid",
133 "data": 5,
134 "valid": true
135 },
136 {
137 "description": "nested ref invalid",
138 "data": "a",
139 "valid": false
140 }
141 ]
142 },
143 {
144 "description": "remote ref, containing refs itself",
145 "schema": {"$ref": "http://json-schema.org/draft-03/schema#"},
146 "tests": [
147 {
148 "description": "remote ref valid",
149 "data": {"items": {"type": "integer"}},
150 "valid": true
151 },
152 {
153 "description": "remote ref invalid",
154 "data": {"items": {"type": 1}},
155 "valid": false
156 }
157 ]
158 }
159 ]