additionalItems.json 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. [
  2. {
  3. "description": "additionalItems as schema",
  4. "schema": {
  5. "items": [],
  6. "additionalItems": {"type": "integer"}
  7. },
  8. "tests": [
  9. {
  10. "description": "additional items match schema",
  11. "data": [ 1, 2, 3, 4 ],
  12. "valid": true
  13. },
  14. {
  15. "description": "additional items do not match schema",
  16. "data": [ 1, 2, 3, "foo" ],
  17. "valid": false
  18. }
  19. ]
  20. },
  21. {
  22. "description": "items is schema, no additionalItems",
  23. "schema": {
  24. "items": {},
  25. "additionalItems": false
  26. },
  27. "tests": [
  28. {
  29. "description": "all items match schema",
  30. "data": [ 1, 2, 3, 4, 5 ],
  31. "valid": true
  32. }
  33. ]
  34. },
  35. {
  36. "description": "array of items with no additionalItems",
  37. "schema": {
  38. "items": [{}, {}, {}],
  39. "additionalItems": false
  40. },
  41. "tests": [
  42. {
  43. "description": "no additional items present",
  44. "data": [ 1, 2, 3 ],
  45. "valid": true
  46. },
  47. {
  48. "description": "additional items are not permitted",
  49. "data": [ 1, 2, 3, 4 ],
  50. "valid": false
  51. }
  52. ]
  53. },
  54. {
  55. "description": "additionalItems as false without items",
  56. "schema": {"additionalItems": false},
  57. "tests": [
  58. {
  59. "description":
  60. "items defaults to empty schema so everything is valid",
  61. "data": [ 1, 2, 3, 4, 5 ],
  62. "valid": true
  63. },
  64. {
  65. "description": "ignores non-arrays",
  66. "data": {"foo" : "bar"},
  67. "valid": true
  68. }
  69. ]
  70. },
  71. {
  72. "description": "additionalItems are allowed by default",
  73. "schema": {"items": []},
  74. "tests": [
  75. {
  76. "description": "only the first items are validated",
  77. "data": [1, "foo", false],
  78. "valid": true
  79. }
  80. ]
  81. }
  82. ]