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,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
- ]
@@ -1,96 +0,0 @@
1
- [
2
- {
3
- "description": "not",
4
- "schema": {
5
- "not": {"type": "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": "not multiple types",
22
- "schema": {
23
- "not": {"type": ["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": "not more complex schema",
45
- "schema": {
46
- "not": {
47
- "type": "object",
48
- "properties": {
49
- "foo": {
50
- "type": "string"
51
- }
52
- }
53
- }
54
- },
55
- "tests": [
56
- {
57
- "description": "match",
58
- "data": 1,
59
- "valid": true
60
- },
61
- {
62
- "description": "other match",
63
- "data": {"foo": 1},
64
- "valid": true
65
- },
66
- {
67
- "description": "mismatch",
68
- "data": {"foo": "bar"},
69
- "valid": false
70
- }
71
- ]
72
- },
73
- {
74
- "description": "forbidden property",
75
- "schema": {
76
- "properties": {
77
- "foo": {
78
- "not": {}
79
- }
80
- }
81
- },
82
- "tests": [
83
- {
84
- "description": "property present",
85
- "data": {"foo": 1, "bar": 2},
86
- "valid": false
87
- },
88
- {
89
- "description": "property absent",
90
- "data": {"bar": 1, "baz": 2},
91
- "valid": true
92
- }
93
- ]
94
- }
95
-
96
- ]
@@ -1,162 +0,0 @@
1
- [
2
- {
3
- "description": "oneOf",
4
- "schema": {
5
- "oneOf": [
6
- {
7
- "type": "integer"
8
- },
9
- {
10
- "minimum": 2
11
- }
12
- ]
13
- },
14
- "tests": [
15
- {
16
- "description": "first oneOf valid",
17
- "data": 1,
18
- "valid": true
19
- },
20
- {
21
- "description": "second oneOf valid",
22
- "data": 2.5,
23
- "valid": true
24
- },
25
- {
26
- "description": "both oneOf valid",
27
- "data": 3,
28
- "valid": false
29
- },
30
- {
31
- "description": "neither oneOf valid",
32
- "data": 1.5,
33
- "valid": false
34
- }
35
- ]
36
- },
37
- {
38
- "description": "oneOf with base schema",
39
- "schema": {
40
- "type": "string",
41
- "oneOf" : [
42
- {
43
- "minLength": 2
44
- },
45
- {
46
- "maxLength": 4
47
- }
48
- ]
49
- },
50
- "tests": [
51
- {
52
- "description": "mismatch base schema",
53
- "data": 3,
54
- "valid": false
55
- },
56
- {
57
- "description": "one oneOf valid",
58
- "data": "foobar",
59
- "valid": true
60
- },
61
- {
62
- "description": "both oneOf valid",
63
- "data": "foo",
64
- "valid": false
65
- }
66
- ]
67
- },
68
- {
69
- "description": "oneOf complex types",
70
- "schema": {
71
- "oneOf": [
72
- {
73
- "properties": {
74
- "bar": {"type": "integer"}
75
- },
76
- "required": ["bar"]
77
- },
78
- {
79
- "properties": {
80
- "foo": {"type": "string"}
81
- },
82
- "required": ["foo"]
83
- }
84
- ]
85
- },
86
- "tests": [
87
- {
88
- "description": "first oneOf valid (complex)",
89
- "data": {"bar": 2},
90
- "valid": true
91
- },
92
- {
93
- "description": "second oneOf valid (complex)",
94
- "data": {"foo": "baz"},
95
- "valid": true
96
- },
97
- {
98
- "description": "both oneOf valid (complex)",
99
- "data": {"foo": "baz", "bar": 2},
100
- "valid": false
101
- },
102
- {
103
- "description": "neither oneOf valid (complex)",
104
- "data": {"foo": 2, "bar": "quux"},
105
- "valid": false
106
- }
107
- ]
108
- },
109
- {
110
- "description": "oneOf with empty schema",
111
- "schema": {
112
- "oneOf": [
113
- { "type": "number" },
114
- {}
115
- ]
116
- },
117
- "tests": [
118
- {
119
- "description": "one valid - valid",
120
- "data": "foo",
121
- "valid": true
122
- },
123
- {
124
- "description": "both valid - invalid",
125
- "data": 123,
126
- "valid": false
127
- }
128
- ]
129
- },
130
- {
131
- "description": "oneOf with required",
132
- "schema": {
133
- "type": "object",
134
- "oneOf": [
135
- { "required": ["foo", "bar"] },
136
- { "required": ["foo", "baz"] }
137
- ]
138
- },
139
- "tests": [
140
- {
141
- "description": "both invalid - invalid",
142
- "data": {"bar": 2},
143
- "valid": false
144
- },
145
- {
146
- "description": "first valid - valid",
147
- "data": {"foo": 1, "bar": 2},
148
- "valid": true
149
- },
150
- {
151
- "description": "second valid - valid",
152
- "data": {"foo": 1, "baz": 3},
153
- "valid": true
154
- },
155
- {
156
- "description": "both valid - invalid",
157
- "data": {"foo": 1, "bar": 2, "baz" : 3},
158
- "valid": false
159
- }
160
- ]
161
- }
162
- ]
@@ -1,107 +0,0 @@
1
- [
2
- {
3
- "description": "integer",
4
- "schema": {"type": "integer"},
5
- "tests": [
6
- {
7
- "description": "a bignum is an integer",
8
- "data": 12345678910111213141516171819202122232425262728293031,
9
- "valid": true
10
- }
11
- ]
12
- },
13
- {
14
- "description": "number",
15
- "schema": {"type": "number"},
16
- "tests": [
17
- {
18
- "description": "a bignum is a number",
19
- "data": 98249283749234923498293171823948729348710298301928331,
20
- "valid": true
21
- }
22
- ]
23
- },
24
- {
25
- "description": "integer",
26
- "schema": {"type": "integer"},
27
- "tests": [
28
- {
29
- "description": "a negative bignum is an integer",
30
- "data": -12345678910111213141516171819202122232425262728293031,
31
- "valid": true
32
- }
33
- ]
34
- },
35
- {
36
- "description": "number",
37
- "schema": {"type": "number"},
38
- "tests": [
39
- {
40
- "description": "a negative bignum is a number",
41
- "data": -98249283749234923498293171823948729348710298301928331,
42
- "valid": true
43
- }
44
- ]
45
- },
46
- {
47
- "description": "string",
48
- "schema": {"type": "string"},
49
- "tests": [
50
- {
51
- "description": "a bignum is not a string",
52
- "data": 98249283749234923498293171823948729348710298301928331,
53
- "valid": false
54
- }
55
- ]
56
- },
57
- {
58
- "description": "integer comparison",
59
- "schema": {"maximum": 18446744073709551615},
60
- "tests": [
61
- {
62
- "description": "comparison works for high numbers",
63
- "data": 18446744073709551600,
64
- "valid": true
65
- }
66
- ]
67
- },
68
- {
69
- "description": "float comparison with high precision",
70
- "schema": {
71
- "maximum": 972783798187987123879878123.18878137,
72
- "exclusiveMaximum": true
73
- },
74
- "tests": [
75
- {
76
- "description": "comparison works for high numbers",
77
- "data": 972783798187987123879878123.188781371,
78
- "valid": false
79
- }
80
- ]
81
- },
82
- {
83
- "description": "integer comparison",
84
- "schema": {"minimum": -18446744073709551615},
85
- "tests": [
86
- {
87
- "description": "comparison works for very negative numbers",
88
- "data": -18446744073709551600,
89
- "valid": true
90
- }
91
- ]
92
- },
93
- {
94
- "description": "float comparison with high precision on negative numbers",
95
- "schema": {
96
- "minimum": -972783798187987123879878123.18878137,
97
- "exclusiveMinimum": true
98
- },
99
- "tests": [
100
- {
101
- "description": "comparison works for very negative numbers",
102
- "data": -972783798187987123879878123.188781371,
103
- "valid": false
104
- }
105
- ]
106
- }
107
- ]