Skip to content

Commit 3dab98c

Browse files
authored
Merge pull request #705 from json-schema-org/gregsdennis/remove-contains-objects-tests
contains no longer applies to objects
2 parents 0433a2b + 1d3aa49 commit 3dab98c

File tree

3 files changed

+17
-188
lines changed

3 files changed

+17
-188
lines changed

tests/draft-next/contains.json

+17-87
Original file line numberDiff line numberDiff line change
@@ -31,31 +31,6 @@
3131
"data": [],
3232
"valid": false
3333
},
34-
{
35-
"description": "object with property matching schema (5) is valid",
36-
"data": { "a": 3, "b": 4, "c": 5 },
37-
"valid": true
38-
},
39-
{
40-
"description": "object with property matching schema (6) is valid",
41-
"data": { "a": 3, "b": 4, "c": 6 },
42-
"valid": true
43-
},
44-
{
45-
"description": "object with two properties matching schema (5, 6) is valid",
46-
"data": { "a": 3, "b": 4, "c": 5, "d": 6 },
47-
"valid": true
48-
},
49-
{
50-
"description": "object without properties matching schema is invalid",
51-
"data": { "a": 2, "b": 3, "c": 4 },
52-
"valid": false
53-
},
54-
{
55-
"description": "empty object is invalid",
56-
"data": {},
57-
"valid": false
58-
},
5934
{
6035
"description": "not array or object is valid",
6136
"data": 42,
@@ -84,21 +59,6 @@
8459
"description": "array without item 5 is invalid",
8560
"data": [1, 2, 3, 4],
8661
"valid": false
87-
},
88-
{
89-
"description": "object with property 5 is valid",
90-
"data": { "a": 3, "b": 4, "c": 5 },
91-
"valid": true
92-
},
93-
{
94-
"description": "object with two properties 5 is valid",
95-
"data": { "a": 3, "b": 4, "c": 5, "d": 5 },
96-
"valid": true
97-
},
98-
{
99-
"description": "object without property 5 is invalid",
100-
"data": { "a": 1, "b": 2, "c": 3, "d": 4 },
101-
"valid": false
10262
}
10363
]
10464
},
@@ -118,16 +78,6 @@
11878
"description": "empty array is invalid",
11979
"data": [],
12080
"valid": false
121-
},
122-
{
123-
"description": "any non-empty object is valid",
124-
"data": { "a": "foo" },
125-
"valid": true
126-
},
127-
{
128-
"description": "empty object is invalid",
129-
"data": {},
130-
"valid": false
13181
}
13282
]
13383
},
@@ -149,18 +99,28 @@
14999
"valid": false
150100
},
151101
{
152-
"description": "any non-empty object is invalid",
153-
"data": ["foo"],
154-
"valid": false
102+
"description": "non-arrays are valid - string",
103+
"data": "contains does not apply to strings",
104+
"valid": true
155105
},
156106
{
157-
"description": "empty object is invalid",
107+
"description": "non-arrays are valid - object",
158108
"data": {},
159-
"valid": false
109+
"valid": true
160110
},
161111
{
162-
"description": "non-arrays/objects are valid",
163-
"data": "contains does not apply to strings",
112+
"description": "non-arrays are valid - number",
113+
"data": 42,
114+
"valid": true
115+
},
116+
{
117+
"description": "non-arrays are valid - boolean",
118+
"data": false,
119+
"valid": true
120+
},
121+
{
122+
"description": "non-arrays are valid - null",
123+
"data": null,
164124
"valid": true
165125
}
166126
]
@@ -193,26 +153,6 @@
193153
"description": "matches neither items nor contains",
194154
"data": [1, 5],
195155
"valid": false
196-
},
197-
{
198-
"description": "matches additionalProperties, does not match contains",
199-
"data": { "a": 2, "b": 4, "c": 8 },
200-
"valid": false
201-
},
202-
{
203-
"description": "does not match additionalProperties, matches contains",
204-
"data": { "a": 3, "b": 6, "c": 9 },
205-
"valid": false
206-
},
207-
{
208-
"description": "matches both additionalProperties and contains",
209-
"data": { "a": 6, "b": 12 },
210-
"valid": true
211-
},
212-
{
213-
"description": "matches neither additionalProperties nor contains",
214-
"data": { "a": 1, "b": 5 },
215-
"valid": false
216156
}
217157
]
218158
},
@@ -235,16 +175,6 @@
235175
"description": "empty array is invalid",
236176
"data": [],
237177
"valid": false
238-
},
239-
{
240-
"description": "any non-empty object is valid",
241-
"data": { "a": "foo" },
242-
"valid": true
243-
},
244-
{
245-
"description": "empty object is invalid",
246-
"data": {},
247-
"valid": false
248178
}
249179
]
250180
},

