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,206 +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 with boolean schemas, all true",
70
- "schema": {"oneOf": [true, true, true]},
71
- "tests": [
72
- {
73
- "description": "any value is invalid",
74
- "data": "foo",
75
- "valid": false
76
- }
77
- ]
78
- },
79
- {
80
- "description": "oneOf with boolean schemas, one true",
81
- "schema": {"oneOf": [true, false, false]},
82
- "tests": [
83
- {
84
- "description": "any value is valid",
85
- "data": "foo",
86
- "valid": true
87
- }
88
- ]
89
- },
90
- {
91
- "description": "oneOf with boolean schemas, more than one true",
92
- "schema": {"oneOf": [true, true, false]},
93
- "tests": [
94
- {
95
- "description": "any value is invalid",
96
- "data": "foo",
97
- "valid": false
98
- }
99
- ]
100
- },
101
- {
102
- "description": "oneOf with boolean schemas, all false",
103
- "schema": {"oneOf": [false, false, false]},
104
- "tests": [
105
- {
106
- "description": "any value is invalid",
107
- "data": "foo",
108
- "valid": false
109
- }
110
- ]
111
- },
112
- {
113
- "description": "oneOf complex types",
114
- "schema": {
115
- "oneOf": [
116
- {
117
- "properties": {
118
- "bar": {"type": "integer"}
119
- },
120
- "required": ["bar"]
121
- },
122
- {
123
- "properties": {
124
- "foo": {"type": "string"}
125
- },
126
- "required": ["foo"]
127
- }
128
- ]
129
- },
130
- "tests": [
131
- {
132
- "description": "first oneOf valid (complex)",
133
- "data": {"bar": 2},
134
- "valid": true
135
- },
136
- {
137
- "description": "second oneOf valid (complex)",
138
- "data": {"foo": "baz"},
139
- "valid": true
140
- },
141
- {
142
- "description": "both oneOf valid (complex)",
143
- "data": {"foo": "baz", "bar": 2},
144
- "valid": false
145
- },
146
- {
147
- "description": "neither oneOf valid (complex)",
148
- "data": {"foo": 2, "bar": "quux"},
149
- "valid": false
150
- }
151
- ]
152
- },
153
- {
154
- "description": "oneOf with empty schema",
155
- "schema": {
156
- "oneOf": [
157
- { "type": "number" },
158
- {}
159
- ]
160
- },
161
- "tests": [
162
- {
163
- "description": "one valid - valid",
164
- "data": "foo",
165
- "valid": true
166
- },
167
- {
168
- "description": "both valid - invalid",
169
- "data": 123,
170
- "valid": false
171
- }
172
- ]
173
- },
174
- {
175
- "description": "oneOf with required",
176
- "schema": {
177
- "type": "object",
178
- "oneOf": [
179
- { "required": ["foo", "bar"] },
180
- { "required": ["foo", "baz"] }
181
- ]
182
- },
183
- "tests": [
184
- {
185
- "description": "both invalid - invalid",
186
- "data": {"bar": 2},
187
- "valid": false
188
- },
189
- {
190
- "description": "first valid - valid",
191
- "data": {"foo": 1, "bar": 2},
192
- "valid": true
193
- },
194
- {
195
- "description": "second valid - valid",
196
- "data": {"foo": 1, "baz": 3},
197
- "valid": true
198
- },
199
- {
200
- "description": "both valid - invalid",
201
- "data": {"foo": 1, "bar": 2, "baz" : 3},
202
- "valid": false
203
- }
204
- ]
205
- }
206
- ]
@@ -1,105 +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
- "exclusiveMaximum": 972783798187987123879878123.18878137
72
- },
73
- "tests": [
74
- {
75
- "description": "comparison works for high numbers",
76
- "data": 972783798187987123879878123.188781371,
77
- "valid": false
78
- }
79
- ]
80
- },
81
- {
82
- "description": "integer comparison",
83
- "schema": {"minimum": -18446744073709551615},
84
- "tests": [
85
- {
86
- "description": "comparison works for very negative numbers",
87
- "data": -18446744073709551600,
88
- "valid": true
89
- }
90
- ]
91
- },
92
- {
93
- "description": "float comparison with high precision on negative numbers",
94
- "schema": {
95
- "exclusiveMinimum": -972783798187987123879878123.18878137
96
- },
97
- "tests": [
98
- {
99
- "description": "comparison works for very negative numbers",
100
- "data": -972783798187987123879878123.188781371,
101
- "valid": false
102
- }
103
- ]
104
- }
105
- ]
@@ -1,77 +0,0 @@
1
- [
2
- {
3
- "description": "validation of string-encoded content based on media type",
4
- "schema": {
5
- "contentMediaType": "application/json"
6
- },
7
- "tests": [
8
- {
9
- "description": "a valid JSON document",
10
- "data": "{\"foo\": \"bar\"}",
11
- "valid": true
12
- },
13
- {
14
- "description": "an invalid JSON document",
15
- "data": "{:}",
16
- "valid": false
17
- },
18
- {
19
- "description": "ignores non-strings",
20
- "data": 100,
21
- "valid": true
22
- }
23
- ]
24
- },
25
- {
26
- "description": "validation of binary string-encoding",
27
- "schema": {
28
- "contentEncoding": "base64"
29
- },
30
- "tests": [
31
- {
32
- "description": "a valid base64 string",
33
- "data": "eyJmb28iOiAiYmFyIn0K",
34
- "valid": true
35
- },
36
- {
37
- "description": "an invalid base64 string (% is not a valid character)",
38
- "data": "eyJmb28iOi%iYmFyIn0K",
39
- "valid": false
40
- },
41
- {
42
- "description": "ignores non-strings",
43
- "data": 100,
44
- "valid": true
45
- }
46
- ]
47
- },
48
- {
49
- "description": "validation of binary-encoded media type documents",
50
- "schema": {
51
- "contentMediaType": "application/json",
52
- "contentEncoding": "base64"
53
- },
54
- "tests": [
55
- {
56
- "description": "a valid base64-encoded JSON document",
57
- "data": "eyJmb28iOiAiYmFyIn0K",
58
- "valid": true
59
- },
60
- {
61
- "description": "a validly-encoded invalid JSON document",
62
- "data": "ezp9Cg==",
63
- "valid": false
64
- },
65
- {
66
- "description": "an invalid base64 string that is valid JSON",
67
- "data": "{}",
68
- "valid": false
69
- },
70
- {
71
- "description": "ignores non-strings",
72
- "data": 100,
73
- "valid": true
74
- }
75
- ]
76
- }
77
- ]
@@ -1,13 +0,0 @@
1
- [
2
- {
3
- "description": "ECMA 262 regex non-compliance",
4
- "schema": { "format": "regex" },
5
- "tests": [
6
- {
7
- "description": "ECMA 262 has no support for \\Z anchor from .NET",
8
- "data": "^\\S(|(.|\\n)*\\S)\\Z",
9
- "valid": false
10
- }
11
- ]
12
- }
13
- ]
@@ -1,53 +0,0 @@
1
- [
2
- {
3
- "description": "validation of date-time strings",
4
- "schema": {"format": "date-time"},
5
- "tests": [
6
- {
7
- "description": "a valid date-time string",
8
- "data": "1963-06-19T08:30:06.283185Z",
9
- "valid": true
10
- },
11
- {
12
- "description": "a valid date-time string without second fraction",
13
- "data": "1963-06-19T08:30:06Z",
14
- "valid": true
15
- },
16
- {
17
- "description": "a valid date-time string with plus offset",
18
- "data": "1937-01-01T12:00:27.87+00:20",
19
- "valid": true
20
- },
21
- {
22
- "description": "a valid date-time string with minus offset",
23
- "data": "1990-12-31T15:59:50.123-08:00",
24
- "valid": true
25
- },
26
- {
27
- "description": "a invalid day in date-time string",
28
- "data": "1990-02-31T15:59:60.123-08:00",
29
- "valid": false
30
- },
31
- {
32
- "description": "an invalid offset in date-time string",
33
- "data": "1990-12-31T15:59:60-24:00",
34
- "valid": false
35
- },
36
- {
37
- "description": "an invalid date-time string",
38
- "data": "06/19/1963 08:30:06 PST",
39
- "valid": false
40
- },
41
- {
42
- "description": "case-insensitive T and Z",
43
- "data": "1963-06-19t08:30:06.283185z",
44
- "valid": true
45
- },
46
- {
47
- "description": "only RFC3339 not all of ISO 8601 are valid",
48
- "data": "2013-350T01:01:01",
49
- "valid": false
50
- }
51
- ]
52
- }
53
- ]