json_schemer 0.2.9 → 0.2.14

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 (239) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +3 -9
  3. data/Gemfile.lock +6 -6
  4. data/json_schemer.gemspec +2 -2
  5. data/lib/json_schemer.rb +2 -0
  6. data/lib/json_schemer/errors.rb +31 -0
  7. data/lib/json_schemer/schema/base.rb +13 -16
  8. data/lib/json_schemer/version.rb +1 -1
  9. metadata +5 -234
  10. data/JSON-Schema-Test-Suite/.gitignore +0 -1
  11. data/JSON-Schema-Test-Suite/.travis.yml +0 -8
  12. data/JSON-Schema-Test-Suite/LICENSE +0 -19
  13. data/JSON-Schema-Test-Suite/README.md +0 -181
  14. data/JSON-Schema-Test-Suite/bin/jsonschema_suite +0 -298
  15. data/JSON-Schema-Test-Suite/index.js +0 -45
  16. data/JSON-Schema-Test-Suite/package.json +0 -28
  17. data/JSON-Schema-Test-Suite/remotes/folder/folderInteger.json +0 -3
  18. data/JSON-Schema-Test-Suite/remotes/integer.json +0 -3
  19. data/JSON-Schema-Test-Suite/remotes/name-defs.json +0 -15
  20. data/JSON-Schema-Test-Suite/remotes/name.json +0 -15
  21. data/JSON-Schema-Test-Suite/remotes/subSchemas.json +0 -8
  22. data/JSON-Schema-Test-Suite/test-schema.json +0 -59
  23. data/JSON-Schema-Test-Suite/tests/draft2019-09/additionalItems.json +0 -87
  24. data/JSON-Schema-Test-Suite/tests/draft2019-09/additionalProperties.json +0 -133
  25. data/JSON-Schema-Test-Suite/tests/draft2019-09/allOf.json +0 -218
  26. data/JSON-Schema-Test-Suite/tests/draft2019-09/anchor.json +0 -87
  27. data/JSON-Schema-Test-Suite/tests/draft2019-09/anyOf.json +0 -189
  28. data/JSON-Schema-Test-Suite/tests/draft2019-09/boolean_schema.json +0 -104
  29. data/JSON-Schema-Test-Suite/tests/draft2019-09/const.json +0 -170
  30. data/JSON-Schema-Test-Suite/tests/draft2019-09/contains.json +0 -95
  31. data/JSON-Schema-Test-Suite/tests/draft2019-09/default.json +0 -49
  32. data/JSON-Schema-Test-Suite/tests/draft2019-09/defs.json +0 -24
  33. data/JSON-Schema-Test-Suite/tests/draft2019-09/dependencies.json +0 -268
  34. data/JSON-Schema-Test-Suite/tests/draft2019-09/enum.json +0 -179
  35. data/JSON-Schema-Test-Suite/tests/draft2019-09/exclusiveMaximum.json +0 -30
  36. data/JSON-Schema-Test-Suite/tests/draft2019-09/exclusiveMinimum.json +0 -30
  37. data/JSON-Schema-Test-Suite/tests/draft2019-09/format.json +0 -614
  38. data/JSON-Schema-Test-Suite/tests/draft2019-09/if-then-else.json +0 -188
  39. data/JSON-Schema-Test-Suite/tests/draft2019-09/items.json +0 -250
  40. data/JSON-Schema-Test-Suite/tests/draft2019-09/maxItems.json +0 -28
  41. data/JSON-Schema-Test-Suite/tests/draft2019-09/maxLength.json +0 -33
  42. data/JSON-Schema-Test-Suite/tests/draft2019-09/maxProperties.json +0 -38
  43. data/JSON-Schema-Test-Suite/tests/draft2019-09/maximum.json +0 -28
  44. data/JSON-Schema-Test-Suite/tests/draft2019-09/minItems.json +0 -28
  45. data/JSON-Schema-Test-Suite/tests/draft2019-09/minLength.json +0 -33
  46. data/JSON-Schema-Test-Suite/tests/draft2019-09/minProperties.json +0 -38
  47. data/JSON-Schema-Test-Suite/tests/draft2019-09/minimum.json +0 -59
  48. data/JSON-Schema-Test-Suite/tests/draft2019-09/multipleOf.json +0 -60
  49. data/JSON-Schema-Test-Suite/tests/draft2019-09/not.json +0 -117
  50. data/JSON-Schema-Test-Suite/tests/draft2019-09/oneOf.json +0 -206
  51. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/bignum.json +0 -105
  52. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/content.json +0 -77
  53. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/ecmascript-regex.json +0 -213
  54. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/date-time.json +0 -53
  55. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/date.json +0 -23
  56. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/email.json +0 -18
  57. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/hostname.json +0 -33
  58. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/idn-email.json +0 -18
  59. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/idn-hostname.json +0 -28
  60. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/ipv4.json +0 -33
  61. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/ipv6.json +0 -28
  62. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/iri-reference.json +0 -43
  63. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/iri.json +0 -53
  64. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/json-pointer.json +0 -168
  65. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/regex.json +0 -18
  66. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/relative-json-pointer.json +0 -33
  67. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/time.json +0 -23
  68. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/uri-reference.json +0 -43
  69. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/uri-template.json +0 -28
  70. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/uri.json +0 -103
  71. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/zeroTerminatedFloats.json +0 -15
  72. data/JSON-Schema-Test-Suite/tests/draft2019-09/pattern.json +0 -34
  73. data/JSON-Schema-Test-Suite/tests/draft2019-09/patternProperties.json +0 -151
  74. data/JSON-Schema-Test-Suite/tests/draft2019-09/properties.json +0 -167
  75. data/JSON-Schema-Test-Suite/tests/draft2019-09/propertyNames.json +0 -78
  76. data/JSON-Schema-Test-Suite/tests/draft2019-09/ref.json +0 -359
  77. data/JSON-Schema-Test-Suite/tests/draft2019-09/refRemote.json +0 -167
  78. data/JSON-Schema-Test-Suite/tests/draft2019-09/required.json +0 -105
  79. data/JSON-Schema-Test-Suite/tests/draft2019-09/type.json +0 -464
  80. data/JSON-Schema-Test-Suite/tests/draft2019-09/uniqueItems.json +0 -173
  81. data/JSON-Schema-Test-Suite/tests/draft3/additionalItems.json +0 -82
  82. data/JSON-Schema-Test-Suite/tests/draft3/additionalProperties.json +0 -133
  83. data/JSON-Schema-Test-Suite/tests/draft3/default.json +0 -49
  84. data/JSON-Schema-Test-Suite/tests/draft3/dependencies.json +0 -118
  85. data/JSON-Schema-Test-Suite/tests/draft3/disallow.json +0 -80
  86. data/JSON-Schema-Test-Suite/tests/draft3/divisibleBy.json +0 -60
  87. data/JSON-Schema-Test-Suite/tests/draft3/enum.json +0 -71
  88. data/JSON-Schema-Test-Suite/tests/draft3/extends.json +0 -94
  89. data/JSON-Schema-Test-Suite/tests/draft3/format.json +0 -362
  90. data/JSON-Schema-Test-Suite/tests/draft3/items.json +0 -46
  91. data/JSON-Schema-Test-Suite/tests/draft3/maxItems.json +0 -28
  92. data/JSON-Schema-Test-Suite/tests/draft3/maxLength.json +0 -33
  93. data/JSON-Schema-Test-Suite/tests/draft3/maximum.json +0 -42
  94. data/JSON-Schema-Test-Suite/tests/draft3/minItems.json +0 -28
  95. data/JSON-Schema-Test-Suite/tests/draft3/minLength.json +0 -33
  96. data/JSON-Schema-Test-Suite/tests/draft3/minimum.json +0 -73
  97. data/JSON-Schema-Test-Suite/tests/draft3/optional/bignum.json +0 -107
  98. data/JSON-Schema-Test-Suite/tests/draft3/optional/ecmascript-regex.json +0 -18
  99. data/JSON-Schema-Test-Suite/tests/draft3/optional/format.json +0 -227
  100. data/JSON-Schema-Test-Suite/tests/draft3/optional/zeroTerminatedFloats.json +0 -15
  101. data/JSON-Schema-Test-Suite/tests/draft3/pattern.json +0 -34
  102. data/JSON-Schema-Test-Suite/tests/draft3/patternProperties.json +0 -115
  103. data/JSON-Schema-Test-Suite/tests/draft3/properties.json +0 -97
  104. data/JSON-Schema-Test-Suite/tests/draft3/ref.json +0 -192
  105. data/JSON-Schema-Test-Suite/tests/draft3/refRemote.json +0 -74
  106. data/JSON-Schema-Test-Suite/tests/draft3/required.json +0 -53
  107. data/JSON-Schema-Test-Suite/tests/draft3/type.json +0 -489
  108. data/JSON-Schema-Test-Suite/tests/draft3/uniqueItems.json +0 -163
  109. data/JSON-Schema-Test-Suite/tests/draft4/additionalItems.json +0 -87
  110. data/JSON-Schema-Test-Suite/tests/draft4/additionalProperties.json +0 -133
  111. data/JSON-Schema-Test-Suite/tests/draft4/allOf.json +0 -185
  112. data/JSON-Schema-Test-Suite/tests/draft4/anyOf.json +0 -156
  113. data/JSON-Schema-Test-Suite/tests/draft4/default.json +0 -49
  114. data/JSON-Schema-Test-Suite/tests/draft4/definitions.json +0 -32
  115. data/JSON-Schema-Test-Suite/tests/draft4/dependencies.json +0 -194
  116. data/JSON-Schema-Test-Suite/tests/draft4/enum.json +0 -179
  117. data/JSON-Schema-Test-Suite/tests/draft4/format.json +0 -218
  118. data/JSON-Schema-Test-Suite/tests/draft4/items.json +0 -195
  119. data/JSON-Schema-Test-Suite/tests/draft4/maxItems.json +0 -28
  120. data/JSON-Schema-Test-Suite/tests/draft4/maxLength.json +0 -33
  121. data/JSON-Schema-Test-Suite/tests/draft4/maxProperties.json +0 -38
  122. data/JSON-Schema-Test-Suite/tests/draft4/maximum.json +0 -73
  123. data/JSON-Schema-Test-Suite/tests/draft4/minItems.json +0 -28
  124. data/JSON-Schema-Test-Suite/tests/draft4/minLength.json +0 -33
  125. data/JSON-Schema-Test-Suite/tests/draft4/minProperties.json +0 -38
  126. data/JSON-Schema-Test-Suite/tests/draft4/minimum.json +0 -104
  127. data/JSON-Schema-Test-Suite/tests/draft4/multipleOf.json +0 -60
  128. data/JSON-Schema-Test-Suite/tests/draft4/not.json +0 -96
  129. data/JSON-Schema-Test-Suite/tests/draft4/oneOf.json +0 -162
  130. data/JSON-Schema-Test-Suite/tests/draft4/optional/bignum.json +0 -107
  131. data/JSON-Schema-Test-Suite/tests/draft4/optional/ecmascript-regex.json +0 -213
  132. data/JSON-Schema-Test-Suite/tests/draft4/optional/format.json +0 -253
  133. data/JSON-Schema-Test-Suite/tests/draft4/optional/zeroTerminatedFloats.json +0 -15
  134. data/JSON-Schema-Test-Suite/tests/draft4/pattern.json +0 -34
  135. data/JSON-Schema-Test-Suite/tests/draft4/patternProperties.json +0 -120
  136. data/JSON-Schema-Test-Suite/tests/draft4/properties.json +0 -136
  137. data/JSON-Schema-Test-Suite/tests/draft4/ref.json +0 -411
  138. data/JSON-Schema-Test-Suite/tests/draft4/refRemote.json +0 -171
  139. data/JSON-Schema-Test-Suite/tests/draft4/required.json +0 -89
  140. data/JSON-Schema-Test-Suite/tests/draft4/type.json +0 -464
  141. data/JSON-Schema-Test-Suite/tests/draft4/uniqueItems.json +0 -173
  142. data/JSON-Schema-Test-Suite/tests/draft6/additionalItems.json +0 -87
  143. data/JSON-Schema-Test-Suite/tests/draft6/additionalProperties.json +0 -133
  144. data/JSON-Schema-Test-Suite/tests/draft6/allOf.json +0 -218
  145. data/JSON-Schema-Test-Suite/tests/draft6/anyOf.json +0 -189
  146. data/JSON-Schema-Test-Suite/tests/draft6/boolean_schema.json +0 -104
  147. data/JSON-Schema-Test-Suite/tests/draft6/const.json +0 -170
  148. data/JSON-Schema-Test-Suite/tests/draft6/contains.json +0 -100
  149. data/JSON-Schema-Test-Suite/tests/draft6/default.json +0 -49
  150. data/JSON-Schema-Test-Suite/tests/draft6/definitions.json +0 -32
  151. data/JSON-Schema-Test-Suite/tests/draft6/dependencies.json +0 -268
  152. data/JSON-Schema-Test-Suite/tests/draft6/enum.json +0 -179
  153. data/JSON-Schema-Test-Suite/tests/draft6/exclusiveMaximum.json +0 -30
  154. data/JSON-Schema-Test-Suite/tests/draft6/exclusiveMinimum.json +0 -30
  155. data/JSON-Schema-Test-Suite/tests/draft6/format.json +0 -326
  156. data/JSON-Schema-Test-Suite/tests/draft6/items.json +0 -250
  157. data/JSON-Schema-Test-Suite/tests/draft6/maxItems.json +0 -28
  158. data/JSON-Schema-Test-Suite/tests/draft6/maxLength.json +0 -33
  159. data/JSON-Schema-Test-Suite/tests/draft6/maxProperties.json +0 -38
  160. data/JSON-Schema-Test-Suite/tests/draft6/maximum.json +0 -28
  161. data/JSON-Schema-Test-Suite/tests/draft6/minItems.json +0 -28
  162. data/JSON-Schema-Test-Suite/tests/draft6/minLength.json +0 -33
  163. data/JSON-Schema-Test-Suite/tests/draft6/minProperties.json +0 -38
  164. data/JSON-Schema-Test-Suite/tests/draft6/minimum.json +0 -59
  165. data/JSON-Schema-Test-Suite/tests/draft6/multipleOf.json +0 -60
  166. data/JSON-Schema-Test-Suite/tests/draft6/not.json +0 -117
  167. data/JSON-Schema-Test-Suite/tests/draft6/oneOf.json +0 -206
  168. data/JSON-Schema-Test-Suite/tests/draft6/optional/bignum.json +0 -105
  169. data/JSON-Schema-Test-Suite/tests/draft6/optional/ecmascript-regex.json +0 -213
  170. data/JSON-Schema-Test-Suite/tests/draft6/optional/format.json +0 -491
  171. data/JSON-Schema-Test-Suite/tests/draft6/optional/zeroTerminatedFloats.json +0 -15
  172. data/JSON-Schema-Test-Suite/tests/draft6/pattern.json +0 -34
  173. data/JSON-Schema-Test-Suite/tests/draft6/patternProperties.json +0 -151
  174. data/JSON-Schema-Test-Suite/tests/draft6/properties.json +0 -167
  175. data/JSON-Schema-Test-Suite/tests/draft6/propertyNames.json +0 -78
  176. data/JSON-Schema-Test-Suite/tests/draft6/ref.json +0 -443
  177. data/JSON-Schema-Test-Suite/tests/draft6/refRemote.json +0 -171
  178. data/JSON-Schema-Test-Suite/tests/draft6/required.json +0 -105
  179. data/JSON-Schema-Test-Suite/tests/draft6/type.json +0 -464
  180. data/JSON-Schema-Test-Suite/tests/draft6/uniqueItems.json +0 -173
  181. data/JSON-Schema-Test-Suite/tests/draft7/additionalItems.json +0 -87
  182. data/JSON-Schema-Test-Suite/tests/draft7/additionalProperties.json +0 -133
  183. data/JSON-Schema-Test-Suite/tests/draft7/allOf.json +0 -218
  184. data/JSON-Schema-Test-Suite/tests/draft7/anyOf.json +0 -189
  185. data/JSON-Schema-Test-Suite/tests/draft7/boolean_schema.json +0 -104
  186. data/JSON-Schema-Test-Suite/tests/draft7/const.json +0 -170
  187. data/JSON-Schema-Test-Suite/tests/draft7/contains.json +0 -100
  188. data/JSON-Schema-Test-Suite/tests/draft7/default.json +0 -49
  189. data/JSON-Schema-Test-Suite/tests/draft7/definitions.json +0 -32
  190. data/JSON-Schema-Test-Suite/tests/draft7/dependencies.json +0 -268
  191. data/JSON-Schema-Test-Suite/tests/draft7/enum.json +0 -179
  192. data/JSON-Schema-Test-Suite/tests/draft7/exclusiveMaximum.json +0 -30
  193. data/JSON-Schema-Test-Suite/tests/draft7/exclusiveMinimum.json +0 -30
  194. data/JSON-Schema-Test-Suite/tests/draft7/format.json +0 -614
  195. data/JSON-Schema-Test-Suite/tests/draft7/if-then-else.json +0 -188
  196. data/JSON-Schema-Test-Suite/tests/draft7/items.json +0 -250
  197. data/JSON-Schema-Test-Suite/tests/draft7/maxItems.json +0 -28
  198. data/JSON-Schema-Test-Suite/tests/draft7/maxLength.json +0 -33
  199. data/JSON-Schema-Test-Suite/tests/draft7/maxProperties.json +0 -38
  200. data/JSON-Schema-Test-Suite/tests/draft7/maximum.json +0 -28
  201. data/JSON-Schema-Test-Suite/tests/draft7/minItems.json +0 -28
  202. data/JSON-Schema-Test-Suite/tests/draft7/minLength.json +0 -33
  203. data/JSON-Schema-Test-Suite/tests/draft7/minProperties.json +0 -38
  204. data/JSON-Schema-Test-Suite/tests/draft7/minimum.json +0 -59
  205. data/JSON-Schema-Test-Suite/tests/draft7/multipleOf.json +0 -60
  206. data/JSON-Schema-Test-Suite/tests/draft7/not.json +0 -117
  207. data/JSON-Schema-Test-Suite/tests/draft7/oneOf.json +0 -206
  208. data/JSON-Schema-Test-Suite/tests/draft7/optional/bignum.json +0 -105
  209. data/JSON-Schema-Test-Suite/tests/draft7/optional/content.json +0 -77
  210. data/JSON-Schema-Test-Suite/tests/draft7/optional/ecmascript-regex.json +0 -213
  211. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/date-time.json +0 -53
  212. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/date.json +0 -23
  213. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/email.json +0 -18
  214. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/hostname.json +0 -33
  215. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/idn-email.json +0 -18
  216. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/idn-hostname.json +0 -28
  217. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/ipv4.json +0 -33
  218. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/ipv6.json +0 -28
  219. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/iri-reference.json +0 -43
  220. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/iri.json +0 -53
  221. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/json-pointer.json +0 -168
  222. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/regex.json +0 -18
  223. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/relative-json-pointer.json +0 -33
  224. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/time.json +0 -23
  225. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/uri-reference.json +0 -43
  226. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/uri-template.json +0 -28
  227. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/uri.json +0 -103
  228. data/JSON-Schema-Test-Suite/tests/draft7/optional/zeroTerminatedFloats.json +0 -15
  229. data/JSON-Schema-Test-Suite/tests/draft7/pattern.json +0 -34
  230. data/JSON-Schema-Test-Suite/tests/draft7/patternProperties.json +0 -151
  231. data/JSON-Schema-Test-Suite/tests/draft7/properties.json +0 -167
  232. data/JSON-Schema-Test-Suite/tests/draft7/propertyNames.json +0 -78
  233. data/JSON-Schema-Test-Suite/tests/draft7/ref.json +0 -443
  234. data/JSON-Schema-Test-Suite/tests/draft7/refRemote.json +0 -171
  235. data/JSON-Schema-Test-Suite/tests/draft7/required.json +0 -105
  236. data/JSON-Schema-Test-Suite/tests/draft7/type.json +0 -464
  237. data/JSON-Schema-Test-Suite/tests/draft7/uniqueItems.json +0 -173
  238. data/JSON-Schema-Test-Suite/tests/latest +0 -1
  239. data/JSON-Schema-Test-Suite/tox.ini +0 -9
