Skip to content

Commit f7b6c90

Browse files
committed
Add tests for empty enum validation
Signed-off-by: Vaibhav mittal <vaibhavmittal929@gmail.com>
1 parent 601aa70 commit f7b6c90

File tree

5 files changed

+189
-0
lines changed

5 files changed

+189
-0
lines changed

tests/draft2019-09/enum.json

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -354,5 +354,44 @@
354354
"valid": false
355355
}
356356
]
357+
},
358+
{
359+
"description": "empty enum",
360+
"schema": {
361+
"$schema": "https://json-schema.org/draft/2019-09/schema",
362+
"enum": []
363+
},
364+
"tests": [
365+
{
366+
"description": "string is invalid",
367+
"data": "foo",
368+
"valid": false
369+
},
370+
{
371+
"description": "number is invalid",
372+
"data": 42,
373+
"valid": false
374+
},
375+
{
376+
"description": "null is invalid",
377+
"data": null,
378+
"valid": false
379+
},
380+
{
381+
"description": "object is invalid",
382+
"data": {},
383+
"valid": false
384+
},
385+
{
386+
"description": "array is invalid",
387+
"data": [],
388+
"valid": false
389+
},
390+
{
391+
"description": "boolean is invalid",
392+
"data": false,
393+
"valid": false
394+
}
395+
]
357396
}
358397
]

tests/draft2020-12/enum.json

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -354,5 +354,44 @@
354354
"valid": false
355355
}
356356
]
357+
},
358+
{
359+
"description": "empty enum",
360+
"schema": {
361+
"$schema": "https://json-schema.org/draft/2020-12/schema",
362+
"enum": []
363+
},
364+
"tests": [
365+
{
366+
"description": "string is invalid",
367+
"data": "foo",
368+
"valid": false
369+
},
370+
{
371+
"description": "number is invalid",
372+
"data": 42,
373+
"valid": false
374+
},
375+
{
376+
"description": "null is invalid",
377+
"data": null,
378+
"valid": false
379+
},
380+
{
381+
"description": "object is invalid",
382+
"data": {},
383+
"valid": false
384+
},
385+
{
386+
"description": "array is invalid",
387+
"data": [],
388+
"valid": false
389+
},
390+
{
391+
"description": "boolean is invalid",
392+
"data": false,
393+
"valid": false
394+
}
395+
]
357396
}
358397
]

tests/draft6/enum.json

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,5 +316,41 @@
316316
"valid": false
317317
}
318318
]
319+
},
320+
{
321+
"description": "empty enum",
322+
"schema": {"enum": []},
323+
"tests": [
324+
{
325+
"description": "string is invalid",
326+
"data": "foo",
327+
"valid": false
328+
},
329+
{
330+
"description": "number is invalid",
331+
"data": 42,
332+
"valid": false
333+
},
334+
{
335+
"description": "null is invalid",
336+
"data": null,
337+
"valid": false
338+
},
339+
{
340+
"description": "object is invalid",
341+
"data": {},
342+
"valid": false
343+
},
344+
{
345+
"description": "array is invalid",
346+
"data": [],
347+
"valid": false
348+
},
349+
{
350+
"description": "boolean is invalid",
351+
"data": false,
352+
"valid": false
353+
}
354+
]
319355
}
320356
]

tests/draft7/enum.json

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,5 +316,41 @@
316316
"valid": false
317317
}
318318
]
319+
},
320+
{
321+
"description": "empty enum",
322+
"schema": {"enum": []},
323+
"tests": [
324+
{
325+
"description": "string is invalid",
326+
"data": "foo",
327+
"valid": false
328+
},
329+
{
330+
"description": "number is invalid",
331+
"data": 42,
332+
"valid": false
333+
},
334+
{
335+
"description": "null is invalid",
336+
"data": null,
337+
"valid": false
338+
},
339+
{
340+
"description": "object is invalid",
341+
"data": {},
342+
"valid": false
343+
},
344+
{
345+
"description": "array is invalid",
346+
"data": [],
347+
"valid": false
348+
},
349+
{
350+
"description": "boolean is invalid",
351+
"data": false,
352+
"valid": false
353+
}
354+
]
319355
}
320356
]

tests/v1/enum.json

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -354,5 +354,44 @@
354354
"valid": false
355355
}
356356
]
357+
},
358+
{
359+
"description": "empty enum",
360+
"schema": {
361+
"$schema": "https://json-schema.org/v1",
362+
"enum": []
363+
},
364+
"tests": [
365+
{
366+
"description": "string is invalid",
367+
"data": "foo",
368+
"valid": false
369+
},
370+
{
371+
"description": "number is invalid",
372+
"data": 42,
373+
"valid": false
374+
},
375+
{
376+
"description": "null is invalid",
377+
"data": null,
378+
"valid": false
379+
},
380+
{
381+
"description": "object is invalid",
382+
"data": {},
383+
"valid": false
384+
},
385+
{
386+
"description": "array is invalid",
387+
"data": [],
388+
"valid": false
389+
},
390+
{
391+
"description": "boolean is invalid",
392+
"data": false,
393+
"valid": false
394+
}
395+
]
357396
}
358397
]

0 commit comments

Comments
 (0)