tests/draft-next/maxContains.json

-50
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,6 @@
1515
"description": "two items still valid against lone maxContains",
1616
"data": [1, 2],
1717
"valid": true
18-
},
19-
{
20-
"description": "one property valid against lone maxContains",
21-
"data": { "a": 1 },
22-
"valid": true
23-
},
24-
{
25-
"description": "two properties still valid against lone maxContains",
26-
"data": { "a": 1, "b": 2 },
27-
"valid": true
2818
}
2919
]
3020
},
@@ -60,31 +50,6 @@
6050
"description": "some elements match, invalid maxContains",
6151
"data": [1, 2, 1],
6252
"valid": false
63-
},
64-
{
65-
"description": "empty object",
66-
"data": {},
67-
"valid": false
68-
},
69-
{
70-
"description": "all properties match, valid maxContains",
71-
"data": { "a": 1 },
72-
"valid": true
73-
},
74-
{
75-
"description": "all properties match, invalid maxContains",
76-
"data": { "a": 1, "b": 1 },
77-
"valid": false
78-
},
79-
{
80-
"description": "some properties match, valid maxContains",
81-
"data": { "a": 1, "b": 2 },
82-
"valid": true
83-
},
84-
{
85-
"description": "some properties match, invalid maxContains",
86-
"data": { "a": 1, "b": 2, "c": 1 },
87-
"valid": false
8853
}
8954
]
9055
},
@@ -131,21 +96,6 @@
13196
"description": "array with minContains < maxContains < actual",
13297
"data": [1, 1, 1, 1],
13398
"valid": false
134-
},
135-
{
136-
"description": "object with actual < minContains < maxContains",
137-
"data": {},
138-
"valid": false
139-
},
140-
{
141-
"description": "object with minContains < actual < maxContains",
142-
"data": { "a": 1, "b": 1 },
143-
"valid": true
144-
},
145-
{
146-
"description": "object with minContains < maxContains < actual",
147-
"data": { "a": 1, "b": 1, "c": 1, "d": 1 },
148-
"valid": false
14999
}
150100
]
151101
}

tests/draft-next/unevaluatedProperties.json

-51
Original file line numberDiff line numberDiff line change
@@ -1413,57 +1413,6 @@
14131413
}
14141414
]
14151415
},
1416-
{
1417-
"description": "unevaluatedProperties depends on adjacent contains",
1418-
"schema": {
1419-
"$schema": "https://json-schema.org/draft/next/schema",
1420-
"properties": {
1421-
"foo": { "type": "number" }
1422-
},
1423-
"contains": { "type": "string" },
1424-
"unevaluatedProperties": false
1425-
},
1426-
"tests": [
1427-
{
1428-
"description": "bar is evaluated by contains",
1429-
"data": { "foo": 1, "bar": "foo" },
1430-
"valid": true
1431-
},
1432-
{
1433-
"description": "contains fails, bar is not evaluated",
1434-
"data": { "foo": 1, "bar": 2 },
1435-
"valid": false
1436-
},
1437-
{
1438-
"description": "contains passes, bar is not evaluated",
1439-
"data": { "foo": 1, "bar": 2, "baz": "foo" },
1440-
"valid": false
1441-
}
1442-
]
1443-
},
1444-
{
1445-
"description": "unevaluatedProperties depends on multiple nested contains",
1446-
"schema": {
1447-
"$schema": "https://json-schema.org/draft/next/schema",
1448-
"allOf": [
1449-
{ "contains": { "multipleOf": 2 } },
1450-
{ "contains": { "multipleOf": 3 } }
1451-
],
1452-
"unevaluatedProperties": { "multipleOf": 5 }
1453-
},
1454-
"tests": [
1455-
{
1456-
"description": "5 not evaluated, passes unevaluatedItems",
1457-
"data": { "a": 2, "b": 3, "c": 4, "d": 5, "e": 6 },
1458-
"valid": true
1459-
},
1460-
{
1461-
"description": "7 not evaluated, fails unevaluatedItems",
1462-
"data": { "a": 2, "b": 3, "c": 4, "d": 7, "e": 8 },
1463-
"valid": false
1464-
}
1465-
]
1466-
},
14671416
{
14681417
"description": "non-object instances are valid",
14691418
"schema": {

0 commit comments

Comments
 (0)