json_schemer 0.2.8 → 0.2.11

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 (237) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +5 -5
  3. data/json_schemer.gemspec +2 -2
  4. data/lib/json_schemer/schema/base.rb +52 -32
  5. data/lib/json_schemer/version.rb +1 -1
  6. data/lib/json_schemer.rb +1 -0
  7. metadata +4 -234
  8. data/JSON-Schema-Test-Suite/.gitignore +0 -1
  9. data/JSON-Schema-Test-Suite/.travis.yml +0 -8
  10. data/JSON-Schema-Test-Suite/LICENSE +0 -19
  11. data/JSON-Schema-Test-Suite/README.md +0 -181
  12. data/JSON-Schema-Test-Suite/bin/jsonschema_suite +0 -298
  13. data/JSON-Schema-Test-Suite/index.js +0 -45
  14. data/JSON-Schema-Test-Suite/package.json +0 -28
  15. data/JSON-Schema-Test-Suite/remotes/folder/folderInteger.json +0 -3
  16. data/JSON-Schema-Test-Suite/remotes/integer.json +0 -3
  17. data/JSON-Schema-Test-Suite/remotes/name-defs.json +0 -15
  18. data/JSON-Schema-Test-Suite/remotes/name.json +0 -15
  19. data/JSON-Schema-Test-Suite/remotes/subSchemas.json +0 -8
  20. data/JSON-Schema-Test-Suite/test-schema.json +0 -59
  21. data/JSON-Schema-Test-Suite/tests/draft2019-09/additionalItems.json +0 -87
  22. data/JSON-Schema-Test-Suite/tests/draft2019-09/additionalProperties.json +0 -133
  23. data/JSON-Schema-Test-Suite/tests/draft2019-09/allOf.json +0 -218
  24. data/JSON-Schema-Test-Suite/tests/draft2019-09/anchor.json +0 -87
  25. data/JSON-Schema-Test-Suite/tests/draft2019-09/anyOf.json +0 -189
  26. data/JSON-Schema-Test-Suite/tests/draft2019-09/boolean_schema.json +0 -104
  27. data/JSON-Schema-Test-Suite/tests/draft2019-09/const.json +0 -170
  28. data/JSON-Schema-Test-Suite/tests/draft2019-09/contains.json +0 -95
  29. data/JSON-Schema-Test-Suite/tests/draft2019-09/default.json +0 -49
  30. data/JSON-Schema-Test-Suite/tests/draft2019-09/defs.json +0 -24
  31. data/JSON-Schema-Test-Suite/tests/draft2019-09/dependencies.json +0 -268
  32. data/JSON-Schema-Test-Suite/tests/draft2019-09/enum.json +0 -179
  33. data/JSON-Schema-Test-Suite/tests/draft2019-09/exclusiveMaximum.json +0 -30
  34. data/JSON-Schema-Test-Suite/tests/draft2019-09/exclusiveMinimum.json +0 -30
  35. data/JSON-Schema-Test-Suite/tests/draft2019-09/format.json +0 -614
  36. data/JSON-Schema-Test-Suite/tests/draft2019-09/if-then-else.json +0 -188
  37. data/JSON-Schema-Test-Suite/tests/draft2019-09/items.json +0 -250
  38. data/JSON-Schema-Test-Suite/tests/draft2019-09/maxItems.json +0 -28
  39. data/JSON-Schema-Test-Suite/tests/draft2019-09/maxLength.json +0 -33
  40. data/JSON-Schema-Test-Suite/tests/draft2019-09/maxProperties.json +0 -38
  41. data/JSON-Schema-Test-Suite/tests/draft2019-09/maximum.json +0 -28
  42. data/JSON-Schema-Test-Suite/tests/draft2019-09/minItems.json +0 -28
  43. data/JSON-Schema-Test-Suite/tests/draft2019-09/minLength.json +0 -33
  44. data/JSON-Schema-Test-Suite/tests/draft2019-09/minProperties.json +0 -38
  45. data/JSON-Schema-Test-Suite/tests/draft2019-09/minimum.json +0 -59
  46. data/JSON-Schema-Test-Suite/tests/draft2019-09/multipleOf.json +0 -60
  47. data/JSON-Schema-Test-Suite/tests/draft2019-09/not.json +0 -117
  48. data/JSON-Schema-Test-Suite/tests/draft2019-09/oneOf.json +0 -206
  49. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/bignum.json +0 -105
  50. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/content.json +0 -77
  51. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/ecmascript-regex.json +0 -213
  52. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/date-time.json +0 -53
  53. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/date.json +0 -23
  54. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/email.json +0 -18
  55. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/hostname.json +0 -33
  56. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/idn-email.json +0 -18
  57. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/idn-hostname.json +0 -28
  58. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/ipv4.json +0 -33
  59. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/ipv6.json +0 -28
  60. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/iri-reference.json +0 -43
  61. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/iri.json +0 -53
  62. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/json-pointer.json +0 -168
  63. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/regex.json +0 -18
  64. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/relative-json-pointer.json +0 -33
  65. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/time.json +0 -23
  66. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/uri-reference.json +0 -43
  67. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/uri-template.json +0 -28
  68. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/format/uri.json +0 -103
  69. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/zeroTerminatedFloats.json +0 -15
  70. data/JSON-Schema-Test-Suite/tests/draft2019-09/pattern.json +0 -34
  71. data/JSON-Schema-Test-Suite/tests/draft2019-09/patternProperties.json +0 -151
  72. data/JSON-Schema-Test-Suite/tests/draft2019-09/properties.json +0 -167
  73. data/JSON-Schema-Test-Suite/tests/draft2019-09/propertyNames.json +0 -78
  74. data/JSON-Schema-Test-Suite/tests/draft2019-09/ref.json +0 -359
  75. data/JSON-Schema-Test-Suite/tests/draft2019-09/refRemote.json +0 -167
  76. data/JSON-Schema-Test-Suite/tests/draft2019-09/required.json +0 -105
  77. data/JSON-Schema-Test-Suite/tests/draft2019-09/type.json +0 -464
  78. data/JSON-Schema-Test-Suite/tests/draft2019-09/uniqueItems.json +0 -173
  79. data/JSON-Schema-Test-Suite/tests/draft3/additionalItems.json +0 -82
  80. data/JSON-Schema-Test-Suite/tests/draft3/additionalProperties.json +0 -133
  81. data/JSON-Schema-Test-Suite/tests/draft3/default.json +0 -49
  82. data/JSON-Schema-Test-Suite/tests/draft3/dependencies.json +0 -118
  83. data/JSON-Schema-Test-Suite/tests/draft3/disallow.json +0 -80
  84. data/JSON-Schema-Test-Suite/tests/draft3/divisibleBy.json +0 -60
  85. data/JSON-Schema-Test-Suite/tests/draft3/enum.json +0 -71
  86. data/JSON-Schema-Test-Suite/tests/draft3/extends.json +0 -94
  87. data/JSON-Schema-Test-Suite/tests/draft3/format.json +0 -362
  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/ecmascript-regex.json +0 -18
  97. data/JSON-Schema-Test-Suite/tests/draft3/optional/format.json +0 -227
  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 -163
  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/format.json +0 -218
  116. data/JSON-Schema-Test-Suite/tests/draft4/items.json +0 -195
  117. data/JSON-Schema-Test-Suite/tests/draft4/maxItems.json +0 -28
  118. data/JSON-Schema-Test-Suite/tests/draft4/maxLength.json +0 -33
  119. data/JSON-Schema-Test-Suite/tests/draft4/maxProperties.json +0 -38
  120. data/JSON-Schema-Test-Suite/tests/draft4/maximum.json +0 -73
  121. data/JSON-Schema-Test-Suite/tests/draft4/minItems.json +0 -28
  122. data/JSON-Schema-Test-Suite/tests/draft4/minLength.json +0 -33
  123. data/JSON-Schema-Test-Suite/tests/draft4/minProperties.json +0 -38
  124. data/JSON-Schema-Test-Suite/tests/draft4/minimum.json +0 -104
  125. data/JSON-Schema-Test-Suite/tests/draft4/multipleOf.json +0 -60
  126. data/JSON-Schema-Test-Suite/tests/draft4/not.json +0 -96
  127. data/JSON-Schema-Test-Suite/tests/draft4/oneOf.json +0 -162
  128. data/JSON-Schema-Test-Suite/tests/draft4/optional/bignum.json +0 -107
  129. data/JSON-Schema-Test-Suite/tests/draft4/optional/ecmascript-regex.json +0 -213
  130. data/JSON-Schema-Test-Suite/tests/draft4/optional/format.json +0 -253
  131. data/JSON-Schema-Test-Suite/tests/draft4/optional/zeroTerminatedFloats.json +0 -15
  132. data/JSON-Schema-Test-Suite/tests/draft4/pattern.json +0 -34
  133. data/JSON-Schema-Test-Suite/tests/draft4/patternProperties.json +0 -120
  134. data/JSON-Schema-Test-Suite/tests/draft4/properties.json +0 -136
  135. data/JSON-Schema-Test-Suite/tests/draft4/ref.json +0 -411
  136. data/JSON-Schema-Test-Suite/tests/draft4/refRemote.json +0 -171
  137. data/JSON-Schema-Test-Suite/tests/draft4/required.json +0 -89
  138. data/JSON-Schema-Test-Suite/tests/draft4/type.json +0 -464
  139. data/JSON-Schema-Test-Suite/tests/draft4/uniqueItems.json +0 -173
  140. data/JSON-Schema-Test-Suite/tests/draft6/additionalItems.json +0 -87
  141. data/JSON-Schema-Test-Suite/tests/draft6/additionalProperties.json +0 -133
  142. data/JSON-Schema-Test-Suite/tests/draft6/allOf.json +0 -218
  143. data/JSON-Schema-Test-Suite/tests/draft6/anyOf.json +0 -189
  144. data/JSON-Schema-Test-Suite/tests/draft6/boolean_schema.json +0 -104
  145. data/JSON-Schema-Test-Suite/tests/draft6/const.json +0 -170
  146. data/JSON-Schema-Test-Suite/tests/draft6/contains.json +0 -100
  147. data/JSON-Schema-Test-Suite/tests/draft6/default.json +0 -49
  148. data/JSON-Schema-Test-Suite/tests/draft6/definitions.json +0 -32
  149. data/JSON-Schema-Test-Suite/tests/draft6/dependencies.json +0 -268
  150. data/JSON-Schema-Test-Suite/tests/draft6/enum.json +0 -179
  151. data/JSON-Schema-Test-Suite/tests/draft6/exclusiveMaximum.json +0 -30
  152. data/JSON-Schema-Test-Suite/tests/draft6/exclusiveMinimum.json +0 -30
  153. data/JSON-Schema-Test-Suite/tests/draft6/format.json +0 -326
  154. data/JSON-Schema-Test-Suite/tests/draft6/items.json +0 -250
  155. data/JSON-Schema-Test-Suite/tests/draft6/maxItems.json +0 -28
  156. data/JSON-Schema-Test-Suite/tests/draft6/maxLength.json +0 -33
  157. data/JSON-Schema-Test-Suite/tests/draft6/maxProperties.json +0 -38
  158. data/JSON-Schema-Test-Suite/tests/draft6/maximum.json +0 -28
  159. data/JSON-Schema-Test-Suite/tests/draft6/minItems.json +0 -28
  160. data/JSON-Schema-Test-Suite/tests/draft6/minLength.json +0 -33
  161. data/JSON-Schema-Test-Suite/tests/draft6/minProperties.json +0 -38
  162. data/JSON-Schema-Test-Suite/tests/draft6/minimum.json +0 -59
  163. data/JSON-Schema-Test-Suite/tests/draft6/multipleOf.json +0 -60
  164. data/JSON-Schema-Test-Suite/tests/draft6/not.json +0 -117
  165. data/JSON-Schema-Test-Suite/tests/draft6/oneOf.json +0 -206
  166. data/JSON-Schema-Test-Suite/tests/draft6/optional/bignum.json +0 -105
  167. data/JSON-Schema-Test-Suite/tests/draft6/optional/ecmascript-regex.json +0 -213
  168. data/JSON-Schema-Test-Suite/tests/draft6/optional/format.json +0 -491
  169. data/JSON-Schema-Test-Suite/tests/draft6/optional/zeroTerminatedFloats.json +0 -15
  170. data/JSON-Schema-Test-Suite/tests/draft6/pattern.json +0 -34
  171. data/JSON-Schema-Test-Suite/tests/draft6/patternProperties.json +0 -151
  172. data/JSON-Schema-Test-Suite/tests/draft6/properties.json +0 -167
  173. data/JSON-Schema-Test-Suite/tests/draft6/propertyNames.json +0 -78
  174. data/JSON-Schema-Test-Suite/tests/draft6/ref.json +0 -443
  175. data/JSON-Schema-Test-Suite/tests/draft6/refRemote.json +0 -171
  176. data/JSON-Schema-Test-Suite/tests/draft6/required.json +0 -105
  177. data/JSON-Schema-Test-Suite/tests/draft6/type.json +0 -464
  178. data/JSON-Schema-Test-Suite/tests/draft6/uniqueItems.json +0 -173
  179. data/JSON-Schema-Test-Suite/tests/draft7/additionalItems.json +0 -87
  180. data/JSON-Schema-Test-Suite/tests/draft7/additionalProperties.json +0 -133
  181. data/JSON-Schema-Test-Suite/tests/draft7/allOf.json +0 -218
  182. data/JSON-Schema-Test-Suite/tests/draft7/anyOf.json +0 -189
  183. data/JSON-Schema-Test-Suite/tests/draft7/boolean_schema.json +0 -104
  184. data/JSON-Schema-Test-Suite/tests/draft7/const.json +0 -170
  185. data/JSON-Schema-Test-Suite/tests/draft7/contains.json +0 -100
  186. data/JSON-Schema-Test-Suite/tests/draft7/default.json +0 -49
  187. data/JSON-Schema-Test-Suite/tests/draft7/definitions.json +0 -32
  188. data/JSON-Schema-Test-Suite/tests/draft7/dependencies.json +0 -268
  189. data/JSON-Schema-Test-Suite/tests/draft7/enum.json +0 -179
  190. data/JSON-Schema-Test-Suite/tests/draft7/exclusiveMaximum.json +0 -30
  191. data/JSON-Schema-Test-Suite/tests/draft7/exclusiveMinimum.json +0 -30
  192. data/JSON-Schema-Test-Suite/tests/draft7/format.json +0 -614
  193. data/JSON-Schema-Test-Suite/tests/draft7/if-then-else.json +0 -188
  194. data/JSON-Schema-Test-Suite/tests/draft7/items.json +0 -250
  195. data/JSON-Schema-Test-Suite/tests/draft7/maxItems.json +0 -28
  196. data/JSON-Schema-Test-Suite/tests/draft7/maxLength.json +0 -33
  197. data/JSON-Schema-Test-Suite/tests/draft7/maxProperties.json +0 -38
  198. data/JSON-Schema-Test-Suite/tests/draft7/maximum.json +0 -28
  199. data/JSON-Schema-Test-Suite/tests/draft7/minItems.json +0 -28
  200. data/JSON-Schema-Test-Suite/tests/draft7/minLength.json +0 -33
  201. data/JSON-Schema-Test-Suite/tests/draft7/minProperties.json +0 -38
  202. data/JSON-Schema-Test-Suite/tests/draft7/minimum.json +0 -59
  203. data/JSON-Schema-Test-Suite/tests/draft7/multipleOf.json +0 -60
  204. data/JSON-Schema-Test-Suite/tests/draft7/not.json +0 -117
  205. data/JSON-Schema-Test-Suite/tests/draft7/oneOf.json +0 -206
  206. data/JSON-Schema-Test-Suite/tests/draft7/optional/bignum.json +0 -105
  207. data/JSON-Schema-Test-Suite/tests/draft7/optional/content.json +0 -77
  208. data/JSON-Schema-Test-Suite/tests/draft7/optional/ecmascript-regex.json +0 -213
  209. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/date-time.json +0 -53
  210. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/date.json +0 -23
  211. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/email.json +0 -18
  212. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/hostname.json +0 -33
  213. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/idn-email.json +0 -18
  214. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/idn-hostname.json +0 -28
  215. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/ipv4.json +0 -33
  216. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/ipv6.json +0 -28
  217. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/iri-reference.json +0 -43
  218. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/iri.json +0 -53
  219. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/json-pointer.json +0 -168
  220. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/regex.json +0 -18
  221. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/relative-json-pointer.json +0 -33
  222. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/time.json +0 -23
  223. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/uri-reference.json +0 -43
  224. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/uri-template.json +0 -28
  225. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/uri.json +0 -103
  226. data/JSON-Schema-Test-Suite/tests/draft7/optional/zeroTerminatedFloats.json +0 -15
  227. data/JSON-Schema-Test-Suite/tests/draft7/pattern.json +0 -34
  228. data/JSON-Schema-Test-Suite/tests/draft7/patternProperties.json +0 -151
  229. data/JSON-Schema-Test-Suite/tests/draft7/properties.json +0 -167
  230. data/JSON-Schema-Test-Suite/tests/draft7/propertyNames.json +0 -78
  231. data/JSON-Schema-Test-Suite/tests/draft7/ref.json +0 -443
  232. data/JSON-Schema-Test-Suite/tests/draft7/refRemote.json +0 -171
  233. data/JSON-Schema-Test-Suite/tests/draft7/required.json +0 -105
  234. data/JSON-Schema-Test-Suite/tests/draft7/type.json +0 -464
  235. data/JSON-Schema-Test-Suite/tests/draft7/uniqueItems.json +0 -173
  236. data/JSON-Schema-Test-Suite/tests/latest +0 -1
  237. data/JSON-Schema-Test-Suite/tox.ini +0 -9