@@ -1,80 +0,0 @@
1
- [
2
- {
3
- "description": "disallow",
4
- "schema": {
5
- "disallow": "integer"
6
- },
7
- "tests": [
8
- {
9
- "description": "allowed",
10
- "data": "foo",
11
- "valid": true
12
- },
13
- {
14
- "description": "disallowed",
15
- "data": 1,
16
- "valid": false
17
- }
18
- ]
19
- },
20
- {
21
- "description": "multiple disallow",
22
- "schema": {
23
- "disallow": ["integer", "boolean"]
24
- },
25
- "tests": [
26
- {
27
- "description": "valid",
28
- "data": "foo",
29
- "valid": true
30
- },
31
- {
32
- "description": "mismatch",
33
- "data": 1,
34
- "valid": false
35
- },
36
- {
37
- "description": "other mismatch",
38
- "data": true,
39
- "valid": false
40
- }
41
- ]
42
- },
43
- {
44
- "description": "multiple disallow subschema",
45
- "schema": {
46
- "disallow":
47
- ["string",
48
- {
49
- "type": "object",
50
- "properties": {
51
- "foo": {
52
- "type": "string"
53
- }
54
- }
55
- }]
56
- },
57
- "tests": [
58
- {
59
- "description": "match",
60
- "data": 1,
61
- "valid": true
62
- },
63
- {
64
- "description": "other match",
65
- "data": {"foo": 1},
66
- "valid": true
67
- },
68
- {
69
- "description": "mismatch",
70
- "data": "foo",
71
- "valid": false
72
- },
73
- {
74
- "description": "other mismatch",
75
- "data": {"foo": "bar"},
76
- "valid": false
77
- }
78
- ]
79
- }
80
- ]
@@ -1,60 +0,0 @@
1
- [
2
- {
3
- "description": "by int",
4
- "schema": {"divisibleBy": 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": {"divisibleBy": 1.5},
26
- "tests": [
27
- {
28
- "description": "zero is divisible by anything (except 0)",
29
- "data": 0,
30
- "valid": true
31
- },
32
- {
33
- "description": "4.5 is divisible by 1.5",
34
- "data": 4.5,
35
- "valid": true
36
- },
37
- {
38
- "description": "35 is not divisible by 1.5",
39
- "data": 35,
40
- "valid": false
41
- }
42
- ]
43
- },
44
- {
45
- "description": "by small number",
46
- "schema": {"divisibleBy": 0.0001},
47
- "tests": [
48
- {
49
- "description": "0.0075 is divisible by 0.0001",
50
- "data": 0.0075,
51
- "valid": true
52
- },
53
- {
54
- "description": "0.00751 is not divisible by 0.0001",
55
- "data": 0.00751,
56
- "valid": false
57
- }
58
- ]
59
- }
60
- ]
@@ -1,71 +0,0 @@
1
- [
2
- {
3
- "description": "simple enum validation",
4
- "schema": {"enum": [1, 2, 3]},
5
- "tests": [
6
- {
7
- "description": "one of the enum is valid",
8
- "data": 1,
9
- "valid": true
10
- },
11
- {
12
- "description": "something else is invalid",
13
- "data": 4,
14
- "valid": false
15
- }
16
- ]
17
- },
18
- {
19
- "description": "heterogeneous enum validation",
20
- "schema": {"enum": [6, "foo", [], true, {"foo": 12}]},
21
- "tests": [
22
- {
23
- "description": "one of the enum is valid",
24
- "data": [],
25
- "valid": true
26
- },
27
- {
28
- "description": "something else is invalid",
29
- "data": null,
30
- "valid": false
31
- },
32
- {
33
- "description": "objects are deep compared",
34
- "data": {"foo": false},
35
- "valid": false
36
- }
37
- ]
38
- },
39
- {
40
- "description": "enums in properties",
41
- "schema": {
42
- "type":"object",
43
- "properties": {
44
- "foo": {"enum":["foo"]},
45
- "bar": {"enum":["bar"], "required":true}
46
- }
47
- },
48
- "tests": [
49
- {
50
- "description": "both properties are valid",
51
- "data": {"foo":"foo", "bar":"bar"},
52
- "valid": true
53
- },
54
- {
55
- "description": "missing optional property is valid",
56
- "data": {"bar":"bar"},
57
- "valid": true
58
- },
59
- {
60
- "description": "missing required property is invalid",
61
- "data": {"foo":"foo"},
62
- "valid": false
63
- },
64
- {
65
- "description": "missing all properties is invalid",
66
- "data": {},
67
- "valid": false
68
- }
69
- ]
70
- }
71
- ]
@@ -1,94 +0,0 @@
1
- [
2
- {
3
- "description": "extends",
4
- "schema": {
5
- "properties": {"bar": {"type": "integer", "required": true}},
6
- "extends": {
7
- "properties": {
8
- "foo": {"type": "string", "required": true}
9
- }
10
- }
11
- },
12
- "tests": [
13
- {
14
- "description": "extends",
15
- "data": {"foo": "baz", "bar": 2},
16
- "valid": true
17
- },
18
- {
19
- "description": "mismatch extends",
20
- "data": {"foo": "baz"},
21
- "valid": false
22
- },
23
- {
24
- "description": "mismatch extended",
25
- "data": {"bar": 2},
26
- "valid": false
27
- },
28
- {
29
- "description": "wrong type",
30
- "data": {"foo": "baz", "bar": "quux"},
31
- "valid": false
32
- }
33
- ]
34
- },
35
- {
36
- "description": "multiple extends",
37
- "schema": {
38
- "properties": {"bar": {"type": "integer", "required": true}},
39
- "extends" : [
40
- {
41
- "properties": {
42
- "foo": {"type": "string", "required": true}
43
- }
44
- },
45
- {
46
- "properties": {
47
- "baz": {"type": "null", "required": true}
48
- }
49
- }
50
- ]
51
- },
52
- "tests": [
53
- {
54
- "description": "valid",
55
- "data": {"foo": "quux", "bar": 2, "baz": null},
56
- "valid": true
57
- },
58
- {
59
- "description": "mismatch first extends",
60
- "data": {"bar": 2, "baz": null},
61
- "valid": false
62
- },
63
- {
64
- "description": "mismatch second extends",
65
- "data": {"foo": "quux", "bar": 2},
66
- "valid": false
67
- },
68
- {
69
- "description": "mismatch both",
70
- "data": {"bar": 2},
71
- "valid": false
72
- }
73
- ]
74
- },
75
- {
76
- "description": "extends simple types",
77
- "schema": {
78
- "minimum": 20,
79
- "extends": {"maximum": 30}
80
- },
81
- "tests": [
82
- {
83
- "description": "valid",
84
- "data": 25,
85
- "valid": true
86
- },
87
- {
88
- "description": "mismatch extends",
89
- "data": 35,
90
- "valid": false
91
- }
92
- ]
93
- }
94
- ]
@@ -1,362 +0,0 @@
1
- [
2
- {
3
- "description": "validation of e-mail addresses",
4
- "schema": {"format": "email"},
5
- "tests": [
6
- {
7
- "description": "ignores integers",
8
- "data": 12,
9
- "valid": true
10
- },
11
- {
12
- "description": "ignores floats",
13
- "data": 13.7,
14
- "valid": true
15
- },
16
- {
17
- "description": "ignores objects",
18
- "data": {},
19
- "valid": true
20
- },
21
- {
22
- "description": "ignores arrays",
23
- "data": [],
24
- "valid": true
25
- },
26
- {
27
- "description": "ignores booleans",
28
- "data": false,
29
- "valid": true
30
- },
31
- {
32
- "description": "ignores null",
33
- "data": null,
34
- "valid": true
35
- }
36
- ]
37
- },
38
- {
39
- "description": "validation of IP addresses",
40
- "schema": {"format": "ip-address"},
41
- "tests": [
42
- {
43
- "description": "ignores integers",
44
- "data": 12,
45
- "valid": true
46
- },
47
- {
48
- "description": "ignores floats",
49
- "data": 13.7,
50
- "valid": true
51
- },
52
- {
53
- "description": "ignores objects",
54
- "data": {},
55
- "valid": true
56
- },
57
- {
58
- "description": "ignores arrays",
59
- "data": [],
60
- "valid": true
61
- },
62
- {
63
- "description": "ignores booleans",
64
- "data": false,
65
- "valid": true
66
- },
67
- {
68
- "description": "ignores null",
69
- "data": null,
70
- "valid": true
71
- }
72
- ]
73
- },
74
- {
75
- "description": "validation of IPv6 addresses",
76
- "schema": {"format": "ipv6"},
77
- "tests": [
78
- {
79
- "description": "ignores integers",
80
- "data": 12,
81
- "valid": true
82
- },
83
- {
84
- "description": "ignores floats",
85
- "data": 13.7,
86
- "valid": true
87
- },
88
- {
89
- "description": "ignores objects",
90
- "data": {},
91
- "valid": true
92
- },
93
- {
94
- "description": "ignores arrays",
95
- "data": [],
96
- "valid": true
97
- },
98
- {
99
- "description": "ignores booleans",
100
- "data": false,
101
- "valid": true
102
- },
103
- {
104
- "description": "ignores null",
105
- "data": null,
106
- "valid": true
107
- }
108
- ]
109
- },
110
- {
111
- "description": "validation of hostnames",
112
- "schema": {"format": "host-name"},
113
- "tests": [
114
- {
115
- "description": "ignores integers",
116
- "data": 12,
117
- "valid": true
118
- },
119
- {
120
- "description": "ignores floats",
121
- "data": 13.7,
122
- "valid": true
123
- },
124
- {
125
- "description": "ignores objects",
126
- "data": {},
127
- "valid": true
128
- },
129
- {
130
- "description": "ignores arrays",
131
- "data": [],
132
- "valid": true
133
- },
134
- {
135
- "description": "ignores booleans",
136
- "data": false,
137
- "valid": true
138
- },
139
- {
140
- "description": "ignores null",
141
- "data": null,
142
- "valid": true
143
- }
144
- ]
145
- },
146
- {
147
- "description": "validation of date-time strings",
148
- "schema": {"format": "date-time"},
149
- "tests": [
150
- {
151
- "description": "ignores integers",
152
- "data": 12,
153
- "valid": true
154
- },
155
- {
156
- "description": "ignores floats",
157
- "data": 13.7,
158
- "valid": true
159
- },
160
- {
161
- "description": "ignores objects",
162
- "data": {},
163
- "valid": true
164
- },
165
- {
166
- "description": "ignores arrays",
167
- "data": [],
168
- "valid": true
169
- },
170
- {
171
- "description": "ignores booleans",
172
- "data": false,
173
- "valid": true
174
- },
175
- {
176
- "description": "ignores null",
177
- "data": null,
178
- "valid": true
179
- }
180
- ]
181
- },
182
- {
183
- "description": "validation of regular expressions",
184
- "schema": {"format": "regex"},
185
- "tests": [
186
- {
187
- "description": "ignores integers",
188
- "data": 12,
189
- "valid": true
190
- },
191
- {
192
- "description": "ignores floats",
193
- "data": 13.7,
194
- "valid": true
195
- },
196
- {
197
- "description": "ignores objects",
198
- "data": {},
199
- "valid": true
200
- },
201
- {
202
- "description": "ignores arrays",
203
- "data": [],
204
- "valid": true
205
- },
206
- {
207
- "description": "ignores booleans",
208
- "data": false,
209
- "valid": true
210
- },
211
- {
212
- "description": "ignores null",
213
- "data": null,
214
- "valid": true
215
- }
216
- ]
217
- },
218
- {
219
- "description": "validation of date strings",
220
- "schema": {"format": "date"},
221
- "tests": [
222
- {
223
- "description": "ignores integers",
224
- "data": 12,
225
- "valid": true
226
- },
227
- {
228
- "description": "ignores floats",
229
- "data": 13.7,
230
- "valid": true
231
- },
232
- {
233
- "description": "ignores objects",
234
- "data": {},
235
- "valid": true
236
- },
237
- {
238
- "description": "ignores arrays",
239
- "data": [],
240
- "valid": true
241
- },
242
- {
243
- "description": "ignores booleans",
244
- "data": false,
245
- "valid": true
246
- },
247
- {
248
- "description": "ignores null",
249
- "data": null,
250
- "valid": true
251
- }
252
- ]
253
- },
254
- {
255
- "description": "validation of time strings",
256
- "schema": {"format": "time"},
257
- "tests": [
258
- {
259
- "description": "ignores integers",
260
- "data": 12,
261
- "valid": true
262
- },
263
- {
264
- "description": "ignores floats",
265
- "data": 13.7,
266
- "valid": true
267
- },
268
- {
269
- "description": "ignores objects",
270
- "data": {},
271
- "valid": true
272
- },
273
- {
274
- "description": "ignores arrays",
275
- "data": [],
276
- "valid": true
277
- },
278
- {
279
- "description": "ignores booleans",
280
- "data": false,
281
- "valid": true
282
- },
283
- {
284
- "description": "ignores null",
285
- "data": null,
286
- "valid": true
287
- }
288
- ]
289
- },
290
- {
291
- "description": "validation of CSS colors",
292
- "schema": {"format": "color"},
293
- "tests": [
294
- {
295
- "description": "ignores integers",
296
- "data": 12,
297
- "valid": true
298
- },
299
- {
300
- "description": "ignores floats",
301
- "data": 13.7,
302
- "valid": true
303
- },
304
- {
305
- "description": "ignores objects",
306
- "data": {},
307
- "valid": true
308
- },
309
- {
310
- "description": "ignores arrays",
311
- "data": [],
312
- "valid": true
313
- },
314
- {
315
- "description": "ignores booleans",
316
- "data": false,
317
- "valid": true
318
- },
319
- {
320
- "description": "ignores null",
321
- "data": null,
322
- "valid": true
323
- }
324
- ]
325
- },
326
- {
327
- "description": "validation of URIs",
328
- "schema": {"format": "uri"},
329
- "tests": [
330
- {
331
- "description": "ignores integers",
332
- "data": 12,
333
- "valid": true
334
- },
335
- {
336
- "description": "ignores floats",
337
- "data": 13.7,
338
- "valid": true
339
- },
340
- {
341
- "description": "ignores objects",
342
- "data": {},
343
- "valid": true
344
- },
345
- {
346
- "description": "ignores arrays",
347
- "data": [],
348
- "valid": true
349
- },
350
- {
351
- "description": "ignores booleans",
352
- "data": false,
353
- "valid": true
354
- },
355
- {
356
- "description": "ignores null",
357
- "data": null,
358
- "valid": true
359
- }
360
- ]
361
- }
362
- ]