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,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
- ]