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,74 +0,0 @@
1
- [
2
- {
3
- "description": "remote ref",
4
- "schema": {"$ref": "http://localhost:1234/integer.json"},
5
- "tests": [
6
- {
7
- "description": "remote ref valid",
8
- "data": 1,
9
- "valid": true
10
- },
11
- {
12
- "description": "remote ref invalid",
13
- "data": "a",
14
- "valid": false
15
- }
16
- ]
17
- },
18
- {
19
- "description": "fragment within remote ref",
20
- "schema": {"$ref": "http://localhost:1234/subSchemas.json#/integer"},
21
- "tests": [
22
- {
23
- "description": "remote fragment valid",
24
- "data": 1,
25
- "valid": true
26
- },
27
- {
28
- "description": "remote fragment invalid",
29
- "data": "a",
30
- "valid": false
31
- }
32
- ]
33
- },
34
- {
35
- "description": "ref within remote ref",
36
- "schema": {
37
- "$ref": "http://localhost:1234/subSchemas.json#/refToInteger"
38
- },
39
- "tests": [
40
- {
41
- "description": "ref within ref valid",
42
- "data": 1,
43
- "valid": true
44
- },
45
- {
46
- "description": "ref within ref invalid",
47
- "data": "a",
48
- "valid": false
49
- }
50
- ]
51
- },
52
- {
53
- "description": "change resolution scope",
54
- "schema": {
55
- "id": "http://localhost:1234/",
56
- "items": {
57
- "id": "folder/",
58
- "items": {"$ref": "folderInteger.json"}
59
- }
60
- },
61
- "tests": [
62
- {
63
- "description": "changed scope ref valid",
64
- "data": [[1]],
65
- "valid": true
66
- },
67
- {
68
- "description": "changed scope ref invalid",
69
- "data": [["a"]],
70
- "valid": false
71
- }
72
- ]
73
- }
74
- ]
@@ -1,53 +0,0 @@
1
- [
2
- {
3
- "description": "required validation",
4
- "schema": {
5
- "properties": {
6
- "foo": {"required" : true},
7
- "bar": {}
8
- }
9
- },
10
- "tests": [
11
- {
12
- "description": "present required property is valid",
13
- "data": {"foo": 1},
14
- "valid": true
15
- },
16
- {
17
- "description": "non-present required property is invalid",
18
- "data": {"bar": 1},
19
- "valid": false
20
- }
21
- ]
22
- },
23
- {
24
- "description": "required default validation",
25
- "schema": {
26
- "properties": {
27
- "foo": {}
28
- }
29
- },
30
- "tests": [
31
- {
32
- "description": "not required by default",
33
- "data": {},
34
- "valid": true
35
- }
36
- ]
37
- },
38
- {
39
- "description": "required explicitly false validation",
40
- "schema": {
41
- "properties": {
42
- "foo": {"required": false}
43
- }
44
- },
45
- "tests": [
46
- {
47
- "description": "not required if required is false",
48
- "data": {},
49
- "valid": true
50
- }
51
- ]
52
- }
53
- ]
@@ -1,489 +0,0 @@
1
- [
2
- {
3
- "description": "integer type matches integers",
4
- "schema": {"type": "integer"},
5
- "tests": [
6
- {
7
- "description": "an integer is an integer",
8
- "data": 1,
9
- "valid": true
10
- },
11
- {
12
- "description": "a float is not an integer",
13
- "data": 1.1,
14
- "valid": false
15
- },
16
- {
17
- "description": "a string is not an integer",
18
- "data": "foo",
19
- "valid": false
20
- },
21
- {
22
- "description": "a string is still not an integer, even if it looks like one",
23
- "data": "1",
24
- "valid": false
25
- },
26
- {
27
- "description": "an object is not an integer",
28
- "data": {},
29
- "valid": false
30
- },
31
- {
32
- "description": "an array is not an integer",
33
- "data": [],
34
- "valid": false
35
- },
36
- {
37
- "description": "a boolean is not an integer",
38
- "data": true,
39
- "valid": false
40
- },
41
- {
42
- "description": "null is not an integer",
43
- "data": null,
44
- "valid": false
45
- }
46
- ]
47
- },
48
- {
49
- "description": "number type matches numbers",
50
- "schema": {"type": "number"},
51
- "tests": [
52
- {
53
- "description": "an integer is a number",
54
- "data": 1,
55
- "valid": true
56
- },
57
- {
58
- "description": "a float is a number",
59
- "data": 1.1,
60
- "valid": true
61
- },
62
- {
63
- "description": "a string is not a number",
64
- "data": "foo",
65
- "valid": false
66
- },
67
- {
68
- "description": "a string is still not a number, even if it looks like one",
69
- "data": "1",
70
- "valid": false
71
- },
72
- {
73
- "description": "an object is not a number",
74
- "data": {},
75
- "valid": false
76
- },
77
- {
78
- "description": "an array is not a number",
79
- "data": [],
80
- "valid": false
81
- },
82
- {
83
- "description": "a boolean is not a number",
84
- "data": true,
85
- "valid": false
86
- },
87
- {
88
- "description": "null is not a number",
89
- "data": null,
90
- "valid": false
91
- }
92
- ]
93
- },
94
- {
95
- "description": "string type matches strings",
96
- "schema": {"type": "string"},
97
- "tests": [
98
- {
99
- "description": "1 is not a string",
100
- "data": 1,
101
- "valid": false
102
- },
103
- {
104
- "description": "a float is not a string",
105
- "data": 1.1,
106
- "valid": false
107
- },
108
- {
109
- "description": "a string is a string",
110
- "data": "foo",
111
- "valid": true
112
- },
113
- {
114
- "description": "a string is still a string, even if it looks like a number",
115
- "data": "1",
116
- "valid": true
117
- },
118
- {
119
- "description": "an object is not a string",
120
- "data": {},
121
- "valid": false
122
- },
123
- {
124
- "description": "an array is not a string",
125
- "data": [],
126
- "valid": false
127
- },
128
- {
129
- "description": "a boolean is not a string",
130
- "data": true,
131
- "valid": false
132
- },
133
- {
134
- "description": "null is not a string",
135
- "data": null,
136
- "valid": false
137
- }
138
- ]
139
- },
140
- {
141
- "description": "object type matches objects",
142
- "schema": {"type": "object"},
143
- "tests": [
144
- {
145
- "description": "an integer is not an object",
146
- "data": 1,
147
- "valid": false
148
- },
149
- {
150
- "description": "a float is not an object",
151
- "data": 1.1,
152
- "valid": false
153
- },
154
- {
155
- "description": "a string is not an object",
156
- "data": "foo",
157
- "valid": false
158
- },
159
- {
160
- "description": "an object is an object",
161
- "data": {},
162
- "valid": true
163
- },
164
- {
165
- "description": "an array is not an object",
166
- "data": [],
167
- "valid": false
168
- },
169
- {
170
- "description": "a boolean is not an object",
171
- "data": true,
172
- "valid": false
173
- },
174
- {
175
- "description": "null is not an object",
176
- "data": null,
177
- "valid": false
178
- }
179
- ]
180
- },
181
- {
182
- "description": "array type matches arrays",
183
- "schema": {"type": "array"},
184
- "tests": [
185
- {
186
- "description": "an integer is not an array",
187
- "data": 1,
188
- "valid": false
189
- },
190
- {
191
- "description": "a float is not an array",
192
- "data": 1.1,
193
- "valid": false
194
- },
195
- {
196
- "description": "a string is not an array",
197
- "data": "foo",
198
- "valid": false
199
- },
200
- {
201
- "description": "an object is not an array",
202
- "data": {},
203
- "valid": false
204
- },
205
- {
206
- "description": "an array is an array",
207
- "data": [],
208
- "valid": true
209
- },
210
- {
211
- "description": "a boolean is not an array",
212
- "data": true,
213
- "valid": false
214
- },
215
- {
216
- "description": "null is not an array",
217
- "data": null,
218
- "valid": false
219
- }
220
- ]
221
- },
222
- {
223
- "description": "boolean type matches booleans",
224
- "schema": {"type": "boolean"},
225
- "tests": [
226
- {
227
- "description": "an integer is not a boolean",
228
- "data": 1,
229
- "valid": false
230
- },
231
- {
232
- "description": "a float is not a boolean",
233
- "data": 1.1,
234
- "valid": false
235
- },
236
- {
237
- "description": "a string is not a boolean",
238
- "data": "foo",
239
- "valid": false
240
- },
241
- {
242
- "description": "an object is not a boolean",
243
- "data": {},
244
- "valid": false
245
- },
246
- {
247
- "description": "an array is not a boolean",
248
- "data": [],
249
- "valid": false
250
- },
251
- {
252
- "description": "a boolean is a boolean",
253
- "data": true,
254
- "valid": true
255
- },
256
- {
257
- "description": "null is not a boolean",
258
- "data": null,
259
- "valid": false
260
- }
261
- ]
262
- },
263
- {
264
- "description": "null type matches only the null object",
265
- "schema": {"type": "null"},
266
- "tests": [
267
- {
268
- "description": "an integer is not null",
269
- "data": 1,
270
- "valid": false
271
- },
272
- {
273
- "description": "a float is not null",
274
- "data": 1.1,
275
- "valid": false
276
- },
277
- {
278
- "description": "a string is not null",
279
- "data": "foo",
280
- "valid": false
281
- },
282
- {
283
- "description": "an object is not null",
284
- "data": {},
285
- "valid": false
286
- },
287
- {
288
- "description": "an array is not null",
289
- "data": [],
290
- "valid": false
291
- },
292
- {
293
- "description": "a boolean is not null",
294
- "data": true,
295
- "valid": false
296
- },
297
- {
298
- "description": "null is null",
299
- "data": null,
300
- "valid": true
301
- }
302
- ]
303
- },
304
- {
305
- "description": "any type matches any type",
306
- "schema": {"type": "any"},
307
- "tests": [
308
- {
309
- "description": "any type includes integers",
310
- "data": 1,
311
- "valid": true
312
- },
313
- {
314
- "description": "any type includes float",
315
- "data": 1.1,
316
- "valid": true
317
- },
318
- {
319
- "description": "any type includes string",
320
- "data": "foo",
321
- "valid": true
322
- },
323
- {
324
- "description": "any type includes object",
325
- "data": {},
326
- "valid": true
327
- },
328
- {
329
- "description": "any type includes array",
330
- "data": [],
331
- "valid": true
332
- },
333
- {
334
- "description": "any type includes boolean",
335
- "data": true,
336
- "valid": true
337
- },
338
- {
339
- "description": "any type includes null",
340
- "data": null,
341
- "valid": true
342
- }
343
- ]
344
- },
345
- {
346
- "description": "multiple types can be specified in an array",
347
- "schema": {"type": ["integer", "string"]},
348
- "tests": [
349
- {
350
- "description": "an integer is valid",
351
- "data": 1,
352
- "valid": true
353
- },
354
- {
355
- "description": "a string is valid",
356
- "data": "foo",
357
- "valid": true
358
- },
359
- {
360
- "description": "a float is invalid",
361
- "data": 1.1,
362
- "valid": false
363
- },
364
- {
365
- "description": "an object is invalid",
366
- "data": {},
367
- "valid": false
368
- },
369
- {
370
- "description": "an array is invalid",
371
- "data": [],
372
- "valid": false
373
- },
374
- {
375
- "description": "a boolean is invalid",
376
- "data": true,
377
- "valid": false
378
- },
379
- {
380
- "description": "null is invalid",
381
- "data": null,
382
- "valid": false
383
- }
384
- ]
385
- },
386
- {
387
- "description": "types can include schemas",
388
- "schema": {
389
- "type": [
390
- "array",
391
- {"type": "object"}
392
- ]
393
- },
394
- "tests": [
395
- {
396
- "description": "an integer is invalid",
397
- "data": 1,
398
- "valid": false
399
- },
400
- {
401
- "description": "a string is invalid",
402
- "data": "foo",
403
- "valid": false
404
- },
405
- {
406
- "description": "a float is invalid",
407
- "data": 1.1,
408
- "valid": false
409
- },
410
- {
411
- "description": "an object is valid",
412
- "data": {},
413
- "valid": true
414
- },
415
- {
416
- "description": "an array is valid",
417
- "data": [],
418
- "valid": true
419
- },
420
- {
421
- "description": "a boolean is invalid",
422
- "data": true,
423
- "valid": false
424
- },
425
- {
426
- "description": "null is invalid",
427
- "data": null,
428
- "valid": false
429
- }
430
- ]
431
- },
432
- {
433
- "description":
434
- "when types includes a schema it should fully validate the schema",
435
- "schema": {
436
- "type": [
437
- "integer",
438
- {
439
- "properties": {
440
- "foo": {"type": "null"}
441
- }
442
- }
443
- ]
444
- },
445
- "tests": [
446
- {
447
- "description": "an integer is valid",
448
- "data": 1,
449
- "valid": true
450
- },
451
- {
452
- "description": "an object is valid only if it is fully valid",
453
- "data": {"foo": null},
454
- "valid": true
455
- },
456
- {
457
- "description": "an object is invalid otherwise",
458
- "data": {"foo": "bar"},
459
- "valid": false
460
- }
461
- ]
462
- },
463
- {
464
- "description": "types from separate schemas are merged",
465
- "schema": {
466
- "type": [
467
- {"type": ["string"]},
468
- {"type": ["array", "null"]}
469
- ]
470
- },
471
- "tests": [
472
- {
473
- "description": "an integer is invalid",
474
- "data": 1,
475
- "valid": false
476
- },
477
- {
478
- "description": "a string is valid",
479
- "data": "foo",
480
- "valid": true
481
- },
482
- {
483
- "description": "an array is valid",
484
- "data": [1, 2, 3],
485
- "valid": true
486
- }
487
- ]
488
- }
489
- ]