Skip to content

Commit 95fe6ca

Browse files
authored
Merge pull request #694 from json-schema-org/heterogeneous-additionalItems
Add tests for heterogeneous arrays with additionalItems
2 parents 9c88a0b + b8da838 commit 95fe6ca

File tree

7 files changed

+136
-0
lines changed

7 files changed

+136
-0
lines changed

Diff for: tests/draft-next/items.json

+20
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,26 @@
265265
}
266266
]
267267
},
268+
{
269+
"description": "items with heterogeneous array",
270+
"schema": {
271+
"$schema": "https://json-schema.org/draft/next/schema",
272+
"prefixItems": [{}],
273+
"items": false
274+
},
275+
"tests": [
276+
{
277+
"description": "heterogeneous invalid instance",
278+
"data": [ "foo", "bar", 37 ],
279+
"valid": false
280+
},
281+
{
282+
"description": "valid instance",
283+
"data": [ null ],
284+
"valid": true
285+
}
286+
]
287+
},
268288
{
269289
"description": "items with null instance elements",
270290
"schema": {

Diff for: tests/draft2019-09/additionalItems.json

+20
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,26 @@
182182
}
183183
]
184184
},
185+
{
186+
"description": "additionalItems with heterogeneous array",
187+
"schema": {
188+
"$schema": "https://json-schema.org/draft/2019-09/schema",
189+
"items": [{}],
190+
"additionalItems": false
191+
},
192+
"tests": [
193+
{
194+
"description": "heterogeneous invalid instance",
195+
"data": [ "foo", "bar", 37 ],
196+
"valid": false
197+
},
198+
{
199+
"description": "valid instance",
200+
"data": [ null ],
201+
"valid": true
202+
}
203+
]
204+
},
185205
{
186206
"description": "additionalItems with null instance elements",
187207
"schema": {

Diff for: tests/draft2020-12/items.json

+20
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,26 @@
265265
}
266266
]
267267
},
268+
{
269+
"description": "items with heterogeneous array",
270+
"schema": {
271+
"$schema": "https://json-schema.org/draft/2020-12/schema",
272+
"prefixItems": [{}],
273+
"items": false
274+
},
275+
"tests": [
276+
{
277+
"description": "heterogeneous invalid instance",
278+
"data": [ "foo", "bar", 37 ],
279+
"valid": false
280+
},
281+
{
282+
"description": "valid instance",
283+
"data": [ null ],
284+
"valid": true
285+
}
286+
]
287+
},
268288
{
269289
"description": "items with null instance elements",
270290
"schema": {

Diff for: tests/draft3/additionalItems.json

+19
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,25 @@
110110
}
111111
]
112112
},
113+
{
114+
"description": "additionalItems with heterogeneous array",
115+
"schema": {
116+
"items": [{}],
117+
"additionalItems": false
118+
},
119+
"tests": [
120+
{
121+
"description": "heterogeneous invalid instance",
122+
"data": [ "foo", "bar", 37 ],
123+
"valid": false
124+
},
125+
{
126+
"description": "valid instance",
127+
"data": [ null ],
128+
"valid": true
129+
}
130+
]
131+
},
113132
{
114133
"description": "additionalItems with null instance elements",
115134
"schema": {

Diff for: tests/draft4/additionalItems.json

+19
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,25 @@
146146
}
147147
]
148148
},
149+
{
150+
"description": "additionalItems with heterogeneous array",
151+
"schema": {
152+
"items": [{}],
153+
"additionalItems": false
154+
},
155+
"tests": [
156+
{
157+
"description": "heterogeneous invalid instance",
158+
"data": [ "foo", "bar", 37 ],
159+
"valid": false
160+
},
161+
{
162+
"description": "valid instance",
163+
"data": [ null ],
164+
"valid": true
165+
}
166+
]
167+
},
149168
{
150169
"description": "additionalItems with null instance elements",
151170
"schema": {

Diff for: tests/draft6/additionalItems.json

+19
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,25 @@
169169
}
170170
]
171171
},
172+
{
173+
"description": "additionalItems with heterogeneous array",
174+
"schema": {
175+
"items": [{}],
176+
"additionalItems": false
177+
},
178+
"tests": [
179+
{
180+
"description": "heterogeneous invalid instance",
181+
"data": [ "foo", "bar", 37 ],
182+
"valid": false
183+
},
184+
{
185+
"description": "valid instance",
186+
"data": [ null ],
187+
"valid": true
188+
}
189+
]
190+
},
172191
{
173192
"description": "additionalItems with null instance elements",
174193
"schema": {

Diff for: tests/draft7/additionalItems.json

+19
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,25 @@
169169
}
170170
]
171171
},
172+
{
173+
"description": "additionalItems with heterogeneous array",
174+
"schema": {
175+
"items": [{}],
176+
"additionalItems": false
177+
},
178+
"tests": [
179+
{
180+
"description": "heterogeneous invalid instance",
181+
"data": [ "foo", "bar", 37 ],
182+
"valid": false
183+
},
184+
{
185+
"description": "valid instance",
186+
"data": [ null ],
187+
"valid": true
188+
}
189+
]
190+
},
172191
{
173192
"description": "additionalItems with null instance elements",
174193
"schema": {

0 commit comments

Comments
 (0)