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,87 +0,0 @@
1
- [
2
- {
3
- "description": "Location-independent identifier",
4
- "schema": {
5
- "allOf": [{
6
- "$ref": "#foo"
7
- }],
8
- "$defs": {
9
- "A": {
10
- "$anchor": "foo",
11
- "type": "integer"
12
- }
13
- }
14
- },
15
- "tests": [
16
- {
17
- "data": 1,
18
- "description": "match",
19
- "valid": true
20
- },
21
- {
22
- "data": "a",
23
- "description": "mismatch",
24
- "valid": false
25
- }
26
- ]
27
- },
28
- {
29
- "description": "Location-independent identifier with absolute URI",
30
- "schema": {
31
- "allOf": [{
32
- "$ref": "http://localhost:1234/bar#foo"
33
- }],
34
- "$defs": {
35
- "A": {
36
- "$id": "http://localhost:1234/bar",
37
- "$anchor": "foo",
38
- "type": "integer"
39
- }
40
- }
41
- },
42
- "tests": [
43
- {
44
- "data": 1,
45
- "description": "match",
46
- "valid": true
47
- },
48
- {
49
- "data": "a",
50
- "description": "mismatch",
51
- "valid": false
52
- }
53
- ]
54
- },
55
- {
56
- "description": "Location-independent identifier with base URI change in subschema",
57
- "schema": {
58
- "$id": "http://localhost:1234/root",
59
- "allOf": [{
60
- "$ref": "http://localhost:1234/nested.json#foo"
61
- }],
62
- "$defs": {
63
- "A": {
64
- "$id": "nested.json",
65
- "$defs": {
66
- "B": {
67
- "$anchor": "foo",
68
- "type": "integer"
69
- }
70
- }
71
- }
72
- }
73
- },
74
- "tests": [
75
- {
76
- "data": 1,
77
- "description": "match",
78
- "valid": true
79
- },
80
- {
81
- "data": "a",
82
- "description": "mismatch",
83
- "valid": false
84
- }
85
- ]
86
- }
87
- ]
@@ -1,189 +0,0 @@
1
- [
2
- {
3
- "description": "anyOf",
4
- "schema": {
5
- "anyOf": [
6
- {
7
- "type": "integer"
8
- },
9
- {
10
- "minimum": 2
11
- }
12
- ]
13
- },
14
- "tests": [
15
- {
16
- "description": "first anyOf valid",
17
- "data": 1,
18
- "valid": true
19
- },
20
- {
21
- "description": "second anyOf valid",
22
- "data": 2.5,
23
- "valid": true
24
- },
25
- {
26
- "description": "both anyOf valid",
27
- "data": 3,
28
- "valid": true
29
- },
30
- {
31
- "description": "neither anyOf valid",
32
- "data": 1.5,
33
- "valid": false
34
- }
35
- ]
36
- },
37
- {
38
- "description": "anyOf with base schema",
39
- "schema": {
40
- "type": "string",
41
- "anyOf" : [
42
- {
43
- "maxLength": 2
44
- },
45
- {
46
- "minLength": 4
47
- }
48
- ]
49
- },
50
- "tests": [
51
- {
52
- "description": "mismatch base schema",
53
- "data": 3,
54
- "valid": false
55
- },
56
- {
57
- "description": "one anyOf valid",
58
- "data": "foobar",
59
- "valid": true
60
- },
61
- {
62
- "description": "both anyOf invalid",
63
- "data": "foo",
64
- "valid": false
65
- }
66
- ]
67
- },
68
- {
69
- "description": "anyOf with boolean schemas, all true",
70
- "schema": {"anyOf": [true, true]},
71
- "tests": [
72
- {
73
- "description": "any value is valid",
74
- "data": "foo",
75
- "valid": true
76
- }
77
- ]
78
- },
79
- {
80
- "description": "anyOf with boolean schemas, some true",
81
- "schema": {"anyOf": [true, false]},
82
- "tests": [
83
- {
84
- "description": "any value is valid",
85
- "data": "foo",
86
- "valid": true
87
- }
88
- ]
89
- },
90
- {
91
- "description": "anyOf with boolean schemas, all false",
92
- "schema": {"anyOf": [false, false]},
93
- "tests": [
94
- {
95
- "description": "any value is invalid",
96
- "data": "foo",
97
- "valid": false
98
- }
99
- ]
100
- },
101
- {
102
- "description": "anyOf complex types",
103
- "schema": {
104
- "anyOf": [
105
- {
106
- "properties": {
107
- "bar": {"type": "integer"}
108
- },
109
- "required": ["bar"]
110
- },
111
- {
112
- "properties": {
113
- "foo": {"type": "string"}
114
- },
115
- "required": ["foo"]
116
- }
117
- ]
118
- },
119
- "tests": [
120
- {
121
- "description": "first anyOf valid (complex)",
122
- "data": {"bar": 2},
123
- "valid": true
124
- },
125
- {
126
- "description": "second anyOf valid (complex)",
127
- "data": {"foo": "baz"},
128
- "valid": true
129
- },
130
- {
131
- "description": "both anyOf valid (complex)",
132
- "data": {"foo": "baz", "bar": 2},
133
- "valid": true
134
- },
135
- {
136
- "description": "neither anyOf valid (complex)",
137
- "data": {"foo": 2, "bar": "quux"},
138
- "valid": false
139
- }
140
- ]
141
- },
142
- {
143
- "description": "anyOf with one empty schema",
144
- "schema": {
145
- "anyOf": [
146
- { "type": "number" },
147
- {}
148
- ]
149
- },
150
- "tests": [
151
- {
152
- "description": "string is valid",
153
- "data": "foo",
154
- "valid": true
155
- },
156
- {
157
- "description": "number is valid",
158
- "data": 123,
159
- "valid": true
160
- }
161
- ]
162
- },
163
- {
164
- "description": "nested anyOf, to check validation semantics",
165
- "schema": {
166
- "anyOf": [
167
- {
168
- "anyOf": [
169
- {
170
- "type": "null"
171
- }
172
- ]
173
- }
174
- ]
175
- },
176
- "tests": [
177
- {
178
- "description": "null is valid",
179
- "data": null,
180
- "valid": true
181
- },
182
- {
183
- "description": "anything non-null is invalid",
184
- "data": 123,
185
- "valid": false
186
- }
187
- ]
188
- }
189
- ]
@@ -1,104 +0,0 @@
1
- [
2
- {
3
- "description": "boolean schema 'true'",
4
- "schema": true,
5
- "tests": [
6
- {
7
- "description": "number is valid",
8
- "data": 1,
9
- "valid": true
10
- },
11
- {
12
- "description": "string is valid",
13
- "data": "foo",
14
- "valid": true
15
- },
16
- {
17
- "description": "boolean true is valid",
18
- "data": true,
19
- "valid": true
20
- },
21
- {
22
- "description": "boolean false is valid",
23
- "data": false,
24
- "valid": true
25
- },
26
- {
27
- "description": "null is valid",
28
- "data": null,
29
- "valid": true
30
- },
31
- {
32
- "description": "object is valid",
33
- "data": {"foo": "bar"},
34
- "valid": true
35
- },
36
- {
37
- "description": "empty object is valid",
38
- "data": {},
39
- "valid": true
40
- },
41
- {
42
- "description": "array is valid",
43
- "data": ["foo"],
44
- "valid": true
45
- },
46
- {
47
- "description": "empty array is valid",
48
- "data": [],
49
- "valid": true
50
- }
51
- ]
52
- },
53
- {
54
- "description": "boolean schema 'false'",
55
- "schema": false,
56
- "tests": [
57
- {
58
- "description": "number is invalid",
59
- "data": 1,
60
- "valid": false
61
- },
62
- {
63
- "description": "string is invalid",
64
- "data": "foo",
65
- "valid": false
66
- },
67
- {
68
- "description": "boolean true is invalid",
69
- "data": true,
70
- "valid": false
71
- },
72
- {
73
- "description": "boolean false is invalid",
74
- "data": false,
75
- "valid": false
76
- },
77
- {
78
- "description": "null is invalid",
79
- "data": null,
80
- "valid": false
81
- },
82
- {
83
- "description": "object is invalid",
84
- "data": {"foo": "bar"},
85
- "valid": false
86
- },
87
- {
88
- "description": "empty object is invalid",
89
- "data": {},
90
- "valid": false
91
- },
92
- {
93
- "description": "array is invalid",
94
- "data": ["foo"],
95
- "valid": false
96
- },
97
- {
98
- "description": "empty array is invalid",
99
- "data": [],
100
- "valid": false
101
- }
102
- ]
103
- }
104
- ]
@@ -1,170 +0,0 @@
1
- [
2
- {
3
- "description": "const validation",
4
- "schema": {"const": 2},
5
- "tests": [
6
- {
7
- "description": "same value is valid",
8
- "data": 2,
9
- "valid": true
10
- },
11
- {
12
- "description": "another value is invalid",
13
- "data": 5,
14
- "valid": false
15
- },
16
- {
17
- "description": "another type is invalid",
18
- "data": "a",
19
- "valid": false
20
- }
21
- ]
22
- },
23
- {
24
- "description": "const with object",
25
- "schema": {"const": {"foo": "bar", "baz": "bax"}},
26
- "tests": [
27
- {
28
- "description": "same object is valid",
29
- "data": {"foo": "bar", "baz": "bax"},
30
- "valid": true
31
- },
32
- {
33
- "description": "same object with different property order is valid",
34
- "data": {"baz": "bax", "foo": "bar"},
35
- "valid": true
36
- },
37
- {
38
- "description": "another object is invalid",
39
- "data": {"foo": "bar"},
40
- "valid": false
41
- },
42
- {
43
- "description": "another type is invalid",
44
- "data": [1, 2],
45
- "valid": false
46
- }
47
- ]
48
- },
49
- {
50
- "description": "const with array",
51
- "schema": {"const": [{ "foo": "bar" }]},
52
- "tests": [
53
- {
54
- "description": "same array is valid",
55
- "data": [{"foo": "bar"}],
56
- "valid": true
57
- },
58
- {
59
- "description": "another array item is invalid",
60
- "data": [2],
61
- "valid": false
62
- },
63
- {
64
- "description": "array with additional items is invalid",
65
- "data": [1, 2, 3],
66
- "valid": false
67
- }
68
- ]
69
- },
70
- {
71
- "description": "const with null",
72
- "schema": {"const": null},
73
- "tests": [
74
- {
75
- "description": "null is valid",
76
- "data": null,
77
- "valid": true
78
- },
79
- {
80
- "description": "not null is invalid",
81
- "data": 0,
82
- "valid": false
83
- }
84
- ]
85
- },
86
- {
87
- "description": "const with false does not match 0",
88
- "schema": {"const": false},
89
- "tests": [
90
- {
91
- "description": "false is valid",
92
- "data": false,
93
- "valid": true
94
- },
95
- {
96
- "description": "integer zero is invalid",
97
- "data": 0,
98
- "valid": false
99
- },
100
- {
101
- "description": "float zero is invalid",
102
- "data": 0.0,
103
- "valid": false
104
- }
105
- ]
106
- },
107
- {
108
- "description": "const with true does not match 1",
109
- "schema": {"const": true},
110
- "tests": [
111
- {
112
- "description": "true is valid",
113
- "data": true,
114
- "valid": true
115
- },
116
- {
117
- "description": "integer one is invalid",
118
- "data": 1,
119
- "valid": false
120
- },
121
- {
122
- "description": "float one is invalid",
123
- "data": 1.0,
124
- "valid": false
125
- }
126
- ]
127
- },
128
- {
129
- "description": "const with 0 does not match false",
130
- "schema": {"const": 0},
131
- "tests": [
132
- {
133
- "description": "false is invalid",
134
- "data": false,
135
- "valid": false
136
- },
137
- {
138
- "description": "integer zero is valid",
139
- "data": 0,
140
- "valid": true
141
- },
142
- {
143
- "description": "float zero is valid",
144
- "data": 0.0,
145
- "valid": true
146
- }
147
- ]
148
- },
149
- {
150
- "description": "const with 1 does not match true",
151
- "schema": {"const": 1},
152
- "tests": [
153
- {
154
- "description": "true is invalid",
155
- "data": true,
156
- "valid": false
157
- },
158
- {
159
- "description": "integer one is valid",
160
- "data": 1,
161
- "valid": true
162
- },
163
- {
164
- "description": "float one is valid",
165
- "data": 1.0,
166
- "valid": true
167
- }
168
- ]
169
- }
170
- ]