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,491 +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 closing Z after time-zone offset",
38
- "data": "1963-06-19T08:30:06.28123+01:00Z",
39
- "valid": false
40
- },
41
- {
42
- "description": "an invalid date-time string",
43
- "data": "06/19/1963 08:30:06 PST",
44
- "valid": false
45
- },
46
- {
47
- "description": "case-insensitive T and Z",
48
- "data": "1963-06-19t08:30:06.283185z",
49
- "valid": true
50
- },
51
- {
52
- "description": "only RFC3339 not all of ISO 8601 are valid",
53
- "data": "2013-350T01:01:01",
54
- "valid": false
55
- }
56
- ]
57
- },
58
- {
59
- "description": "validation of URIs",
60
- "schema": {"format": "uri"},
61
- "tests": [
62
- {
63
- "description": "a valid URL with anchor tag",
64
- "data": "http://foo.bar/?baz=qux#quux",
65
- "valid": true
66
- },
67
- {
68
- "description": "a valid URL with anchor tag and parantheses",
69
- "data": "http://foo.com/blah_(wikipedia)_blah#cite-1",
70
- "valid": true
71
- },
72
- {
73
- "description": "a valid URL with URL-encoded stuff",
74
- "data": "http://foo.bar/?q=Test%20URL-encoded%20stuff",
75
- "valid": true
76
- },
77
- {
78
- "description": "a valid puny-coded URL ",
79
- "data": "http://xn--nw2a.xn--j6w193g/",
80
- "valid": true
81
- },
82
- {
83
- "description": "a valid URL with many special characters",
84
- "data": "http://-.~_!$&'()*+,;=:%40:80%2f::::::@example.com",
85
- "valid": true
86
- },
87
- {
88
- "description": "a valid URL based on IPv4",
89
- "data": "http://223.255.255.254",
90
- "valid": true
91
- },
92
- {
93
- "description": "a valid URL with ftp scheme",
94
- "data": "ftp://ftp.is.co.za/rfc/rfc1808.txt",
95
- "valid": true
96
- },
97
- {
98
- "description": "a valid URL for a simple text file",
99
- "data": "http://www.ietf.org/rfc/rfc2396.txt",
100
- "valid": true
101
- },
102
- {
103
- "description": "a valid URL ",
104
- "data": "ldap://[2001:db8::7]/c=GB?objectClass?one",
105
- "valid": true
106
- },
107
- {
108
- "description": "a valid mailto URI",
109
- "data": "mailto:John.Doe@example.com",
110
- "valid": true
111
- },
112
- {
113
- "description": "a valid newsgroup URI",
114
- "data": "news:comp.infosystems.www.servers.unix",
115
- "valid": true
116
- },
117
- {
118
- "description": "a valid tel URI",
119
- "data": "tel:+1-816-555-1212",
120
- "valid": true
121
- },
122
- {
123
- "description": "a valid URN",
124
- "data": "urn:oasis:names:specification:docbook:dtd:xml:4.1.2",
125
- "valid": true
126
- },
127
- {
128
- "description": "an invalid protocol-relative URI Reference",
129
- "data": "//foo.bar/?baz=qux#quux",
130
- "valid": false
131
- },
132
- {
133
- "description": "an invalid relative URI Reference",
134
- "data": "/abc",
135
- "valid": false
136
- },
137
- {
138
- "description": "an invalid URI",
139
- "data": "\\\\WINDOWS\\fileshare",
140
- "valid": false
141
- },
142
- {
143
- "description": "an invalid URI though valid URI reference",
144
- "data": "abc",
145
- "valid": false
146
- },
147
- {
148
- "description": "an invalid URI with spaces",
149
- "data": "http:// shouldfail.com",
150
- "valid": false
151
- },
152
- {
153
- "description": "an invalid URI with spaces and missing scheme",
154
- "data": ":// should fail",
155
- "valid": false
156
- }
157
- ]
158
- },
159
- {
160
- "description": "validation of URI References",
161
- "schema": {"format": "uri-reference"},
162
- "tests": [
163
- {
164
- "description": "a valid URI",
165
- "data": "http://foo.bar/?baz=qux#quux",
166
- "valid": true
167
- },
168
- {
169
- "description": "a valid protocol-relative URI Reference",
170
- "data": "//foo.bar/?baz=qux#quux",
171
- "valid": true
172
- },
173
- {
174
- "description": "a valid relative URI Reference",
175
- "data": "/abc",
176
- "valid": true
177
- },
178
- {
179
- "description": "an invalid URI Reference",
180
- "data": "\\\\WINDOWS\\fileshare",
181
- "valid": false
182
- },
183
- {
184
- "description": "a valid URI Reference",
185
- "data": "abc",
186
- "valid": true
187
- },
188
- {
189
- "description": "a valid URI fragment",
190
- "data": "#fragment",
191
- "valid": true
192
- },
193
- {
194
- "description": "an invalid URI fragment",
195
- "data": "#frag\\ment",
196
- "valid": false
197
- }
198
- ]
199
- },
200
- {
201
- "description": "format: uri-template",
202
- "schema": {"format": "uri-template"},
203
- "tests": [
204
- {
205
- "description": "a valid uri-template",
206
- "data": "http://example.com/dictionary/{term:1}/{term}",
207
- "valid": true
208
- },
209
- {
210
- "description": "an invalid uri-template",
211
- "data": "http://example.com/dictionary/{term:1}/{term",
212
- "valid": false
213
- },
214
- {
215
- "description": "a valid uri-template without variables",
216
- "data": "http://example.com/dictionary",
217
- "valid": true
218
- },
219
- {
220
- "description": "a valid relative uri-template",
221
- "data": "dictionary/{term:1}/{term}",
222
- "valid": true
223
- }
224
- ]
225
- },
226
- {
227
- "description": "validation of e-mail addresses",
228
- "schema": {"format": "email"},
229
- "tests": [
230
- {
231
- "description": "a valid e-mail address",
232
- "data": "joe.bloggs@example.com",
233
- "valid": true
234
- },
235
- {
236
- "description": "an invalid e-mail address",
237
- "data": "2962",
238
- "valid": false
239
- }
240
- ]
241
- },
242
- {
243
- "description": "validation of IP addresses",
244
- "schema": {"format": "ipv4"},
245
- "tests": [
246
- {
247
- "description": "a valid IP address",
248
- "data": "192.168.0.1",
249
- "valid": true
250
- },
251
- {
252
- "description": "an IP address with too many components",
253
- "data": "127.0.0.0.1",
254
- "valid": false
255
- },
256
- {
257
- "description": "an IP address with out-of-range values",
258
- "data": "256.256.256.256",
259
- "valid": false
260
- },
261
- {
262
- "description": "an IP address without 4 components",
263
- "data": "127.0",
264
- "valid": false
265
- },
266
- {
267
- "description": "an IP address as an integer",
268
- "data": "0x7f000001",
269
- "valid": false
270
- }
271
- ]
272
- },
273
- {
274
- "description": "validation of IPv6 addresses",
275
- "schema": {"format": "ipv6"},
276
- "tests": [
277
- {
278
- "description": "a valid IPv6 address",
279
- "data": "::1",
280
- "valid": true
281
- },
282
- {
283
- "description": "an IPv6 address with out-of-range values",
284
- "data": "12345::",
285
- "valid": false
286
- },
287
- {
288
- "description": "an IPv6 address with too many components",
289
- "data": "1:1:1:1:1:1:1:1:1:1:1:1:1:1:1:1",
290
- "valid": false
291
- },
292
- {
293
- "description": "an IPv6 address containing illegal characters",
294
- "data": "::laptop",
295
- "valid": false
296
- }
297
- ]
298
- },
299
- {
300
- "description": "validation of host names",
301
- "schema": {"format": "hostname"},
302
- "tests": [
303
- {
304
- "description": "a valid host name",
305
- "data": "www.example.com",
306
- "valid": true
307
- },
308
- {
309
- "description": "a host name starting with an illegal character",
310
- "data": "-a-host-name-that-starts-with--",
311
- "valid": false
312
- },
313
- {
314
- "description": "a host name containing illegal characters",
315
- "data": "not_a_valid_host_name",
316
- "valid": false
317
- },
318
- {
319
- "description": "a host name with a component too long",
320
- "data": "a-vvvvvvvvvvvvvvvveeeeeeeeeeeeeeeerrrrrrrrrrrrrrrryyyyyyyyyyyyyyyy-long-host-name-component",
321
- "valid": false
322
- }
323
- ]
324
- },
325
- {
326
- "description": "validation of JSON-pointers (JSON String Representation)",
327
- "schema": {"format": "json-pointer"},
328
- "tests": [
329
- {
330
- "description": "a valid JSON-pointer",
331
- "data": "/foo/bar~0/baz~1/%a",
332
- "valid": true
333
- },
334
- {
335
- "description": "not a valid JSON-pointer (~ not escaped)",
336
- "data": "/foo/bar~",
337
- "valid": false
338
- },
339
- {
340
- "description": "valid JSON-pointer with empty segment",
341
- "data": "/foo//bar",
342
- "valid": true
343
- },
344
- {
345
- "description": "valid JSON-pointer with the last empty segment",
346
- "data": "/foo/bar/",
347
- "valid": true
348
- },
349
- {
350
- "description": "valid JSON-pointer as stated in RFC 6901 #1",
351
- "data": "",
352
- "valid": true
353
- },
354
- {
355
- "description": "valid JSON-pointer as stated in RFC 6901 #2",
356
- "data": "/foo",
357
- "valid": true
358
- },
359
- {
360
- "description": "valid JSON-pointer as stated in RFC 6901 #3",
361
- "data": "/foo/0",
362
- "valid": true
363
- },
364
- {
365
- "description": "valid JSON-pointer as stated in RFC 6901 #4",
366
- "data": "/",
367
- "valid": true
368
- },
369
- {
370
- "description": "valid JSON-pointer as stated in RFC 6901 #5",
371
- "data": "/a~1b",
372
- "valid": true
373
- },
374
- {
375
- "description": "valid JSON-pointer as stated in RFC 6901 #6",
376
- "data": "/c%d",
377
- "valid": true
378
- },
379
- {
380
- "description": "valid JSON-pointer as stated in RFC 6901 #7",
381
- "data": "/e^f",
382
- "valid": true
383
- },
384
- {
385
- "description": "valid JSON-pointer as stated in RFC 6901 #8",
386
- "data": "/g|h",
387
- "valid": true
388
- },
389
- {
390
- "description": "valid JSON-pointer as stated in RFC 6901 #9",
391
- "data": "/i\\j",
392
- "valid": true
393
- },
394
- {
395
- "description": "valid JSON-pointer as stated in RFC 6901 #10",
396
- "data": "/k\"l",
397
- "valid": true
398
- },
399
- {
400
- "description": "valid JSON-pointer as stated in RFC 6901 #11",
401
- "data": "/ ",
402
- "valid": true
403
- },
404
- {
405
- "description": "valid JSON-pointer as stated in RFC 6901 #12",
406
- "data": "/m~0n",
407
- "valid": true
408
- },
409
- {
410
- "description": "valid JSON-pointer used adding to the last array position",
411
- "data": "/foo/-",
412
- "valid": true
413
- },
414
- {
415
- "description": "valid JSON-pointer (- used as object member name)",
416
- "data": "/foo/-/bar",
417
- "valid": true
418
- },
419
- {
420
- "description": "valid JSON-pointer (multiple escaped characters)",
421
- "data": "/~1~0~0~1~1",
422
- "valid": true
423
- },
424
- {
425
- "description": "valid JSON-pointer (escaped with fraction part) #1",
426
- "data": "/~1.1",
427
- "valid": true
428
- },
429
- {
430
- "description": "valid JSON-pointer (escaped with fraction part) #2",
431
- "data": "/~0.1",
432
- "valid": true
433
- },
434
- {
435
- "description": "not a valid JSON-pointer (URI Fragment Identifier) #1",
436
- "data": "#",
437
- "valid": false
438
- },
439
- {
440
- "description": "not a valid JSON-pointer (URI Fragment Identifier) #2",
441
- "data": "#/",
442
- "valid": false
443
- },
444
- {
445
- "description": "not a valid JSON-pointer (URI Fragment Identifier) #3",
446
- "data": "#a",
447
- "valid": false
448
- },
449
- {
450
- "description": "not a valid JSON-pointer (some escaped, but not all) #1",
451
- "data": "/~0~",
452
- "valid": false
453
- },
454
- {
455
- "description": "not a valid JSON-pointer (some escaped, but not all) #2",
456
- "data": "/~0/~",
457
- "valid": false
458
- },
459
- {
460
- "description": "not a valid JSON-pointer (wrong escape character) #1",
461
- "data": "/~2",
462
- "valid": false
463
- },
464
- {
465
- "description": "not a valid JSON-pointer (wrong escape character) #2",
466
- "data": "/~-1",
467
- "valid": false
468
- },
469
- {
470
- "description": "not a valid JSON-pointer (multiple characters not escaped)",
471
- "data": "/~~",
472
- "valid": false
473
- },
474
- {
475
- "description": "not a valid JSON-pointer (isn't empty nor starts with /) #1",
476
- "data": "a",
477
- "valid": false
478
- },
479
- {
480
- "description": "not a valid JSON-pointer (isn't empty nor starts with /) #2",
481
- "data": "0",
482
- "valid": false
483
- },
484
- {
485
- "description": "not a valid JSON-pointer (isn't empty nor starts with /) #3",
486
- "data": "a/a",
487
- "valid": false
488
- }
489
- ]
490
- }
491
- ]
@@ -1,15 +0,0 @@
1
- [
2
- {
3
- "description": "some languages do not distinguish between different types of numeric value",
4
- "schema": {
5
- "type": "integer"
6
- },
7
- "tests": [
8
- {
9
- "description": "a float without fractional part is an integer",
10
- "data": 1.0,
11
- "valid": true
12
- }
13
- ]
14
- }
15
- ]
@@ -1,34 +0,0 @@
1
- [
2
- {
3
- "description": "pattern validation",
4
- "schema": {"pattern": "^a*$"},
5
- "tests": [
6
- {
7
- "description": "a matching pattern is valid",
8
- "data": "aaa",
9
- "valid": true
10
- },
11
- {
12
- "description": "a non-matching pattern is invalid",
13
- "data": "abc",
14
- "valid": false
15
- },
16
- {
17
- "description": "ignores non-strings",
18
- "data": true,
19
- "valid": true
20
- }
21
- ]
22
- },
23
- {
24
- "description": "pattern is not anchored",
25
- "schema": {"pattern": "a+"},
26
- "tests": [
27
- {
28
- "description": "matches a substring",
29
- "data": "xxaayy",
30
- "valid": true
31
- }
32
- ]
33
- }
34
- ]
@@ -1,151 +0,0 @@
1
- [
2
- {
3
- "description":
4
- "patternProperties validates properties matching a regex",
5
- "schema": {
6
- "patternProperties": {
7
- "f.*o": {"type": "integer"}
8
- }
9
- },
10
- "tests": [
11
- {
12
- "description": "a single valid match is valid",
13
- "data": {"foo": 1},
14
- "valid": true
15
- },
16
- {
17
- "description": "multiple valid matches is valid",
18
- "data": {"foo": 1, "foooooo" : 2},
19
- "valid": true
20
- },
21
- {
22
- "description": "a single invalid match is invalid",
23
- "data": {"foo": "bar", "fooooo": 2},
24
- "valid": false
25
- },
26
- {
27
- "description": "multiple invalid matches is invalid",
28
- "data": {"foo": "bar", "foooooo" : "baz"},
29
- "valid": false
30
- },
31
- {
32
- "description": "ignores arrays",
33
- "data": ["foo"],
34
- "valid": true
35
- },
36
- {
37
- "description": "ignores strings",
38
- "data": "foo",
39
- "valid": true
40
- },
41
- {
42
- "description": "ignores other non-objects",
43
- "data": 12,
44
- "valid": true
45
- }
46
- ]
47
- },
48
- {
49
- "description": "multiple simultaneous patternProperties are validated",
50
- "schema": {
51
- "patternProperties": {
52
- "a*": {"type": "integer"},
53
- "aaa*": {"maximum": 20}
54
- }
55
- },
56
- "tests": [
57
- {
58
- "description": "a single valid match is valid",
59
- "data": {"a": 21},
60
- "valid": true
61
- },
62
- {
63
- "description": "a simultaneous match is valid",
64
- "data": {"aaaa": 18},
65
- "valid": true
66
- },
67
- {
68
- "description": "multiple matches is valid",
69
- "data": {"a": 21, "aaaa": 18},
70
- "valid": true
71
- },
72
- {
73
- "description": "an invalid due to one is invalid",
74
- "data": {"a": "bar"},
75
- "valid": false
76
- },
77
- {
78
- "description": "an invalid due to the other is invalid",
79
- "data": {"aaaa": 31},
80
- "valid": false
81
- },
82
- {
83
- "description": "an invalid due to both is invalid",
84
- "data": {"aaa": "foo", "aaaa": 31},
85
- "valid": false
86
- }
87
- ]
88
- },
89
- {
90
- "description": "regexes are not anchored by default and are case sensitive",
91
- "schema": {
92
- "patternProperties": {
93
- "[0-9]{2,}": { "type": "boolean" },
94
- "X_": { "type": "string" }
95
- }
96
- },
97
- "tests": [
98
- {
99
- "description": "non recognized members are ignored",
100
- "data": { "answer 1": "42" },
101
- "valid": true
102
- },
103
- {
104
- "description": "recognized members are accounted for",
105
- "data": { "a31b": null },
106
- "valid": false
107
- },
108
- {
109
- "description": "regexes are case sensitive",
110
- "data": { "a_x_3": 3 },
111
- "valid": true
112
- },
113
- {
114
- "description": "regexes are case sensitive, 2",
115
- "data": { "a_X_3": 3 },
116
- "valid": false
117
- }
118
- ]
119
- },
120
- {
121
- "description": "patternProperties with boolean schemas",
122
- "schema": {
123
- "patternProperties": {
124
- "f.*": true,
125
- "b.*": false
126
- }
127
- },
128
- "tests": [
129
- {
130
- "description": "object with property matching schema true is valid",
131
- "data": {"foo": 1},
132
- "valid": true
133
- },
134
- {
135
- "description": "object with property matching schema false is invalid",
136
- "data": {"bar": 2},
137
- "valid": false
138
- },
139
- {
140
- "description": "object with both properties is invalid",
141
- "data": {"foo": 1, "bar": 2},
142
- "valid": false
143
- },
144
- {
145
- "description": "empty object is valid",
146
- "data": {},
147
- "valid": true
148
- }
149
- ]
150
- }
151
- ]