json_schemer 0.2.8 → 0.2.11

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 (237) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +5 -5
  3. data/json_schemer.gemspec +2 -2
  4. data/lib/json_schemer/schema/base.rb +52 -32
  5. data/lib/json_schemer/version.rb +1 -1
  6. data/lib/json_schemer.rb +1 -0
  7. metadata +4 -234
  8. data/JSON-Schema-Test-Suite/.gitignore +0 -1
  9. data/JSON-Schema-Test-Suite/.travis.yml +0 -8
  10. data/JSON-Schema-Test-Suite/LICENSE +0 -19
  11. data/JSON-Schema-Test-Suite/README.md +0 -181
  12. data/JSON-Schema-Test-Suite/bin/jsonschema_suite +0 -298
  13. data/JSON-Schema-Test-Suite/index.js +0 -45
  14. data/JSON-Schema-Test-Suite/package.json +0 -28
  15. data/JSON-Schema-Test-Suite/remotes/folder/folderInteger.json +0 -3
  16. data/JSON-Schema-Test-Suite/remotes/integer.json +0 -3
  17. data/JSON-Schema-Test-Suite/remotes/name-defs.json +0 -15
  18. data/JSON-Schema-Test-Suite/remotes/name.json +0 -15
  19. data/JSON-Schema-Test-Suite/remotes/subSchemas.json +0 -8
  20. data/JSON-Schema-Test-Suite/test-schema.json +0 -59
  21. data/JSON-Schema-Test-Suite/tests/draft2019-09/additionalItems.json +0 -87
  22. data/JSON-Schema-Test-Suite/tests/draft2019-09/additionalProperties.json +0 -133
  23. data/JSON-Schema-Test-Suite/tests/draft2019-09/allOf.json +0 -218
  24. data/JSON-Schema-Test-Suite/tests/draft2019-09/anchor.json +0 -87
  25. data/JSON-Schema-Test-Suite/tests/draft2019-09/anyOf.json +0 -189
  26. data/JSON-Schema-Test-Suite/tests/draft2019-09/boolean_schema.json +0 -104
  27. data/JSON-Schema-Test-Suite/tests/draft2019-09/const.json +0 -170
  28. data/JSON-Schema-Test-Suite/tests/draft2019-09/contains.json +0 -95
  29. data/JSON-Schema-Test-Suite/tests/draft2019-09/default.json +0 -49
  30. data/JSON-Schema-Test-Suite/tests/draft2019-09/defs.json +0 -24
  31. data/JSON-Schema-Test-Suite/tests/draft2019-09/dependencies.json +0 -268
  32. data/JSON-Schema-Test-Suite/tests/draft2019-09/enum.json +0 -179
  33. data/JSON-Schema-Test-Suite/tests/draft2019-09/exclusiveMaximum.json +0 -30
  34. data/JSON-Schema-Test-Suite/tests/draft2019-09/exclusiveMinimum.json +0 -30
  35. data/JSON-Schema-Test-Suite/tests/draft2019-09/format.json +0 -614
  36. data/JSON-Schema-Test-Suite/tests/draft2019-09/if-then-else.json +0 -188
  37. data/JSON-Schema-Test-Suite/tests/draft2019-09/items.json +0 -250
  38. data/JSON-Schema-Test-Suite/tests/draft2019-09/maxItems.json +0 -28
  39. data/JSON-Schema-Test-Suite/tests/draft2019-09/maxLength.json +0 -33
  40. data/JSON-Schema-Test-Suite/tests/draft2019-09/maxProperties.json +0 -38
  41. data/JSON-Schema-Test-Suite/tests/draft2019-09/maximum.json +0 -28
  42. data/JSON-Schema-Test-Suite/tests/draft2019-09/minItems.json +0 -28
  43. data/JSON-Schema-Test-Suite/tests/draft2019-09/minLength.json +0 -33
  44. data/JSON-Schema-Test-Suite/tests/draft2019-09/minProperties.json +0 -38
  45. data/JSON-Schema-Test-Suite/tests/draft2019-09/minimum.json +0 -59
  46. data/JSON-Schema-Test-Suite/tests/draft2019-09/multipleOf.json +0 -60
  47. data/JSON-Schema-Test-Suite/tests/draft2019-09/not.json +0 -117
  48. data/JSON-Schema-Test-Suite/tests/draft2019-09/oneOf.json +0 -206
  49. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/bignum.json +0 -105
  50. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/content.json +0 -77
  51. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/ecmascript-regex.json +0 -213
  52. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/date-time.json +0 -53
  53. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/date.json +0 -23
  54. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/email.json +0 -18
  55. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/hostname.json +0 -33
  56. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/idn-email.json +0 -18
  57. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/idn-hostname.json +0 -28
  58. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/ipv4.json +0 -33
  59. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/ipv6.json +0 -28
  60. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/iri-reference.json +0 -43
  61. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/iri.json +0 -53
  62. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/json-pointer.json +0 -168
  63. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/regex.json +0 -18
  64. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/relative-json-pointer.json +0 -33
  65. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/time.json +0 -23
  66. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/uri-reference.json +0 -43
  67. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/uri-template.json +0 -28
  68. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/uri.json +0 -103
  69. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/zeroTerminatedFloats.json +0 -15
  70. data/JSON-Schema-Test-Suite/tests/draft2019-09/pattern.json +0 -34
  71. data/JSON-Schema-Test-Suite/tests/draft2019-09/patternProperties.json +0 -151
  72. data/JSON-Schema-Test-Suite/tests/draft2019-09/properties.json +0 -167
  73. data/JSON-Schema-Test-Suite/tests/draft2019-09/propertyNames.json +0 -78
  74. data/JSON-Schema-Test-Suite/tests/draft2019-09/ref.json +0 -359
  75. data/JSON-Schema-Test-Suite/tests/draft2019-09/refRemote.json +0 -167
  76. data/JSON-Schema-Test-Suite/tests/draft2019-09/required.json +0 -105
  77. data/JSON-Schema-Test-Suite/tests/draft2019-09/type.json +0 -464
  78. data/JSON-Schema-Test-Suite/tests/draft2019-09/uniqueItems.json +0 -173
  79. data/JSON-Schema-Test-Suite/tests/draft3/additionalItems.json +0 -82
  80. data/JSON-Schema-Test-Suite/tests/draft3/additionalProperties.json +0 -133
  81. data/JSON-Schema-Test-Suite/tests/draft3/default.json +0 -49
  82. data/JSON-Schema-Test-Suite/tests/draft3/dependencies.json +0 -118
  83. data/JSON-Schema-Test-Suite/tests/draft3/disallow.json +0 -80
  84. data/JSON-Schema-Test-Suite/tests/draft3/divisibleBy.json +0 -60
  85. data/JSON-Schema-Test-Suite/tests/draft3/enum.json +0 -71
  86. data/JSON-Schema-Test-Suite/tests/draft3/extends.json +0 -94
  87. data/JSON-Schema-Test-Suite/tests/draft3/format.json +0 -362
  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/ecmascript-regex.json +0 -18
  97. data/JSON-Schema-Test-Suite/tests/draft3/optional/format.json +0 -227
  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 -163
  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/format.json +0 -218
  116. data/JSON-Schema-Test-Suite/tests/draft4/items.json +0 -195
  117. data/JSON-Schema-Test-Suite/tests/draft4/maxItems.json +0 -28
  118. data/JSON-Schema-Test-Suite/tests/draft4/maxLength.json +0 -33
  119. data/JSON-Schema-Test-Suite/tests/draft4/maxProperties.json +0 -38
  120. data/JSON-Schema-Test-Suite/tests/draft4/maximum.json +0 -73
  121. data/JSON-Schema-Test-Suite/tests/draft4/minItems.json +0 -28
  122. data/JSON-Schema-Test-Suite/tests/draft4/minLength.json +0 -33
  123. data/JSON-Schema-Test-Suite/tests/draft4/minProperties.json +0 -38
  124. data/JSON-Schema-Test-Suite/tests/draft4/minimum.json +0 -104
  125. data/JSON-Schema-Test-Suite/tests/draft4/multipleOf.json +0 -60
  126. data/JSON-Schema-Test-Suite/tests/draft4/not.json +0 -96
  127. data/JSON-Schema-Test-Suite/tests/draft4/oneOf.json +0 -162
  128. data/JSON-Schema-Test-Suite/tests/draft4/optional/bignum.json +0 -107
  129. data/JSON-Schema-Test-Suite/tests/draft4/optional/ecmascript-regex.json +0 -213
  130. data/JSON-Schema-Test-Suite/tests/draft4/optional/format.json +0 -253
  131. data/JSON-Schema-Test-Suite/tests/draft4/optional/zeroTerminatedFloats.json +0 -15
  132. data/JSON-Schema-Test-Suite/tests/draft4/pattern.json +0 -34
  133. data/JSON-Schema-Test-Suite/tests/draft4/patternProperties.json +0 -120
  134. data/JSON-Schema-Test-Suite/tests/draft4/properties.json +0 -136
  135. data/JSON-Schema-Test-Suite/tests/draft4/ref.json +0 -411
  136. data/JSON-Schema-Test-Suite/tests/draft4/refRemote.json +0 -171
  137. data/JSON-Schema-Test-Suite/tests/draft4/required.json +0 -89
  138. data/JSON-Schema-Test-Suite/tests/draft4/type.json +0 -464
  139. data/JSON-Schema-Test-Suite/tests/draft4/uniqueItems.json +0 -173
  140. data/JSON-Schema-Test-Suite/tests/draft6/additionalItems.json +0 -87
  141. data/JSON-Schema-Test-Suite/tests/draft6/additionalProperties.json +0 -133
  142. data/JSON-Schema-Test-Suite/tests/draft6/allOf.json +0 -218
  143. data/JSON-Schema-Test-Suite/tests/draft6/anyOf.json +0 -189
  144. data/JSON-Schema-Test-Suite/tests/draft6/boolean_schema.json +0 -104
  145. data/JSON-Schema-Test-Suite/tests/draft6/const.json +0 -170
  146. data/JSON-Schema-Test-Suite/tests/draft6/contains.json +0 -100
  147. data/JSON-Schema-Test-Suite/tests/draft6/default.json +0 -49
  148. data/JSON-Schema-Test-Suite/tests/draft6/definitions.json +0 -32
  149. data/JSON-Schema-Test-Suite/tests/draft6/dependencies.json +0 -268
  150. data/JSON-Schema-Test-Suite/tests/draft6/enum.json +0 -179
  151. data/JSON-Schema-Test-Suite/tests/draft6/exclusiveMaximum.json +0 -30
  152. data/JSON-Schema-Test-Suite/tests/draft6/exclusiveMinimum.json +0 -30
  153. data/JSON-Schema-Test-Suite/tests/draft6/format.json +0 -326
  154. data/JSON-Schema-Test-Suite/tests/draft6/items.json +0 -250
  155. data/JSON-Schema-Test-Suite/tests/draft6/maxItems.json +0 -28
  156. data/JSON-Schema-Test-Suite/tests/draft6/maxLength.json +0 -33
  157. data/JSON-Schema-Test-Suite/tests/draft6/maxProperties.json +0 -38
  158. data/JSON-Schema-Test-Suite/tests/draft6/maximum.json +0 -28
  159. data/JSON-Schema-Test-Suite/tests/draft6/minItems.json +0 -28
  160. data/JSON-Schema-Test-Suite/tests/draft6/minLength.json +0 -33
  161. data/JSON-Schema-Test-Suite/tests/draft6/minProperties.json +0 -38
  162. data/JSON-Schema-Test-Suite/tests/draft6/minimum.json +0 -59
  163. data/JSON-Schema-Test-Suite/tests/draft6/multipleOf.json +0 -60
  164. data/JSON-Schema-Test-Suite/tests/draft6/not.json +0 -117
  165. data/JSON-Schema-Test-Suite/tests/draft6/oneOf.json +0 -206
  166. data/JSON-Schema-Test-Suite/tests/draft6/optional/bignum.json +0 -105
  167. data/JSON-Schema-Test-Suite/tests/draft6/optional/ecmascript-regex.json +0 -213
  168. data/JSON-Schema-Test-Suite/tests/draft6/optional/format.json +0 -491
  169. data/JSON-Schema-Test-Suite/tests/draft6/optional/zeroTerminatedFloats.json +0 -15
  170. data/JSON-Schema-Test-Suite/tests/draft6/pattern.json +0 -34
  171. data/JSON-Schema-Test-Suite/tests/draft6/patternProperties.json +0 -151
  172. data/JSON-Schema-Test-Suite/tests/draft6/properties.json +0 -167
  173. data/JSON-Schema-Test-Suite/tests/draft6/propertyNames.json +0 -78
  174. data/JSON-Schema-Test-Suite/tests/draft6/ref.json +0 -443
  175. data/JSON-Schema-Test-Suite/tests/draft6/refRemote.json +0 -171
  176. data/JSON-Schema-Test-Suite/tests/draft6/required.json +0 -105
  177. data/JSON-Schema-Test-Suite/tests/draft6/type.json +0 -464
  178. data/JSON-Schema-Test-Suite/tests/draft6/uniqueItems.json +0 -173
  179. data/JSON-Schema-Test-Suite/tests/draft7/additionalItems.json +0 -87
  180. data/JSON-Schema-Test-Suite/tests/draft7/additionalProperties.json +0 -133
  181. data/JSON-Schema-Test-Suite/tests/draft7/allOf.json +0 -218
  182. data/JSON-Schema-Test-Suite/tests/draft7/anyOf.json +0 -189
  183. data/JSON-Schema-Test-Suite/tests/draft7/boolean_schema.json +0 -104
  184. data/JSON-Schema-Test-Suite/tests/draft7/const.json +0 -170
  185. data/JSON-Schema-Test-Suite/tests/draft7/contains.json +0 -100
  186. data/JSON-Schema-Test-Suite/tests/draft7/default.json +0 -49
  187. data/JSON-Schema-Test-Suite/tests/draft7/definitions.json +0 -32
  188. data/JSON-Schema-Test-Suite/tests/draft7/dependencies.json +0 -268
  189. data/JSON-Schema-Test-Suite/tests/draft7/enum.json +0 -179
  190. data/JSON-Schema-Test-Suite/tests/draft7/exclusiveMaximum.json +0 -30
  191. data/JSON-Schema-Test-Suite/tests/draft7/exclusiveMinimum.json +0 -30
  192. data/JSON-Schema-Test-Suite/tests/draft7/format.json +0 -614
  193. data/JSON-Schema-Test-Suite/tests/draft7/if-then-else.json +0 -188
  194. data/JSON-Schema-Test-Suite/tests/draft7/items.json +0 -250
  195. data/JSON-Schema-Test-Suite/tests/draft7/maxItems.json +0 -28
  196. data/JSON-Schema-Test-Suite/tests/draft7/maxLength.json +0 -33
  197. data/JSON-Schema-Test-Suite/tests/draft7/maxProperties.json +0 -38
  198. data/JSON-Schema-Test-Suite/tests/draft7/maximum.json +0 -28
  199. data/JSON-Schema-Test-Suite/tests/draft7/minItems.json +0 -28
  200. data/JSON-Schema-Test-Suite/tests/draft7/minLength.json +0 -33
  201. data/JSON-Schema-Test-Suite/tests/draft7/minProperties.json +0 -38
  202. data/JSON-Schema-Test-Suite/tests/draft7/minimum.json +0 -59
  203. data/JSON-Schema-Test-Suite/tests/draft7/multipleOf.json +0 -60
  204. data/JSON-Schema-Test-Suite/tests/draft7/not.json +0 -117
  205. data/JSON-Schema-Test-Suite/tests/draft7/oneOf.json +0 -206
  206. data/JSON-Schema-Test-Suite/tests/draft7/optional/bignum.json +0 -105
  207. data/JSON-Schema-Test-Suite/tests/draft7/optional/content.json +0 -77
  208. data/JSON-Schema-Test-Suite/tests/draft7/optional/ecmascript-regex.json +0 -213
  209. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/date-time.json +0 -53
  210. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/date.json +0 -23
  211. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/email.json +0 -18
  212. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/hostname.json +0 -33
  213. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/idn-email.json +0 -18
  214. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/idn-hostname.json +0 -28
  215. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/ipv4.json +0 -33
  216. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/ipv6.json +0 -28
  217. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/iri-reference.json +0 -43
  218. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/iri.json +0 -53
  219. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/json-pointer.json +0 -168
  220. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/regex.json +0 -18
  221. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/relative-json-pointer.json +0 -33
  222. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/time.json +0 -23
  223. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/uri-reference.json +0 -43
  224. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/uri-template.json +0 -28
  225. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/uri.json +0 -103
  226. data/JSON-Schema-Test-Suite/tests/draft7/optional/zeroTerminatedFloats.json +0 -15
  227. data/JSON-Schema-Test-Suite/tests/draft7/pattern.json +0 -34
  228. data/JSON-Schema-Test-Suite/tests/draft7/patternProperties.json +0 -151
  229. data/JSON-Schema-Test-Suite/tests/draft7/properties.json +0 -167
  230. data/JSON-Schema-Test-Suite/tests/draft7/propertyNames.json +0 -78
  231. data/JSON-Schema-Test-Suite/tests/draft7/ref.json +0 -443
  232. data/JSON-Schema-Test-Suite/tests/draft7/refRemote.json +0 -171
  233. data/JSON-Schema-Test-Suite/tests/draft7/required.json +0 -105
  234. data/JSON-Schema-Test-Suite/tests/draft7/type.json +0 -464
  235. data/JSON-Schema-Test-Suite/tests/draft7/uniqueItems.json +0 -173
  236. data/JSON-Schema-Test-Suite/tests/latest +0 -1
  237. data/JSON-Schema-Test-Suite/tox.ini +0 -9
