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,464 +0,0 @@
1
- [
2
- {
3
- "description": "integer type matches integers",
4
- "schema": {"type": "integer"},
5
- "tests": [
6
- {
7
- "description": "an integer is an integer",
8
- "data": 1,
9
- "valid": true
10
- },
11
- {
12
- "description": "a float is not an integer",
13
- "data": 1.1,
14
- "valid": false
15
- },
16
- {
17
- "description": "a string is not an integer",
18
- "data": "foo",
19
- "valid": false
20
- },
21
- {
22
- "description": "a string is still not an integer, even if it looks like one",
23
- "data": "1",
24
- "valid": false
25
- },
26
- {
27
- "description": "an object is not an integer",
28
- "data": {},
29
- "valid": false
30
- },
31
- {
32
- "description": "an array is not an integer",
33
- "data": [],
34
- "valid": false
35
- },
36
- {
37
- "description": "a boolean is not an integer",
38
- "data": true,
39
- "valid": false
40
- },
41
- {
42
- "description": "null is not an integer",
43
- "data": null,
44
- "valid": false
45
- }
46
- ]
47
- },
48
- {
49
- "description": "number type matches numbers",
50
- "schema": {"type": "number"},
51
- "tests": [
52
- {
53
- "description": "an integer is a number",
54
- "data": 1,
55
- "valid": true
56
- },
57
- {
58
- "description": "a float is a number",
59
- "data": 1.1,
60
- "valid": true
61
- },
62
- {
63
- "description": "a string is not a number",
64
- "data": "foo",
65
- "valid": false
66
- },
67
- {
68
- "description": "a string is still not a number, even if it looks like one",
69
- "data": "1",
70
- "valid": false
71
- },
72
- {
73
- "description": "an object is not a number",
74
- "data": {},
75
- "valid": false
76
- },
77
- {
78
- "description": "an array is not a number",
79
- "data": [],
80
- "valid": false
81
- },
82
- {
83
- "description": "a boolean is not a number",
84
- "data": true,
85
- "valid": false
86
- },
87
- {
88
- "description": "null is not a number",
89
- "data": null,
90
- "valid": false
91
- }
92
- ]
93
- },
94
- {
95
- "description": "string type matches strings",
96
- "schema": {"type": "string"},
97
- "tests": [
98
- {
99
- "description": "1 is not a string",
100
- "data": 1,
101
- "valid": false
102
- },
103
- {
104
- "description": "a float is not a string",
105
- "data": 1.1,
106
- "valid": false
107
- },
108
- {
109
- "description": "a string is a string",
110
- "data": "foo",
111
- "valid": true
112
- },
113
- {
114
- "description": "a string is still a string, even if it looks like a number",
115
- "data": "1",
116
- "valid": true
117
- },
118
- {
119
- "description": "an empty string is still a string",
120
- "data": "",
121
- "valid": true
122
- },
123
- {
124
- "description": "an object is not a string",
125
- "data": {},
126
- "valid": false
127
- },
128
- {
129
- "description": "an array is not a string",
130
- "data": [],
131
- "valid": false
132
- },
133
- {
134
- "description": "a boolean is not a string",
135
- "data": true,
136
- "valid": false
137
- },
138
- {
139
- "description": "null is not a string",
140
- "data": null,
141
- "valid": false
142
- }
143
- ]
144
- },
145
- {
146
- "description": "object type matches objects",
147
- "schema": {"type": "object"},
148
- "tests": [
149
- {
150
- "description": "an integer is not an object",
151
- "data": 1,
152
- "valid": false
153
- },
154
- {
155
- "description": "a float is not an object",
156
- "data": 1.1,
157
- "valid": false
158
- },
159
- {
160
- "description": "a string is not an object",
161
- "data": "foo",
162
- "valid": false
163
- },
164
- {
165
- "description": "an object is an object",
166
- "data": {},
167
- "valid": true
168
- },
169
- {
170
- "description": "an array is not an object",
171
- "data": [],
172
- "valid": false
173
- },
174
- {
175
- "description": "a boolean is not an object",
176
- "data": true,
177
- "valid": false
178
- },
179
- {
180
- "description": "null is not an object",
181
- "data": null,
182
- "valid": false
183
- }
184
- ]
185
- },
186
- {
187
- "description": "array type matches arrays",
188
- "schema": {"type": "array"},
189
- "tests": [
190
- {
191
- "description": "an integer is not an array",
192
- "data": 1,
193
- "valid": false
194
- },
195
- {
196
- "description": "a float is not an array",
197
- "data": 1.1,
198
- "valid": false
199
- },
200
- {
201
- "description": "a string is not an array",
202
- "data": "foo",
203
- "valid": false
204
- },
205
- {
206
- "description": "an object is not an array",
207
- "data": {},
208
- "valid": false
209
- },
210
- {
211
- "description": "an array is an array",
212
- "data": [],
213
- "valid": true
214
- },
215
- {
216
- "description": "a boolean is not an array",
217
- "data": true,
218
- "valid": false
219
- },
220
- {
221
- "description": "null is not an array",
222
- "data": null,
223
- "valid": false
224
- }
225
- ]
226
- },
227
- {
228
- "description": "boolean type matches booleans",
229
- "schema": {"type": "boolean"},
230
- "tests": [
231
- {
232
- "description": "an integer is not a boolean",
233
- "data": 1,
234
- "valid": false
235
- },
236
- {
237
- "description": "zero is not a boolean",
238
- "data": 0,
239
- "valid": false
240
- },
241
- {
242
- "description": "a float is not a boolean",
243
- "data": 1.1,
244
- "valid": false
245
- },
246
- {
247
- "description": "a string is not a boolean",
248
- "data": "foo",
249
- "valid": false
250
- },
251
- {
252
- "description": "an empty string is not a boolean",
253
- "data": "",
254
- "valid": false
255
- },
256
- {
257
- "description": "an object is not a boolean",
258
- "data": {},
259
- "valid": false
260
- },
261
- {
262
- "description": "an array is not a boolean",
263
- "data": [],
264
- "valid": false
265
- },
266
- {
267
- "description": "true is a boolean",
268
- "data": true,
269
- "valid": true
270
- },
271
- {
272
- "description": "false is a boolean",
273
- "data": false,
274
- "valid": true
275
- },
276
- {
277
- "description": "null is not a boolean",
278
- "data": null,
279
- "valid": false
280
- }
281
- ]
282
- },
283
- {
284
- "description": "null type matches only the null object",
285
- "schema": {"type": "null"},
286
- "tests": [
287
- {
288
- "description": "an integer is not null",
289
- "data": 1,
290
- "valid": false
291
- },
292
- {
293
- "description": "a float is not null",
294
- "data": 1.1,
295
- "valid": false
296
- },
297
- {
298
- "description": "zero is not null",
299
- "data": 0,
300
- "valid": false
301
- },
302
- {
303
- "description": "a string is not null",
304
- "data": "foo",
305
- "valid": false
306
- },
307
- {
308
- "description": "an empty string is not null",
309
- "data": "",
310
- "valid": false
311
- },
312
- {
313
- "description": "an object is not null",
314
- "data": {},
315
- "valid": false
316
- },
317
- {
318
- "description": "an array is not null",
319
- "data": [],
320
- "valid": false
321
- },
322
- {
323
- "description": "true is not null",
324
- "data": true,
325
- "valid": false
326
- },
327
- {
328
- "description": "false is not null",
329
- "data": false,
330
- "valid": false
331
- },
332
- {
333
- "description": "null is null",
334
- "data": null,
335
- "valid": true
336
- }
337
- ]
338
- },
339
- {
340
- "description": "multiple types can be specified in an array",
341
- "schema": {"type": ["integer", "string"]},
342
- "tests": [
343
- {
344
- "description": "an integer is valid",
345
- "data": 1,
346
- "valid": true
347
- },
348
- {
349
- "description": "a string is valid",
350
- "data": "foo",
351
- "valid": true
352
- },
353
- {
354
- "description": "a float is invalid",
355
- "data": 1.1,
356
- "valid": false
357
- },
358
- {
359
- "description": "an object is invalid",
360
- "data": {},
361
- "valid": false
362
- },
363
- {
364
- "description": "an array is invalid",
365
- "data": [],
366
- "valid": false
367
- },
368
- {
369
- "description": "a boolean is invalid",
370
- "data": true,
371
- "valid": false
372
- },
373
- {
374
- "description": "null is invalid",
375
- "data": null,
376
- "valid": false
377
- }
378
- ]
379
- },
380
- {
381
- "description": "type as array with one item",
382
- "schema": {
383
- "type": ["string"]
384
- },
385
- "tests": [
386
- {
387
- "description": "string is valid",
388
- "data": "foo",
389
- "valid": true
390
- },
391
- {
392
- "description": "number is invalid",
393
- "data": 123,
394
- "valid": false
395
- }
396
- ]
397
- },
398
- {
399
- "description": "type: array or object",
400
- "schema": {
401
- "type": ["array", "object"]
402
- },
403
- "tests": [
404
- {
405
- "description": "array is valid",
406
- "data": [1,2,3],
407
- "valid": true
408
- },
409
- {
410
- "description": "object is valid",
411
- "data": {"foo": 123},
412
- "valid": true
413
- },
414
- {
415
- "description": "number is invalid",
416
- "data": 123,
417
- "valid": false
418
- },
419
- {
420
- "description": "string is invalid",
421
- "data": "foo",
422
- "valid": false
423
- },
424
- {
425
- "description": "null is invalid",
426
- "data": null,
427
- "valid": false
428
- }
429
- ]
430
- },
431
- {
432
- "description": "type: array, object or null",
433
- "schema": {
434
- "type": ["array", "object", "null"]
435
- },
436
- "tests": [
437
- {
438
- "description": "array is valid",
439
- "data": [1,2,3],
440
- "valid": true
441
- },
442
- {
443
- "description": "object is valid",
444
- "data": {"foo": 123},
445
- "valid": true
446
- },
447
- {
448
- "description": "null is valid",
449
- "data": null,
450
- "valid": true
451
- },
452
- {
453
- "description": "number is invalid",
454
- "data": 123,
455
- "valid": false
456
- },
457
- {
458
- "description": "string is invalid",
459
- "data": "foo",
460
- "valid": false
461
- }
462
- ]
463
- }
464
- ]
@@ -1,173 +0,0 @@
1
- [
2
- {
3
- "description": "uniqueItems validation",
4
- "schema": {"uniqueItems": true},
5
- "tests": [
6
- {
7
- "description": "unique array of integers is valid",
8
- "data": [1, 2],
9
- "valid": true
10
- },
11
- {
12
- "description": "non-unique array of integers is invalid",
13
- "data": [1, 1],
14
- "valid": false
15
- },
16
- {
17
- "description": "numbers are unique if mathematically unequal",
18
- "data": [1.0, 1.00, 1],
19
- "valid": false
20
- },
21
- {
22
- "description": "false is not equal to zero",
23
- "data": [0, false],
24
- "valid": true
25
- },
26
- {
27
- "description": "true is not equal to one",
28
- "data": [1, true],
29
- "valid": true
30
- },
31
- {
32
- "description": "unique array of objects is valid",
33
- "data": [{"foo": "bar"}, {"foo": "baz"}],
34
- "valid": true
35
- },
36
- {
37
- "description": "non-unique array of objects is invalid",
38
- "data": [{"foo": "bar"}, {"foo": "bar"}],
39
- "valid": false
40
- },
41
- {
42
- "description": "unique array of nested objects is valid",
43
- "data": [
44
- {"foo": {"bar" : {"baz" : true}}},
45
- {"foo": {"bar" : {"baz" : false}}}
46
- ],
47
- "valid": true
48
- },
49
- {
50
- "description": "non-unique array of nested objects is invalid",
51
- "data": [
52
- {"foo": {"bar" : {"baz" : true}}},
53
- {"foo": {"bar" : {"baz" : true}}}
54
- ],
55
- "valid": false
56
- },
57
- {
58
- "description": "unique array of arrays is valid",
59
- "data": [["foo"], ["bar"]],
60
- "valid": true
61
- },
62
- {
63
- "description": "non-unique array of arrays is invalid",
64
- "data": [["foo"], ["foo"]],
65
- "valid": false
66
- },
67
- {
68
- "description": "1 and true are unique",
69
- "data": [1, true],
70
- "valid": true
71
- },
72
- {
73
- "description": "0 and false are unique",
74
- "data": [0, false],
75
- "valid": true
76
- },
77
- {
78
- "description": "unique heterogeneous types are valid",
79
- "data": [{}, [1], true, null, 1],
80
- "valid": true
81
- },
82
- {
83
- "description": "non-unique heterogeneous types are invalid",
84
- "data": [{}, [1], true, null, {}, 1],
85
- "valid": false
86
- }
87
- ]
88
- },
89
- {
90
- "description": "uniqueItems with an array of items",
91
- "schema": {
92
- "items": [{"type": "boolean"}, {"type": "boolean"}],
93
- "uniqueItems": true
94
- },
95
- "tests": [
96
- {
97
- "description": "[false, true] from items array is valid",
98
- "data": [false, true],
99
- "valid": true
100
- },
101
- {
102
- "description": "[true, false] from items array is valid",
103
- "data": [true, false],
104
- "valid": true
105
- },
106
- {
107
- "description": "[false, false] from items array is not valid",
108
- "data": [false, false],
109
- "valid": false
110
- },
111
- {
112
- "description": "[true, true] from items array is not valid",
113
- "data": [true, true],
114
- "valid": false
115
- },
116
- {
117
- "description": "unique array extended from [false, true] is valid",
118
- "data": [false, true, "foo", "bar"],
119
- "valid": true
120
- },
121
- {
122
- "description": "unique array extended from [true, false] is valid",
123
- "data": [true, false, "foo", "bar"],
124
- "valid": true
125
- },
126
- {
127
- "description": "non-unique array extended from [false, true] is not valid",
128
- "data": [false, true, "foo", "foo"],
129
- "valid": false
130
- },
131
- {
132
- "description": "non-unique array extended from [true, false] is not valid",
133
- "data": [true, false, "foo", "foo"],
134
- "valid": false
135
- }
136
- ]
137
- },
138
- {
139
- "description": "uniqueItems with an array of items and additionalItems=false",
140
- "schema": {
141
- "items": [{"type": "boolean"}, {"type": "boolean"}],
142
- "uniqueItems": true,
143
- "additionalItems": false
144
- },
145
- "tests": [
146
- {
147
- "description": "[false, true] from items array is valid",
148
- "data": [false, true],
149
- "valid": true
150
- },
151
- {
152
- "description": "[true, false] from items array is valid",
153
- "data": [true, false],
154
- "valid": true
155
- },
156
- {
157
- "description": "[false, false] from items array is not valid",
158
- "data": [false, false],
159
- "valid": false
160
- },
161
- {
162
- "description": "[true, true] from items array is not valid",
163
- "data": [true, true],
164
- "valid": false
165
- },
166
- {
167
- "description": "extra items are invalid even if unique",
168
- "data": [false, true, null],
169
- "valid": false
170
- }
171
- ]
172
- }
173
- ]
@@ -1 +0,0 @@
1
- JSON-Schema-Test-Suite/tests/draft2019-09
@@ -1,9 +0,0 @@
1
- [tox]
2
- minversion = 1.6
3
- envlist = sanity
4
- skipsdist = True
5
-
6
- [testenv:sanity]
7
- # used just for validating the structure of the test case files themselves
8
- deps = jsonschema
9
- commands = {envpython} bin/jsonschema_suite check