@@ -1,96 +0,0 @@
1
- [
2
- {
3
- "description": "not",
4
- "schema": {
5
- "not": {"type": "integer"}
6
- },
7
- "tests": [
8
- {
9
- "description": "allowed",
10
- "data": "foo",
11
- "valid": true
12
- },
13
- {
14
- "description": "disallowed",
15
- "data": 1,
16
- "valid": false
17
- }
18
- ]
19
- },
20
- {
21
- "description": "not multiple types",
22
- "schema": {
23
- "not": {"type": ["integer", "boolean"]}
24
- },
25
- "tests": [
26
- {
27
- "description": "valid",
28
- "data": "foo",
29
- "valid": true
30
- },
31
- {
32
- "description": "mismatch",
33
- "data": 1,
34
- "valid": false
35
- },
36
- {
37
- "description": "other mismatch",
38
- "data": true,
39
- "valid": false
40
- }
41
- ]
42
- },
43
- {
44
- "description": "not more complex schema",
45
- "schema": {
46
- "not": {
47
- "type": "object",
48
- "properties": {
49
- "foo": {
50
- "type": "string"
51
- }
52
- }
53
- }
54
- },
55
- "tests": [
56
- {
57
- "description": "match",
58
- "data": 1,
59
- "valid": true
60
- },
61
- {
62
- "description": "other match",
63
- "data": {"foo": 1},
64
- "valid": true
65
- },
66
- {
67
- "description": "mismatch",
68
- "data": {"foo": "bar"},
69
- "valid": false
70
- }
71
- ]
72
- },
73
- {
74
- "description": "forbidden property",
75
- "schema": {
76
- "properties": {
77
- "foo": {
78
- "not": {}
79
- }
80
- }
81
- },
82
- "tests": [
83
- {
84
- "description": "property present",
85
- "data": {"foo": 1, "bar": 2},
86
- "valid": false
87
- },
88
- {
89
- "description": "property absent",
90
- "data": {"bar": 1, "baz": 2},
91
- "valid": true
92
- }
93
- ]
94
- }
95
-
96
- ]
@@ -1,162 +0,0 @@
1
- [
2
- {
3
- "description": "oneOf",
4
- "schema": {
5
- "oneOf": [
6
- {
7
- "type": "integer"
8
- },
9
- {
10
- "minimum": 2
11
- }
12
- ]
13
- },
14
- "tests": [
15
- {
16
- "description": "first oneOf valid",
17
- "data": 1,
18
- "valid": true
19
- },
20
- {
21
- "description": "second oneOf valid",
22
- "data": 2.5,
23
- "valid": true
24
- },
25
- {
26
- "description": "both oneOf valid",
27
- "data": 3,
28
- "valid": false
29
- },
30
- {
31
- "description": "neither oneOf valid",
32
- "data": 1.5,
33
- "valid": false
34
- }
35
- ]
36
- },
37
- {
38
- "description": "oneOf with base schema",
39
- "schema": {
40
- "type": "string",
41
- "oneOf" : [
42
- {
43
- "minLength": 2
44
- },
45
- {
46
- "maxLength": 4
47
- }
48
- ]
49
- },
50
- "tests": [
51
- {
52
- "description": "mismatch base schema",
53
- "data": 3,
54
- "valid": false
55
- },
56
- {
57
- "description": "one oneOf valid",
58
- "data": "foobar",
59
- "valid": true
60
- },
61
- {
62
- "description": "both oneOf valid",
63
- "data": "foo",
64
- "valid": false
65
- }
66
- ]
67
- },
68
- {
69
- "description": "oneOf complex types",
70
- "schema": {
71
- "oneOf": [
72
- {
73
- "properties": {
74
- "bar": {"type": "integer"}
75
- },
76
- "required": ["bar"]
77
- },
78
- {
79
- "properties": {
80
- "foo": {"type": "string"}
81
- },
82
- "required": ["foo"]
83
- }
84
- ]
85
- },
86
- "tests": [
87
- {
88
- "description": "first oneOf valid (complex)",
89
- "data": {"bar": 2},
90
- "valid": true
91
- },
92
- {
93
- "description": "second oneOf valid (complex)",
94
- "data": {"foo": "baz"},
95
- "valid": true
96
- },
97
- {
98
- "description": "both oneOf valid (complex)",
99
- "data": {"foo": "baz", "bar": 2},
100
- "valid": false
101
- },
102
- {
103
- "description": "neither oneOf valid (complex)",
104
- "data": {"foo": 2, "bar": "quux"},
105
- "valid": false
106
- }
107
- ]
108
- },
109
- {
110
- "description": "oneOf with empty schema",
111
- "schema": {
112
- "oneOf": [
113
- { "type": "number" },
114
- {}
115
- ]
116
- },
117
- "tests": [
118
- {
119
- "description": "one valid - valid",
120
- "data": "foo",
121
- "valid": true
122
- },
123
- {
124
- "description": "both valid - invalid",
125
- "data": 123,
126
- "valid": false
127
- }
128
- ]
129
- },
130
- {
131
- "description": "oneOf with required",
132
- "schema": {
133
- "type": "object",
134
- "oneOf": [
135
- { "required": ["foo", "bar"] },
136
- { "required": ["foo", "baz"] }
137
- ]
138
- },
139
- "tests": [
140
- {
141
- "description": "both invalid - invalid",
142
- "data": {"bar": 2},
143
- "valid": false
144
- },
145
- {
146
- "description": "first valid - valid",
147
- "data": {"foo": 1, "bar": 2},
148
- "valid": true
149
- },
150
- {
151
- "description": "second valid - valid",
152
- "data": {"foo": 1, "baz": 3},
153
- "valid": true
154
- },
155
- {
156
- "description": "both valid - invalid",
157
- "data": {"foo": 1, "bar": 2, "baz" : 3},
158
- "valid": false
159
- }
160
- ]
161
- }
162
- ]
@@ -1,107 +0,0 @@
1
- [
2
- {
3
- "description": "integer",
4
- "schema": {"type": "integer"},
5
- "tests": [
6
- {
7
- "description": "a bignum is an integer",
8
- "data": 12345678910111213141516171819202122232425262728293031,
9
- "valid": true
10
- }
11
- ]
12
- },
13
- {
14
- "description": "number",
15
- "schema": {"type": "number"},
16
- "tests": [
17
- {
18
- "description": "a bignum is a number",
19
- "data": 98249283749234923498293171823948729348710298301928331,
20
- "valid": true
21
- }
22
- ]
23
- },
24
- {
25
- "description": "integer",
26
- "schema": {"type": "integer"},
27
- "tests": [
28
- {
29
- "description": "a negative bignum is an integer",
30
- "data": -12345678910111213141516171819202122232425262728293031,
31
- "valid": true
32
- }
33
- ]
34
- },
35
- {
36
- "description": "number",
37
- "schema": {"type": "number"},
38
- "tests": [
39
- {
40
- "description": "a negative bignum is a number",
41
- "data": -98249283749234923498293171823948729348710298301928331,
42
- "valid": true
43
- }
44
- ]
45
- },
46
- {
47
- "description": "string",
48
- "schema": {"type": "string"},
49
- "tests": [
50
- {
51
- "description": "a bignum is not a string",
52
- "data": 98249283749234923498293171823948729348710298301928331,
53
- "valid": false
54
- }
55
- ]
56
- },
57
- {
58
- "description": "integer comparison",
59
- "schema": {"maximum": 18446744073709551615},
60
- "tests": [
61
- {
62
- "description": "comparison works for high numbers",
63
- "data": 18446744073709551600,
64
- "valid": true
65
- }
66
- ]
67
- },
68
- {
69
- "description": "float comparison with high precision",
70
- "schema": {
71
- "maximum": 972783798187987123879878123.18878137,
72
- "exclusiveMaximum": true
73
- },
74
- "tests": [
75
- {
76
- "description": "comparison works for high numbers",
77
- "data": 972783798187987123879878123.188781371,
78
- "valid": false
79
- }
80
- ]
81
- },
82
- {
83
- "description": "integer comparison",
84
- "schema": {"minimum": -18446744073709551615},
85
- "tests": [
86
- {
87
- "description": "comparison works for very negative numbers",
88
- "data": -18446744073709551600,
89
- "valid": true
90
- }
91
- ]
92
- },
93
- {
94
- "description": "float comparison with high precision on negative numbers",
95
- "schema": {
96
- "minimum": -972783798187987123879878123.18878137,
97
- "exclusiveMinimum": true
98
- },
99
- "tests": [
100
- {
101
- "description": "comparison works for very negative numbers",
102
- "data": -972783798187987123879878123.188781371,
103
- "valid": false
104
- }
105
- ]
106
- }
107
- ]
@@ -1,213 +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
- {
14
- "description": "ECMA 262 regex $ does not match trailing newline",
15
- "schema": {
16
- "type": "string",
17
- "pattern": "^abc$"
18
- },
19
- "tests": [
20
- {
21
- "description": "matches in Python, but should not in jsonschema",
22
- "data": "abc\n",
23
- "valid": false
24
- },
25
- {
26
- "description": "should match",
27
- "data": "abc",
28
- "valid": true
29
- }
30
- ]
31
- },
32
- {
33
- "description": "ECMA 262 regex converts \\a to ascii BEL",
34
- "schema": {
35
- "type": "string",
36
- "pattern": "^\\a$"
37
- },
38
- "tests": [
39
- {
40
- "description": "does not match",
41
- "data": "\\a",
42
- "valid": false
43
- },
44
- {
45
- "description": "matches",
46
- "data": "\u0007",
47
- "valid": true
48
- }
49
- ]
50
- },
51
- {
52
- "description": "ECMA 262 regex escapes control codes with \\c and upper letter",
53
- "schema": {
54
- "type": "string",
55
- "pattern": "^\\cC$"
56
- },
57
- "tests": [
58
- {
59
- "description": "does not match",
60
- "data": "\\cC",
61
- "valid": false
62
- },
63
- {
64
- "description": "matches",
65
- "data": "\u0003",
66
- "valid": true
67
- }
68
- ]
69
- },
70
- {
71
- "description": "ECMA 262 regex escapes control codes with \\c and lower letter",
72
- "schema": {
73
- "type": "string",
74
- "pattern": "^\\cc$"
75
- },
76
- "tests": [
77
- {
78
- "description": "does not match",
79
- "data": "\\cc",
80
- "valid": false
81
- },
82
- {
83
- "description": "matches",
84
- "data": "\u0003",
85
- "valid": true
86
- }
87
- ]
88
- },
89
- {
90
- "description": "ECMA 262 \\d matches ascii digits only",
91
- "schema": {
92
- "type": "string",
93
- "pattern": "^\\d$"
94
- },
95
- "tests": [
96
- {
97
- "description": "ASCII zero matches",
98
- "data": "0",
99
- "valid": true
100
- },
101
- {
102
- "description": "NKO DIGIT ZERO does not match (unlike e.g. Python)",
103
- "data": "߀",
104
- "valid": false
105
- },
106
- {
107
- "description": "NKO DIGIT ZERO (as \\u escape) does not match",
108
- "data": "\u07c0",
109
- "valid": false
110
- }
111
- ]
112
- },
113
- {
114
- "description": "ECMA 262 \\D matches everything but ascii digits",
115
- "schema": {
116
- "type": "string",
117
- "pattern": "^\\D$"
118
- },
119
- "tests": [
120
- {
121
- "description": "ASCII zero does not match",
122
- "data": "0",
123
- "valid": false
124
- },
125
- {
126
- "description": "NKO DIGIT ZERO matches (unlike e.g. Python)",
127
- "data": "߀",
128
- "valid": true
129
- },
130
- {
131
- "description": "NKO DIGIT ZERO (as \\u escape) matches",
132
- "data": "\u07c0",
133
- "valid": true
134
- }
135
- ]
136
- },
137
- {
138
- "description": "ECMA 262 \\w matches ascii letters only",
139
- "schema": {
140
- "type": "string",
141
- "pattern": "^\\w$"
142
- },
143
- "tests": [
144
- {
145
- "description": "ASCII 'a' matches",
146
- "data": "a",
147
- "valid": true
148
- },
149
- {
150
- "description": "latin-1 e-acute does not match (unlike e.g. Python)",
151
- "data": "é",
152
- "valid": false
153
- }
154
- ]
155
- },
156
- {
157
- "description": "ECMA 262 \\w matches everything but ascii letters",
158
- "schema": {
159
- "type": "string",
160
- "pattern": "^\\W$"
161
- },
162
- "tests": [
163
- {
164
- "description": "ASCII 'a' does not match",
165
- "data": "a",
166
- "valid": false
167
- },
168
- {
169
- "description": "latin-1 e-acute matches (unlike e.g. Python)",
170
- "data": "é",
171
- "valid": true
172
- }
173
- ]
174
- },
175
- {
176
- "description": "ECMA 262 \\s matches ascii whitespace only",
177
- "schema": {
178
- "type": "string",
179
- "pattern": "^\\s$"
180
- },
181
- "tests": [
182
- {
183
- "description": "ASCII space matches",
184
- "data": " ",
185
- "valid": true
186
- },
187
- {
188
- "description": "latin-1 non-breaking-space does not match (unlike e.g. Python)",
189
- "data": "\u00a0",
190
- "valid": false
191
- }
192
- ]
193
- },
194
- {
195
- "description": "ECMA 262 \\S matches everything but ascii whitespace",
196
- "schema": {
197
- "type": "string",
198
- "pattern": "^\\S$"
199
- },
200
- "tests": [
201
- {
202
- "description": "ASCII space does not match",
203
- "data": " ",
204
- "valid": false
205
- },
206
- {
207
- "description": "latin-1 non-breaking-space matches (unlike e.g. Python)",
208
- "data": "\u00a0",
209
- "valid": true
210
- }
211
- ]
212
- }
213
- ]