@@ -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
- ]
@@ -1,104 +0,0 @@
1
- [
2
- {
3
- "description": "minimum validation",
4
- "schema": {"minimum": 1.1},
5
- "tests": [
6
- {
7
- "description": "above the minimum is valid",
8
- "data": 2.6,
9
- "valid": true
10
- },
11
- {
12
- "description": "boundary point is valid",
13
- "data": 1.1,
14
- "valid": true
15
- },
16
- {
17
- "description": "below the minimum is invalid",
18
- "data": 0.6,
19
- "valid": false
20
- },
21
- {
22
- "description": "ignores non-numbers",
23
- "data": "x",
24
- "valid": true
25
- }
26
- ]
27
- },
28
- {
29
- "description": "minimum validation (explicit false exclusivity)",
30
- "schema": {"minimum": 1.1, "exclusiveMinimum": false},
31
- "tests": [
32
- {
33
- "description": "above the minimum is valid",
34
- "data": 2.6,
35
- "valid": true
36
- },
37
- {
38
- "description": "boundary point is valid",
39
- "data": 1.1,
40
- "valid": true
41
- },
42
- {
43
- "description": "below the minimum is invalid",
44
- "data": 0.6,
45
- "valid": false
46
- },
47
- {
48
- "description": "ignores non-numbers",
49
- "data": "x",
50
- "valid": true
51
- }
52
- ]
53
- },
54
- {
55
- "description": "exclusiveMinimum validation",
56
- "schema": {
57
- "minimum": 1.1,
58
- "exclusiveMinimum": true
59
- },
60
- "tests": [
61
- {
62
- "description": "above the minimum is still valid",
63
- "data": 1.2,
64
- "valid": true
65
- },
66
- {
67
- "description": "boundary point is invalid",
68
- "data": 1.1,
69
- "valid": false
70
- }
71
- ]
72
- },
73
- {
74
- "description": "minimum validation with signed integer",
75
- "schema": {"minimum": -2},
76
- "tests": [
77
- {
78
- "description": "negative above the minimum is valid",
79
- "data": -1,
80
- "valid": true
81
- },
82
- {
83
- "description": "positive above the minimum is valid",
84
- "data": 0,
85
- "valid": true
86
- },
87
- {
88
- "description": "boundary point is valid",
89
- "data": -2,
90
- "valid": true
91
- },
92
- {
93
- "description": "below the minimum is invalid",
94
- "data": -3,
95
- "valid": false
96
- },
97
- {
98
- "description": "ignores non-numbers",
99
- "data": "x",
100
- "valid": true
101
- }
102
- ]
103
- }
104
- ]
@@ -1,60 +0,0 @@
1
- [
2
- {
3
- "description": "by int",
4
- "schema": {"multipleOf": 2},
5
- "tests": [
6
- {
7
- "description": "int by int",
8
- "data": 10,
9
- "valid": true
10
- },
11
- {
12
- "description": "int by int fail",
13
- "data": 7,
14
- "valid": false
15
- },
16
- {
17
- "description": "ignores non-numbers",
18
- "data": "foo",
19
- "valid": true
20
- }
21
- ]
22
- },
23
- {
24
- "description": "by number",
25
- "schema": {"multipleOf": 1.5},
26
- "tests": [
27
- {
28
- "description": "zero is multiple of anything",
29
- "data": 0,
30
- "valid": true
31
- },
32
- {
33
- "description": "4.5 is multiple of 1.5",
34
- "data": 4.5,
35
- "valid": true
36
- },
37
- {
38
- "description": "35 is not multiple of 1.5",
39
- "data": 35,
40
- "valid": false
41
- }
42
- ]
43
- },
44
- {
45
- "description": "by small number",
46
- "schema": {"multipleOf": 0.0001},
47
- "tests": [
48
- {
49
- "description": "0.0075 is multiple of 0.0001",
50
- "data": 0.0075,
51
- "valid": true
52
- },
53
- {
54
- "description": "0.00751 is not multiple of 0.0001",
55
- "data": 0.00751,
56
- "valid": false
57
- }
58
- ]
59
- }
60
- ]