json_schemer 0.2.7 → 0.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +1 -6
  3. data/Gemfile.lock +7 -7
  4. data/json_schemer.gemspec +3 -3
  5. data/lib/json_schemer.rb +2 -0
  6. data/lib/json_schemer/errors.rb +31 -0
  7. data/lib/json_schemer/format.rb +25 -58
  8. data/lib/json_schemer/schema/base.rb +52 -32
  9. data/lib/json_schemer/version.rb +1 -1
  10. metadata +8 -229
  11. data/JSON-Schema-Test-Suite/.gitignore +0 -1
  12. data/JSON-Schema-Test-Suite/.travis.yml +0 -8
  13. data/JSON-Schema-Test-Suite/LICENSE +0 -19
  14. data/JSON-Schema-Test-Suite/README.md +0 -181
  15. data/JSON-Schema-Test-Suite/bin/jsonschema_suite +0 -295
  16. data/JSON-Schema-Test-Suite/index.js +0 -45
  17. data/JSON-Schema-Test-Suite/package.json +0 -28
  18. data/JSON-Schema-Test-Suite/remotes/folder/folderInteger.json +0 -3
  19. data/JSON-Schema-Test-Suite/remotes/integer.json +0 -3
  20. data/JSON-Schema-Test-Suite/remotes/name-defs.json +0 -11
  21. data/JSON-Schema-Test-Suite/remotes/name.json +0 -11
  22. data/JSON-Schema-Test-Suite/remotes/subSchemas.json +0 -8
  23. data/JSON-Schema-Test-Suite/test-schema.json +0 -59
  24. data/JSON-Schema-Test-Suite/tests/draft2019-08/additionalItems.json +0 -87
  25. data/JSON-Schema-Test-Suite/tests/draft2019-08/additionalProperties.json +0 -133
  26. data/JSON-Schema-Test-Suite/tests/draft2019-08/allOf.json +0 -218
  27. data/JSON-Schema-Test-Suite/tests/draft2019-08/anyOf.json +0 -189
  28. data/JSON-Schema-Test-Suite/tests/draft2019-08/boolean_schema.json +0 -104
  29. data/JSON-Schema-Test-Suite/tests/draft2019-08/const.json +0 -170
  30. data/JSON-Schema-Test-Suite/tests/draft2019-08/contains.json +0 -95
  31. data/JSON-Schema-Test-Suite/tests/draft2019-08/default.json +0 -49
  32. data/JSON-Schema-Test-Suite/tests/draft2019-08/defs.json +0 -24
  33. data/JSON-Schema-Test-Suite/tests/draft2019-08/dependencies.json +0 -268
  34. data/JSON-Schema-Test-Suite/tests/draft2019-08/enum.json +0 -179
  35. data/JSON-Schema-Test-Suite/tests/draft2019-08/exclusiveMaximum.json +0 -30
  36. data/JSON-Schema-Test-Suite/tests/draft2019-08/exclusiveMinimum.json +0 -30
  37. data/JSON-Schema-Test-Suite/tests/draft2019-08/if-then-else.json +0 -188
  38. data/JSON-Schema-Test-Suite/tests/draft2019-08/items.json +0 -250
  39. data/JSON-Schema-Test-Suite/tests/draft2019-08/maxItems.json +0 -28
  40. data/JSON-Schema-Test-Suite/tests/draft2019-08/maxLength.json +0 -33
  41. data/JSON-Schema-Test-Suite/tests/draft2019-08/maxProperties.json +0 -38
  42. data/JSON-Schema-Test-Suite/tests/draft2019-08/maximum.json +0 -28
  43. data/JSON-Schema-Test-Suite/tests/draft2019-08/minItems.json +0 -28
  44. data/JSON-Schema-Test-Suite/tests/draft2019-08/minLength.json +0 -33
  45. data/JSON-Schema-Test-Suite/tests/draft2019-08/minProperties.json +0 -38
  46. data/JSON-Schema-Test-Suite/tests/draft2019-08/minimum.json +0 -59
  47. data/JSON-Schema-Test-Suite/tests/draft2019-08/multipleOf.json +0 -60
  48. data/JSON-Schema-Test-Suite/tests/draft2019-08/not.json +0 -117
  49. data/JSON-Schema-Test-Suite/tests/draft2019-08/oneOf.json +0 -206
  50. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/bignum.json +0 -105
  51. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/content.json +0 -77
  52. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/ecmascript-regex.json +0 -13
  53. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/date-time.json +0 -53
  54. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/date.json +0 -23
  55. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/email.json +0 -18
  56. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/hostname.json +0 -33
  57. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/idn-email.json +0 -18
  58. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/idn-hostname.json +0 -28
  59. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/ipv4.json +0 -33
  60. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/ipv6.json +0 -28
  61. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/iri-reference.json +0 -43
  62. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/iri.json +0 -53
  63. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/json-pointer.json +0 -168
  64. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/regex.json +0 -18
  65. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/relative-json-pointer.json +0 -33
  66. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/time.json +0 -23
  67. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/uri-reference.json +0 -43
  68. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/uri-template.json +0 -28
  69. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/uri.json +0 -103
  70. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/zeroTerminatedFloats.json +0 -15
  71. data/JSON-Schema-Test-Suite/tests/draft2019-08/pattern.json +0 -34
  72. data/JSON-Schema-Test-Suite/tests/draft2019-08/patternProperties.json +0 -151
  73. data/JSON-Schema-Test-Suite/tests/draft2019-08/properties.json +0 -167
  74. data/JSON-Schema-Test-Suite/tests/draft2019-08/propertyNames.json +0 -78
  75. data/JSON-Schema-Test-Suite/tests/draft2019-08/ref.json +0 -443
  76. data/JSON-Schema-Test-Suite/tests/draft2019-08/refRemote.json +0 -167
  77. data/JSON-Schema-Test-Suite/tests/draft2019-08/required.json +0 -105
  78. data/JSON-Schema-Test-Suite/tests/draft2019-08/type.json +0 -464
  79. data/JSON-Schema-Test-Suite/tests/draft2019-08/uniqueItems.json +0 -89
  80. data/JSON-Schema-Test-Suite/tests/draft3/additionalItems.json +0 -82
  81. data/JSON-Schema-Test-Suite/tests/draft3/additionalProperties.json +0 -133
  82. data/JSON-Schema-Test-Suite/tests/draft3/default.json +0 -49
  83. data/JSON-Schema-Test-Suite/tests/draft3/dependencies.json +0 -118
  84. data/JSON-Schema-Test-Suite/tests/draft3/disallow.json +0 -80
  85. data/JSON-Schema-Test-Suite/tests/draft3/divisibleBy.json +0 -60
  86. data/JSON-Schema-Test-Suite/tests/draft3/enum.json +0 -71
  87. data/JSON-Schema-Test-Suite/tests/draft3/extends.json +0 -94
  88. data/JSON-Schema-Test-Suite/tests/draft3/items.json +0 -46
  89. data/JSON-Schema-Test-Suite/tests/draft3/maxItems.json +0 -28
  90. data/JSON-Schema-Test-Suite/tests/draft3/maxLength.json +0 -33
  91. data/JSON-Schema-Test-Suite/tests/draft3/maximum.json +0 -42
  92. data/JSON-Schema-Test-Suite/tests/draft3/minItems.json +0 -28
  93. data/JSON-Schema-Test-Suite/tests/draft3/minLength.json +0 -33
  94. data/JSON-Schema-Test-Suite/tests/draft3/minimum.json +0 -73
  95. data/JSON-Schema-Test-Suite/tests/draft3/optional/bignum.json +0 -107
  96. data/JSON-Schema-Test-Suite/tests/draft3/optional/format.json +0 -227
  97. data/JSON-Schema-Test-Suite/tests/draft3/optional/jsregex.json +0 -18
  98. data/JSON-Schema-Test-Suite/tests/draft3/optional/zeroTerminatedFloats.json +0 -15
  99. data/JSON-Schema-Test-Suite/tests/draft3/pattern.json +0 -34
  100. data/JSON-Schema-Test-Suite/tests/draft3/patternProperties.json +0 -115
  101. data/JSON-Schema-Test-Suite/tests/draft3/properties.json +0 -97
  102. data/JSON-Schema-Test-Suite/tests/draft3/ref.json +0 -192
  103. data/JSON-Schema-Test-Suite/tests/draft3/refRemote.json +0 -74
  104. data/JSON-Schema-Test-Suite/tests/draft3/required.json +0 -53
  105. data/JSON-Schema-Test-Suite/tests/draft3/type.json +0 -489
  106. data/JSON-Schema-Test-Suite/tests/draft3/uniqueItems.json +0 -79
  107. data/JSON-Schema-Test-Suite/tests/draft4/additionalItems.json +0 -87
  108. data/JSON-Schema-Test-Suite/tests/draft4/additionalProperties.json +0 -133
  109. data/JSON-Schema-Test-Suite/tests/draft4/allOf.json +0 -185
  110. data/JSON-Schema-Test-Suite/tests/draft4/anyOf.json +0 -156
  111. data/JSON-Schema-Test-Suite/tests/draft4/default.json +0 -49
  112. data/JSON-Schema-Test-Suite/tests/draft4/definitions.json +0 -32
  113. data/JSON-Schema-Test-Suite/tests/draft4/dependencies.json +0 -194
  114. data/JSON-Schema-Test-Suite/tests/draft4/enum.json +0 -179
  115. data/JSON-Schema-Test-Suite/tests/draft4/items.json +0 -195
  116. data/JSON-Schema-Test-Suite/tests/draft4/maxItems.json +0 -28
  117. data/JSON-Schema-Test-Suite/tests/draft4/maxLength.json +0 -33
  118. data/JSON-Schema-Test-Suite/tests/draft4/maxProperties.json +0 -38
  119. data/JSON-Schema-Test-Suite/tests/draft4/maximum.json +0 -73
  120. data/JSON-Schema-Test-Suite/tests/draft4/minItems.json +0 -28
  121. data/JSON-Schema-Test-Suite/tests/draft4/minLength.json +0 -33
  122. data/JSON-Schema-Test-Suite/tests/draft4/minProperties.json +0 -38
  123. data/JSON-Schema-Test-Suite/tests/draft4/minimum.json +0 -104
  124. data/JSON-Schema-Test-Suite/tests/draft4/multipleOf.json +0 -60
  125. data/JSON-Schema-Test-Suite/tests/draft4/not.json +0 -96
  126. data/JSON-Schema-Test-Suite/tests/draft4/oneOf.json +0 -162
  127. data/JSON-Schema-Test-Suite/tests/draft4/optional/bignum.json +0 -107
  128. data/JSON-Schema-Test-Suite/tests/draft4/optional/ecmascript-regex.json +0 -13
  129. data/JSON-Schema-Test-Suite/tests/draft4/optional/format.json +0 -253
  130. data/JSON-Schema-Test-Suite/tests/draft4/optional/zeroTerminatedFloats.json +0 -15
  131. data/JSON-Schema-Test-Suite/tests/draft4/pattern.json +0 -34
  132. data/JSON-Schema-Test-Suite/tests/draft4/patternProperties.json +0 -120
  133. data/JSON-Schema-Test-Suite/tests/draft4/properties.json +0 -136
  134. data/JSON-Schema-Test-Suite/tests/draft4/ref.json +0 -411
  135. data/JSON-Schema-Test-Suite/tests/draft4/refRemote.json +0 -171
  136. data/JSON-Schema-Test-Suite/tests/draft4/required.json +0 -89
  137. data/JSON-Schema-Test-Suite/tests/draft4/type.json +0 -464
  138. data/JSON-Schema-Test-Suite/tests/draft4/uniqueItems.json +0 -89
  139. data/JSON-Schema-Test-Suite/tests/draft6/additionalItems.json +0 -87
  140. data/JSON-Schema-Test-Suite/tests/draft6/additionalProperties.json +0 -133
  141. data/JSON-Schema-Test-Suite/tests/draft6/allOf.json +0 -218
  142. data/JSON-Schema-Test-Suite/tests/draft6/anyOf.json +0 -189
  143. data/JSON-Schema-Test-Suite/tests/draft6/boolean_schema.json +0 -104
  144. data/JSON-Schema-Test-Suite/tests/draft6/const.json +0 -170
  145. data/JSON-Schema-Test-Suite/tests/draft6/contains.json +0 -100
  146. data/JSON-Schema-Test-Suite/tests/draft6/default.json +0 -49
  147. data/JSON-Schema-Test-Suite/tests/draft6/definitions.json +0 -32
  148. data/JSON-Schema-Test-Suite/tests/draft6/dependencies.json +0 -268
  149. data/JSON-Schema-Test-Suite/tests/draft6/enum.json +0 -179
  150. data/JSON-Schema-Test-Suite/tests/draft6/exclusiveMaximum.json +0 -30
  151. data/JSON-Schema-Test-Suite/tests/draft6/exclusiveMinimum.json +0 -30
  152. data/JSON-Schema-Test-Suite/tests/draft6/items.json +0 -250
  153. data/JSON-Schema-Test-Suite/tests/draft6/maxItems.json +0 -28
  154. data/JSON-Schema-Test-Suite/tests/draft6/maxLength.json +0 -33
  155. data/JSON-Schema-Test-Suite/tests/draft6/maxProperties.json +0 -38
  156. data/JSON-Schema-Test-Suite/tests/draft6/maximum.json +0 -28
  157. data/JSON-Schema-Test-Suite/tests/draft6/minItems.json +0 -28
  158. data/JSON-Schema-Test-Suite/tests/draft6/minLength.json +0 -33
  159. data/JSON-Schema-Test-Suite/tests/draft6/minProperties.json +0 -38
  160. data/JSON-Schema-Test-Suite/tests/draft6/minimum.json +0 -59
  161. data/JSON-Schema-Test-Suite/tests/draft6/multipleOf.json +0 -60
  162. data/JSON-Schema-Test-Suite/tests/draft6/not.json +0 -117
  163. data/JSON-Schema-Test-Suite/tests/draft6/oneOf.json +0 -206
  164. data/JSON-Schema-Test-Suite/tests/draft6/optional/bignum.json +0 -105
  165. data/JSON-Schema-Test-Suite/tests/draft6/optional/ecmascript-regex.json +0 -13
  166. data/JSON-Schema-Test-Suite/tests/draft6/optional/format.json +0 -491
  167. data/JSON-Schema-Test-Suite/tests/draft6/optional/zeroTerminatedFloats.json +0 -15
  168. data/JSON-Schema-Test-Suite/tests/draft6/pattern.json +0 -34
  169. data/JSON-Schema-Test-Suite/tests/draft6/patternProperties.json +0 -151
  170. data/JSON-Schema-Test-Suite/tests/draft6/properties.json +0 -167
  171. data/JSON-Schema-Test-Suite/tests/draft6/propertyNames.json +0 -78
  172. data/JSON-Schema-Test-Suite/tests/draft6/ref.json +0 -443
  173. data/JSON-Schema-Test-Suite/tests/draft6/refRemote.json +0 -171
  174. data/JSON-Schema-Test-Suite/tests/draft6/required.json +0 -105
  175. data/JSON-Schema-Test-Suite/tests/draft6/type.json +0 -464
  176. data/JSON-Schema-Test-Suite/tests/draft6/uniqueItems.json +0 -89
  177. data/JSON-Schema-Test-Suite/tests/draft7/additionalItems.json +0 -87
  178. data/JSON-Schema-Test-Suite/tests/draft7/additionalProperties.json +0 -133
  179. data/JSON-Schema-Test-Suite/tests/draft7/allOf.json +0 -218
  180. data/JSON-Schema-Test-Suite/tests/draft7/anyOf.json +0 -189
  181. data/JSON-Schema-Test-Suite/tests/draft7/boolean_schema.json +0 -104
  182. data/JSON-Schema-Test-Suite/tests/draft7/const.json +0 -170
  183. data/JSON-Schema-Test-Suite/tests/draft7/contains.json +0 -100
  184. data/JSON-Schema-Test-Suite/tests/draft7/default.json +0 -49
  185. data/JSON-Schema-Test-Suite/tests/draft7/definitions.json +0 -32
  186. data/JSON-Schema-Test-Suite/tests/draft7/dependencies.json +0 -268
  187. data/JSON-Schema-Test-Suite/tests/draft7/enum.json +0 -179
  188. data/JSON-Schema-Test-Suite/tests/draft7/exclusiveMaximum.json +0 -30
  189. data/JSON-Schema-Test-Suite/tests/draft7/exclusiveMinimum.json +0 -30
  190. data/JSON-Schema-Test-Suite/tests/draft7/if-then-else.json +0 -188
  191. data/JSON-Schema-Test-Suite/tests/draft7/items.json +0 -250
  192. data/JSON-Schema-Test-Suite/tests/draft7/maxItems.json +0 -28
  193. data/JSON-Schema-Test-Suite/tests/draft7/maxLength.json +0 -33
  194. data/JSON-Schema-Test-Suite/tests/draft7/maxProperties.json +0 -38
  195. data/JSON-Schema-Test-Suite/tests/draft7/maximum.json +0 -28
  196. data/JSON-Schema-Test-Suite/tests/draft7/minItems.json +0 -28
  197. data/JSON-Schema-Test-Suite/tests/draft7/minLength.json +0 -33
  198. data/JSON-Schema-Test-Suite/tests/draft7/minProperties.json +0 -38
  199. data/JSON-Schema-Test-Suite/tests/draft7/minimum.json +0 -59
  200. data/JSON-Schema-Test-Suite/tests/draft7/multipleOf.json +0 -60
  201. data/JSON-Schema-Test-Suite/tests/draft7/not.json +0 -117
  202. data/JSON-Schema-Test-Suite/tests/draft7/oneOf.json +0 -206
  203. data/JSON-Schema-Test-Suite/tests/draft7/optional/bignum.json +0 -105
  204. data/JSON-Schema-Test-Suite/tests/draft7/optional/content.json +0 -77
  205. data/JSON-Schema-Test-Suite/tests/draft7/optional/ecmascript-regex.json +0 -13
  206. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/date-time.json +0 -53
  207. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/date.json +0 -23
  208. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/email.json +0 -18
  209. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/hostname.json +0 -33
  210. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/idn-email.json +0 -18
  211. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/idn-hostname.json +0 -28
  212. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/ipv4.json +0 -33
  213. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/ipv6.json +0 -28
  214. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/iri-reference.json +0 -43
  215. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/iri.json +0 -53
  216. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/json-pointer.json +0 -168
  217. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/regex.json +0 -18
  218. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/relative-json-pointer.json +0 -33
  219. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/time.json +0 -23
  220. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/uri-reference.json +0 -43
  221. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/uri-template.json +0 -28
  222. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/uri.json +0 -103
  223. data/JSON-Schema-Test-Suite/tests/draft7/optional/zeroTerminatedFloats.json +0 -15
  224. data/JSON-Schema-Test-Suite/tests/draft7/pattern.json +0 -34
  225. data/JSON-Schema-Test-Suite/tests/draft7/patternProperties.json +0 -151
  226. data/JSON-Schema-Test-Suite/tests/draft7/properties.json +0 -167
  227. data/JSON-Schema-Test-Suite/tests/draft7/propertyNames.json +0 -78
  228. data/JSON-Schema-Test-Suite/tests/draft7/ref.json +0 -443
  229. data/JSON-Schema-Test-Suite/tests/draft7/refRemote.json +0 -171
  230. data/JSON-Schema-Test-Suite/tests/draft7/required.json +0 -105
  231. data/JSON-Schema-Test-Suite/tests/draft7/type.json +0 -464
  232. data/JSON-Schema-Test-Suite/tests/draft7/uniqueItems.json +0 -89
  233. data/JSON-Schema-Test-Suite/tox.ini +0 -8
