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,100 +0,0 @@
1
- [
2
- {
3
- "description": "contains keyword validation",
4
- "schema": {
5
- "contains": {"minimum": 5}
6
- },
7
- "tests": [
8
- {
9
- "description": "array with item matching schema (5) is valid",
10
- "data": [3, 4, 5],
11
- "valid": true
12
- },
13
- {
14
- "description": "array with item matching schema (6) is valid",
15
- "data": [3, 4, 6],
16
- "valid": true
17
- },
18
- {
19
- "description": "array with two items matching schema (5, 6) is valid",
20
- "data": [3, 4, 5, 6],
21
- "valid": true
22
- },
23
- {
24
- "description": "array without items matching schema is invalid",
25
- "data": [2, 3, 4],
26
- "valid": false
27
- },
28
- {
29
- "description": "empty array is invalid",
30
- "data": [],
31
- "valid": false
32
- },
33
- {
34
- "description": "not array is valid",
35
- "data": {},
36
- "valid": true
37
- }
38
- ]
39
- },
40
- {
41
- "description": "contains keyword with const keyword",
42
- "schema": {
43
- "contains": { "const": 5 }
44
- },
45
- "tests": [
46
- {
47
- "description": "array with item 5 is valid",
48
- "data": [3, 4, 5],
49
- "valid": true
50
- },
51
- {
52
- "description": "array with two items 5 is valid",
53
- "data": [3, 4, 5, 5],
54
- "valid": true
55
- },
56
- {
57
- "description": "array without item 5 is invalid",
58
- "data": [1, 2, 3, 4],
59
- "valid": false
60
- }
61
- ]
62
- },
63
- {
64
- "description": "contains keyword with boolean schema true",
65
- "schema": {"contains": true},
66
- "tests": [
67
- {
68
- "description": "any non-empty array is valid",
69
- "data": ["foo"],
70
- "valid": true
71
- },
72
- {
73
- "description": "empty array is invalid",
74
- "data": [],
75
- "valid": false
76
- }
77
- ]
78
- },
79
- {
80
- "description": "contains keyword with boolean schema false",
81
- "schema": {"contains": false},
82
- "tests": [
83
- {
84
- "description": "any non-empty array is invalid",
85
- "data": ["foo"],
86
- "valid": false
87
- },
88
- {
89
- "description": "empty array is invalid",
90
- "data": [],
91
- "valid": false
92
- },
93
- {
94
- "description": "non-arrays are valid",
95
- "data": "contains does not apply to strings",
96
- "valid": true
97
- }
98
- ]
99
- }
100
- ]
@@ -1,49 +0,0 @@
1
- [
2
- {
3
- "description": "invalid type for default",
4
- "schema": {
5
- "properties": {
6
- "foo": {
7
- "type": "integer",
8
- "default": []
9
- }
10
- }
11
- },
12
- "tests": [
13
- {
14
- "description": "valid when property is specified",
15
- "data": {"foo": 13},
16
- "valid": true
17
- },
18
- {
19
- "description": "still valid when the invalid default is used",
20
- "data": {},
21
- "valid": true
22
- }
23
- ]
24
- },
25
- {
26
- "description": "invalid string value for default",
27
- "schema": {
28
- "properties": {
29
- "bar": {
30
- "type": "string",
31
- "minLength": 4,
32
- "default": "bad"
33
- }
34
- }
35
- },
36
- "tests": [
37
- {
38
- "description": "valid when property is specified",
39
- "data": {"bar": "good"},
40
- "valid": true
41
- },
42
- {
43
- "description": "still valid when the invalid default is used",
44
- "data": {},
45
- "valid": true
46
- }
47
- ]
48
- }
49
- ]
@@ -1,32 +0,0 @@
1
- [
2
- {
3
- "description": "valid definition",
4
- "schema": {"$ref": "http://json-schema.org/draft-07/schema#"},
5
- "tests": [
6
- {
7
- "description": "valid definition schema",
8
- "data": {
9
- "definitions": {
10
- "foo": {"type": "integer"}
11
- }
12
- },
13
- "valid": true
14
- }
15
- ]
16
- },
17
- {
18
- "description": "invalid definition",
19
- "schema": {"$ref": "http://json-schema.org/draft-07/schema#"},
20
- "tests": [
21
- {
22
- "description": "invalid definition schema",
23
- "data": {
24
- "definitions": {
25
- "foo": {"type": 1}
26
- }
27
- },
28
- "valid": false
29
- }
30
- ]
31
- }
32
- ]
@@ -1,268 +0,0 @@
1
- [
2
- {
3
- "description": "dependencies",
4
- "schema": {
5
- "dependencies": {"bar": ["foo"]}
6
- },
7
- "tests": [
8
- {
9
- "description": "neither",
10
- "data": {},
11
- "valid": true
12
- },
13
- {
14
- "description": "nondependant",
15
- "data": {"foo": 1},
16
- "valid": true
17
- },
18
- {
19
- "description": "with dependency",
20
- "data": {"foo": 1, "bar": 2},
21
- "valid": true
22
- },
23
- {
24
- "description": "missing dependency",
25
- "data": {"bar": 2},
26
- "valid": false
27
- },
28
- {
29
- "description": "ignores arrays",
30
- "data": ["bar"],
31
- "valid": true
32
- },
33
- {
34
- "description": "ignores strings",
35
- "data": "foobar",
36
- "valid": true
37
- },
38
- {
39
- "description": "ignores other non-objects",
40
- "data": 12,
41
- "valid": true
42
- }
43
- ]
44
- },
45
- {
46
- "description": "dependencies with empty array",
47
- "schema": {
48
- "dependencies": {"bar": []}
49
- },
50
- "tests": [
51
- {
52
- "description": "empty object",
53
- "data": {},
54
- "valid": true
55
- },
56
- {
57
- "description": "object with one property",
58
- "data": {"bar": 2},
59
- "valid": true
60
- }
61
- ]
62
- },
63
- {
64
- "description": "multiple dependencies",
65
- "schema": {
66
- "dependencies": {"quux": ["foo", "bar"]}
67
- },
68
- "tests": [
69
- {
70
- "description": "neither",
71
- "data": {},
72
- "valid": true
73
- },
74
- {
75
- "description": "nondependants",
76
- "data": {"foo": 1, "bar": 2},
77
- "valid": true
78
- },
79
- {
80
- "description": "with dependencies",
81
- "data": {"foo": 1, "bar": 2, "quux": 3},
82
- "valid": true
83
- },
84
- {
85
- "description": "missing dependency",
86
- "data": {"foo": 1, "quux": 2},
87
- "valid": false
88
- },
89
- {
90
- "description": "missing other dependency",
91
- "data": {"bar": 1, "quux": 2},
92
- "valid": false
93
- },
94
- {
95
- "description": "missing both dependencies",
96
- "data": {"quux": 1},
97
- "valid": false
98
- }
99
- ]
100
- },
101
- {
102
- "description": "multiple dependencies subschema",
103
- "schema": {
104
- "dependencies": {
105
- "bar": {
106
- "properties": {
107
- "foo": {"type": "integer"},
108
- "bar": {"type": "integer"}
109
- }
110
- }
111
- }
112
- },
113
- "tests": [
114
- {
115
- "description": "valid",
116
- "data": {"foo": 1, "bar": 2},
117
- "valid": true
118
- },
119
- {
120
- "description": "no dependency",
121
- "data": {"foo": "quux"},
122
- "valid": true
123
- },
124
- {
125
- "description": "wrong type",
126
- "data": {"foo": "quux", "bar": 2},
127
- "valid": false
128
- },
129
- {
130
- "description": "wrong type other",
131
- "data": {"foo": 2, "bar": "quux"},
132
- "valid": false
133
- },
134
- {
135
- "description": "wrong type both",
136
- "data": {"foo": "quux", "bar": "quux"},
137
- "valid": false
138
- }
139
- ]
140
- },
141
- {
142
- "description": "dependencies with boolean subschemas",
143
- "schema": {
144
- "dependencies": {
145
- "foo": true,
146
- "bar": false
147
- }
148
- },
149
- "tests": [
150
- {
151
- "description": "object with property having schema true is valid",
152
- "data": {"foo": 1},
153
- "valid": true
154
- },
155
- {
156
- "description": "object with property having schema false is invalid",
157
- "data": {"bar": 2},
158
- "valid": false
159
- },
160
- {
161
- "description": "object with both properties is invalid",
162
- "data": {"foo": 1, "bar": 2},
163
- "valid": false
164
- },
165
- {
166
- "description": "empty object is valid",
167
- "data": {},
168
- "valid": true
169
- }
170
- ]
171
- },
172
- {
173
- "description": "empty array of dependencies",
174
- "schema": {
175
- "dependencies": {
176
- "foo": []
177
- }
178
- },
179
- "tests": [
180
- {
181
- "description": "object with property is valid",
182
- "data": { "foo": 1 },
183
- "valid": true
184
- },
185
- {
186
- "description": "empty object is valid",
187
- "data": {},
188
- "valid": true
189
- },
190
- {
191
- "description": "non-object is valid",
192
- "data": 1,
193
- "valid": true
194
- }
195
- ]
196
- },
197
- {
198
- "description": "dependencies with escaped characters",
199
- "schema": {
200
- "dependencies": {
201
- "foo\nbar": ["foo\rbar"],
202
- "foo\tbar": {
203
- "minProperties": 4
204
- },
205
- "foo'bar": {"required": ["foo\"bar"]},
206
- "foo\"bar": ["foo'bar"]
207
- }
208
- },
209
- "tests": [
210
- {
211
- "description": "valid object 1",
212
- "data": {
213
- "foo\nbar": 1,
214
- "foo\rbar": 2
215
- },
216
- "valid": true
217
- },
218
- {
219
- "description": "valid object 2",
220
- "data": {
221
- "foo\tbar": 1,
222
- "a": 2,
223
- "b": 3,
224
- "c": 4
225
- },
226
- "valid": true
227
- },
228
- {
229
- "description": "valid object 3",
230
- "data": {
231
- "foo'bar": 1,
232
- "foo\"bar": 2
233
- },
234
- "valid": true
235
- },
236
- {
237
- "description": "invalid object 1",
238
- "data": {
239
- "foo\nbar": 1,
240
- "foo": 2
241
- },
242
- "valid": false
243
- },
244
- {
245
- "description": "invalid object 2",
246
- "data": {
247
- "foo\tbar": 1,
248
- "a": 2
249
- },
250
- "valid": false
251
- },
252
- {
253
- "description": "invalid object 3",
254
- "data": {
255
- "foo'bar": 1
256
- },
257
- "valid": false
258
- },
259
- {
260
- "description": "invalid object 4",
261
- "data": {
262
- "foo\"bar": 2
263
- },
264
- "valid": false
265
- }
266
- ]
267
- }
268
- ]