@@ -1,195 +0,0 @@
1
- [
2
- {
3
- "description": "a schema given for items",
4
- "schema": {
5
- "items": {"type": "integer"}
6
- },
7
- "tests": [
8
- {
9
- "description": "valid items",
10
- "data": [ 1, 2, 3 ],
11
- "valid": true
12
- },
13
- {
14
- "description": "wrong type of items",
15
- "data": [1, "x"],
16
- "valid": false
17
- },
18
- {
19
- "description": "ignores non-arrays",
20
- "data": {"foo" : "bar"},
21
- "valid": true
22
- },
23
- {
24
- "description": "JavaScript pseudo-array is valid",
25
- "data": {
26
- "0": "invalid",
27
- "length": 1
28
- },
29
- "valid": true
30
- }
31
- ]
32
- },
33
- {
34
- "description": "an array of schemas for items",
35
- "schema": {
36
- "items": [
37
- {"type": "integer"},
38
- {"type": "string"}
39
- ]
40
- },
41
- "tests": [
42
- {
43
- "description": "correct types",
44
- "data": [ 1, "foo" ],
45
- "valid": true
46
- },
47
- {
48
- "description": "wrong types",
49
- "data": [ "foo", 1 ],
50
- "valid": false
51
- },
52
- {
53
- "description": "incomplete array of items",
54
- "data": [ 1 ],
55
- "valid": true
56
- },
57
- {
58
- "description": "array with additional items",
59
- "data": [ 1, "foo", true ],
60
- "valid": true
61
- },
62
- {
63
- "description": "empty array",
64
- "data": [ ],
65
- "valid": true
66
- },
67
- {
68
- "description": "JavaScript pseudo-array is valid",
69
- "data": {
70
- "0": "invalid",
71
- "1": "valid",
72
- "length": 2
73
- },
74
- "valid": true
75
- }
76
- ]
77
- },
78
- {
79
- "description": "items and subitems",
80
- "schema": {
81
- "definitions": {
82
- "item": {
83
- "type": "array",
84
- "additionalItems": false,
85
- "items": [
86
- { "$ref": "#/definitions/sub-item" },
87
- { "$ref": "#/definitions/sub-item" }
88
- ]
89
- },
90
- "sub-item": {
91
- "type": "object",
92
- "required": ["foo"]
93
- }
94
- },
95
- "type": "array",
96
- "additionalItems": false,
97
- "items": [
98
- { "$ref": "#/definitions/item" },
99
- { "$ref": "#/definitions/item" },
100
- { "$ref": "#/definitions/item" }
101
- ]
102
- },
103
- "tests": [
104
- {
105
- "description": "valid items",
106
- "data": [
107
- [ {"foo": null}, {"foo": null} ],
108
- [ {"foo": null}, {"foo": null} ],
109
- [ {"foo": null}, {"foo": null} ]
110
- ],
111
- "valid": true
112
- },
113
- {
114
- "description": "too many items",
115
- "data": [
116
- [ {"foo": null}, {"foo": null} ],
117
- [ {"foo": null}, {"foo": null} ],
118
- [ {"foo": null}, {"foo": null} ],
119
- [ {"foo": null}, {"foo": null} ]
120
- ],
121
- "valid": false
122
- },
123
- {
124
- "description": "too many sub-items",
125
- "data": [
126
- [ {"foo": null}, {"foo": null}, {"foo": null} ],
127
- [ {"foo": null}, {"foo": null} ],
128
- [ {"foo": null}, {"foo": null} ]
129
- ],
130
- "valid": false
131
- },
132
- {
133
- "description": "wrong item",
134
- "data": [
135
- {"foo": null},
136
- [ {"foo": null}, {"foo": null} ],
137
- [ {"foo": null}, {"foo": null} ]
138
- ],
139
- "valid": false
140
- },
141
- {
142
- "description": "wrong sub-item",
143
- "data": [
144
- [ {}, {"foo": null} ],
145
- [ {"foo": null}, {"foo": null} ],
146
- [ {"foo": null}, {"foo": null} ]
147
- ],
148
- "valid": false
149
- },
150
- {
151
- "description": "fewer items is valid",
152
- "data": [
153
- [ {"foo": null} ],
154
- [ {"foo": null} ]
155
- ],
156
- "valid": true
157
- }
158
- ]
159
- },
160
- {
161
- "description": "nested items",
162
- "schema": {
163
- "type": "array",
164
- "items": {
165
- "type": "array",
166
- "items": {
167
- "type": "array",
168
- "items": {
169
- "type": "array",
170
- "items": {
171
- "type": "number"
172
- }
173
- }
174
- }
175
- }
176
- },
177
- "tests": [
178
- {
179
- "description": "valid nested array",
180
- "data": [[[[1]], [[2],[3]]], [[[4], [5], [6]]]],
181
- "valid": true
182
- },
183
- {
184
- "description": "nested array with invalid type",
185
- "data": [[[["1"]], [[2],[3]]], [[[4], [5], [6]]]],
186
- "valid": false
187
- },
188
- {
189
- "description": "not deep enough",
190
- "data": [[[1], [2],[3]], [[4], [5], [6]]],
191
- "valid": false
192
- }
193
- ]
194
- }
195
- ]
@@ -1,28 +0,0 @@
1
- [
2
- {
3
- "description": "maxItems validation",
4
- "schema": {"maxItems": 2},
5
- "tests": [
6
- {
7
- "description": "shorter is valid",
8
- "data": [1],
9
- "valid": true
10
- },
11
- {
12
- "description": "exact length is valid",
13
- "data": [1, 2],
14
- "valid": true
15
- },
16
- {
17
- "description": "too long is invalid",
18
- "data": [1, 2, 3],
19
- "valid": false
20
- },
21
- {
22
- "description": "ignores non-arrays",
23
- "data": "foobar",
24
- "valid": true
25
- }
26
- ]
27
- }
28
- ]
@@ -1,33 +0,0 @@
1
- [
2
- {
3
- "description": "maxLength validation",
4
- "schema": {"maxLength": 2},
5
- "tests": [
6
- {
7
- "description": "shorter is valid",
8
- "data": "f",
9
- "valid": true
10
- },
11
- {
12
- "description": "exact length is valid",
13
- "data": "fo",
14
- "valid": true
15
- },
16
- {
17
- "description": "too long is invalid",
18
- "data": "foo",
19
- "valid": false
20
- },
21
- {
22
- "description": "ignores non-strings",
23
- "data": 100,
24
- "valid": true
25
- },
26
- {
27
- "description": "two supplementary Unicode code points is long enough",
28
- "data": "\uD83D\uDCA9\uD83D\uDCA9",
29
- "valid": true
30
- }
31
- ]
32
- }
33
- ]
@@ -1,38 +0,0 @@
1
- [
2
- {
3
- "description": "maxProperties validation",
4
- "schema": {"maxProperties": 2},
5
- "tests": [
6
- {
7
- "description": "shorter is valid",
8
- "data": {"foo": 1},
9
- "valid": true
10
- },
11
- {
12
- "description": "exact length is valid",
13
- "data": {"foo": 1, "bar": 2},
14
- "valid": true
15
- },
16
- {
17
- "description": "too long is invalid",
18
- "data": {"foo": 1, "bar": 2, "baz": 3},
19
- "valid": false
20
- },
21
- {
22
- "description": "ignores arrays",
23
- "data": [1, 2, 3],
24
- "valid": true
25
- },
26
- {
27
- "description": "ignores strings",
28
- "data": "foobar",
29
- "valid": true
30
- },
31
- {
32
- "description": "ignores other non-objects",
33
- "data": 12,
34
- "valid": true
35
- }
36
- ]
37
- }
38
- ]
@@ -1,73 +0,0 @@
1
- [
2
- {
3
- "description": "maximum validation",
4
- "schema": {"maximum": 3.0},
5
- "tests": [
6
- {
7
- "description": "below the maximum is valid",
8
- "data": 2.6,
9
- "valid": true
10
- },
11
- {
12
- "description": "boundary point is valid",
13
- "data": 3.0,
14
- "valid": true
15
- },
16
- {
17
- "description": "above the maximum is invalid",
18
- "data": 3.5,
19
- "valid": false
20
- },
21
- {
22
- "description": "ignores non-numbers",
23
- "data": "x",
24
- "valid": true
25
- }
26
- ]
27
- },
28
- {
29
- "description": "maximum validation (explicit false exclusivity)",
30
- "schema": {"maximum": 3.0, "exclusiveMaximum": false},
31
- "tests": [
32
- {
33
- "description": "below the maximum is valid",
34
- "data": 2.6,
35
- "valid": true
36
- },
37
- {
38
- "description": "boundary point is valid",
39
- "data": 3.0,
40
- "valid": true
41
- },
42
- {
43
- "description": "above the maximum is invalid",
44
- "data": 3.5,
45
- "valid": false
46
- },
47
- {
48
- "description": "ignores non-numbers",
49
- "data": "x",
50
- "valid": true
51
- }
52
- ]
53
- },
54
- {
55
- "description": "exclusiveMaximum validation",
56
- "schema": {
57
- "maximum": 3.0,
58
- "exclusiveMaximum": true
59
- },
60
- "tests": [
61
- {
62
- "description": "below the maximum is still valid",
63
- "data": 2.2,
64
- "valid": true
65
- },
66
- {
67
- "description": "boundary point is invalid",
68
- "data": 3.0,
69
- "valid": false
70
- }
71
- ]
72
- }
73
- ]
@@ -1,28 +0,0 @@
1
- [
2
- {
3
- "description": "minItems validation",
4
- "schema": {"minItems": 1},
5
- "tests": [
6
- {
7
- "description": "longer is valid",
8
- "data": [1, 2],
9
- "valid": true
10
- },
11
- {
12
- "description": "exact length is valid",
13
- "data": [1],
14
- "valid": true
15
- },
16
- {
17
- "description": "too short is invalid",
18
- "data": [],
19
- "valid": false
20
- },
21
- {
22
- "description": "ignores non-arrays",
23
- "data": "",
24
- "valid": true
25
- }
26
- ]
27
- }
28
- ]
@@ -1,33 +0,0 @@
1
- [
2
- {
3
- "description": "minLength validation",
4
- "schema": {"minLength": 2},
5
- "tests": [
6
- {
7
- "description": "longer is valid",
8
- "data": "foo",
9
- "valid": true
10
- },
11
- {
12
- "description": "exact length is valid",
13
- "data": "fo",
14
- "valid": true
15
- },
16
- {
17
- "description": "too short is invalid",
18
- "data": "f",
19
- "valid": false
20
- },
21
- {
22
- "description": "ignores non-strings",
23
- "data": 1,
24
- "valid": true
25
- },
26
- {
27
- "description": "one supplementary Unicode code point is not long enough",
28
- "data": "\uD83D\uDCA9",
29
- "valid": false
30
- }
31
- ]
32
- }
33
- ]
@@ -1,38 +0,0 @@
1
- [
2
- {
3
- "description": "minProperties validation",
4
- "schema": {"minProperties": 1},
5
- "tests": [
6
- {
7
- "description": "longer is valid",
8
- "data": {"foo": 1, "bar": 2},
9
- "valid": true
10
- },
11
- {
12
- "description": "exact length is valid",
13
- "data": {"foo": 1},
14
- "valid": true
15
- },
16
- {
17
- "description": "too short is invalid",
18
- "data": {},
19
- "valid": false
20
- },
21
- {
22
- "description": "ignores arrays",
23
- "data": [],
24
- "valid": true
25
- },
26
- {
27
- "description": "ignores strings",
28
- "data": "",
29
- "valid": true
30
- },
31
- {
32
- "description": "ignores other non-objects",
33
- "data": 12,
34
- "valid": true
35
- }
36
- ]
37
- }
38
- ]