json_schemer 0.2.7 → 0.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +1 -6
  3. data/Gemfile.lock +7 -7
  4. data/json_schemer.gemspec +3 -3
  5. data/lib/json_schemer.rb +2 -0
  6. data/lib/json_schemer/errors.rb +31 -0
  7. data/lib/json_schemer/format.rb +25 -58
  8. data/lib/json_schemer/schema/base.rb +52 -32
  9. data/lib/json_schemer/version.rb +1 -1
  10. metadata +8 -229
  11. data/JSON-Schema-Test-Suite/.gitignore +0 -1
  12. data/JSON-Schema-Test-Suite/.travis.yml +0 -8
  13. data/JSON-Schema-Test-Suite/LICENSE +0 -19
  14. data/JSON-Schema-Test-Suite/README.md +0 -181
  15. data/JSON-Schema-Test-Suite/bin/jsonschema_suite +0 -295
  16. data/JSON-Schema-Test-Suite/index.js +0 -45
  17. data/JSON-Schema-Test-Suite/package.json +0 -28
  18. data/JSON-Schema-Test-Suite/remotes/folder/folderInteger.json +0 -3
  19. data/JSON-Schema-Test-Suite/remotes/integer.json +0 -3
  20. data/JSON-Schema-Test-Suite/remotes/name-defs.json +0 -11
  21. data/JSON-Schema-Test-Suite/remotes/name.json +0 -11
  22. data/JSON-Schema-Test-Suite/remotes/subSchemas.json +0 -8
  23. data/JSON-Schema-Test-Suite/test-schema.json +0 -59
  24. data/JSON-Schema-Test-Suite/tests/draft2019-08/additionalItems.json +0 -87
  25. data/JSON-Schema-Test-Suite/tests/draft2019-08/additionalProperties.json +0 -133
  26. data/JSON-Schema-Test-Suite/tests/draft2019-08/allOf.json +0 -218
  27. data/JSON-Schema-Test-Suite/tests/draft2019-08/anyOf.json +0 -189
  28. data/JSON-Schema-Test-Suite/tests/draft2019-08/boolean_schema.json +0 -104
  29. data/JSON-Schema-Test-Suite/tests/draft2019-08/const.json +0 -170
  30. data/JSON-Schema-Test-Suite/tests/draft2019-08/contains.json +0 -95
  31. data/JSON-Schema-Test-Suite/tests/draft2019-08/default.json +0 -49
  32. data/JSON-Schema-Test-Suite/tests/draft2019-08/defs.json +0 -24
  33. data/JSON-Schema-Test-Suite/tests/draft2019-08/dependencies.json +0 -268
  34. data/JSON-Schema-Test-Suite/tests/draft2019-08/enum.json +0 -179
  35. data/JSON-Schema-Test-Suite/tests/draft2019-08/exclusiveMaximum.json +0 -30
  36. data/JSON-Schema-Test-Suite/tests/draft2019-08/exclusiveMinimum.json +0 -30
  37. data/JSON-Schema-Test-Suite/tests/draft2019-08/if-then-else.json +0 -188
  38. data/JSON-Schema-Test-Suite/tests/draft2019-08/items.json +0 -250
  39. data/JSON-Schema-Test-Suite/tests/draft2019-08/maxItems.json +0 -28
  40. data/JSON-Schema-Test-Suite/tests/draft2019-08/maxLength.json +0 -33
  41. data/JSON-Schema-Test-Suite/tests/draft2019-08/maxProperties.json +0 -38
  42. data/JSON-Schema-Test-Suite/tests/draft2019-08/maximum.json +0 -28
  43. data/JSON-Schema-Test-Suite/tests/draft2019-08/minItems.json +0 -28
  44. data/JSON-Schema-Test-Suite/tests/draft2019-08/minLength.json +0 -33
  45. data/JSON-Schema-Test-Suite/tests/draft2019-08/minProperties.json +0 -38
  46. data/JSON-Schema-Test-Suite/tests/draft2019-08/minimum.json +0 -59
  47. data/JSON-Schema-Test-Suite/tests/draft2019-08/multipleOf.json +0 -60
  48. data/JSON-Schema-Test-Suite/tests/draft2019-08/not.json +0 -117
  49. data/JSON-Schema-Test-Suite/tests/draft2019-08/oneOf.json +0 -206
  50. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/bignum.json +0 -105
  51. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/content.json +0 -77
  52. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/ecmascript-regex.json +0 -13
  53. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/date-time.json +0 -53
  54. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/date.json +0 -23
  55. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/email.json +0 -18
  56. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/hostname.json +0 -33
  57. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/idn-email.json +0 -18
  58. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/idn-hostname.json +0 -28
  59. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/ipv4.json +0 -33
  60. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/ipv6.json +0 -28
  61. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/iri-reference.json +0 -43
  62. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/iri.json +0 -53
  63. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/json-pointer.json +0 -168
  64. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/regex.json +0 -18
  65. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/relative-json-pointer.json +0 -33
  66. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/time.json +0 -23
  67. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/uri-reference.json +0 -43
  68. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/uri-template.json +0 -28
  69. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/format/uri.json +0 -103
  70. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/zeroTerminatedFloats.json +0 -15
  71. data/JSON-Schema-Test-Suite/tests/draft2019-08/pattern.json +0 -34
  72. data/JSON-Schema-Test-Suite/tests/draft2019-08/patternProperties.json +0 -151
  73. data/JSON-Schema-Test-Suite/tests/draft2019-08/properties.json +0 -167
  74. data/JSON-Schema-Test-Suite/tests/draft2019-08/propertyNames.json +0 -78
  75. data/JSON-Schema-Test-Suite/tests/draft2019-08/ref.json +0 -443
  76. data/JSON-Schema-Test-Suite/tests/draft2019-08/refRemote.json +0 -167
  77. data/JSON-Schema-Test-Suite/tests/draft2019-08/required.json +0 -105
  78. data/JSON-Schema-Test-Suite/tests/draft2019-08/type.json +0 -464
  79. data/JSON-Schema-Test-Suite/tests/draft2019-08/uniqueItems.json +0 -89
  80. data/JSON-Schema-Test-Suite/tests/draft3/additionalItems.json +0 -82
  81. data/JSON-Schema-Test-Suite/tests/draft3/additionalProperties.json +0 -133
  82. data/JSON-Schema-Test-Suite/tests/draft3/default.json +0 -49
  83. data/JSON-Schema-Test-Suite/tests/draft3/dependencies.json +0 -118
  84. data/JSON-Schema-Test-Suite/tests/draft3/disallow.json +0 -80
  85. data/JSON-Schema-Test-Suite/tests/draft3/divisibleBy.json +0 -60
  86. data/JSON-Schema-Test-Suite/tests/draft3/enum.json +0 -71
  87. data/JSON-Schema-Test-Suite/tests/draft3/extends.json +0 -94
  88. data/JSON-Schema-Test-Suite/tests/draft3/items.json +0 -46
  89. data/JSON-Schema-Test-Suite/tests/draft3/maxItems.json +0 -28
  90. data/JSON-Schema-Test-Suite/tests/draft3/maxLength.json +0 -33
  91. data/JSON-Schema-Test-Suite/tests/draft3/maximum.json +0 -42
  92. data/JSON-Schema-Test-Suite/tests/draft3/minItems.json +0 -28
  93. data/JSON-Schema-Test-Suite/tests/draft3/minLength.json +0 -33
  94. data/JSON-Schema-Test-Suite/tests/draft3/minimum.json +0 -73
  95. data/JSON-Schema-Test-Suite/tests/draft3/optional/bignum.json +0 -107
  96. data/JSON-Schema-Test-Suite/tests/draft3/optional/format.json +0 -227
  97. data/JSON-Schema-Test-Suite/tests/draft3/optional/jsregex.json +0 -18
  98. data/JSON-Schema-Test-Suite/tests/draft3/optional/zeroTerminatedFloats.json +0 -15
  99. data/JSON-Schema-Test-Suite/tests/draft3/pattern.json +0 -34
  100. data/JSON-Schema-Test-Suite/tests/draft3/patternProperties.json +0 -115
  101. data/JSON-Schema-Test-Suite/tests/draft3/properties.json +0 -97
  102. data/JSON-Schema-Test-Suite/tests/draft3/ref.json +0 -192
  103. data/JSON-Schema-Test-Suite/tests/draft3/refRemote.json +0 -74
  104. data/JSON-Schema-Test-Suite/tests/draft3/required.json +0 -53
  105. data/JSON-Schema-Test-Suite/tests/draft3/type.json +0 -489
  106. data/JSON-Schema-Test-Suite/tests/draft3/uniqueItems.json +0 -79
  107. data/JSON-Schema-Test-Suite/tests/draft4/additionalItems.json +0 -87
  108. data/JSON-Schema-Test-Suite/tests/draft4/additionalProperties.json +0 -133
  109. data/JSON-Schema-Test-Suite/tests/draft4/allOf.json +0 -185
  110. data/JSON-Schema-Test-Suite/tests/draft4/anyOf.json +0 -156
  111. data/JSON-Schema-Test-Suite/tests/draft4/default.json +0 -49
  112. data/JSON-Schema-Test-Suite/tests/draft4/definitions.json +0 -32
  113. data/JSON-Schema-Test-Suite/tests/draft4/dependencies.json +0 -194
  114. data/JSON-Schema-Test-Suite/tests/draft4/enum.json +0 -179
  115. data/JSON-Schema-Test-Suite/tests/draft4/items.json +0 -195
  116. data/JSON-Schema-Test-Suite/tests/draft4/maxItems.json +0 -28
  117. data/JSON-Schema-Test-Suite/tests/draft4/maxLength.json +0 -33
  118. data/JSON-Schema-Test-Suite/tests/draft4/maxProperties.json +0 -38
  119. data/JSON-Schema-Test-Suite/tests/draft4/maximum.json +0 -73
  120. data/JSON-Schema-Test-Suite/tests/draft4/minItems.json +0 -28
  121. data/JSON-Schema-Test-Suite/tests/draft4/minLength.json +0 -33
  122. data/JSON-Schema-Test-Suite/tests/draft4/minProperties.json +0 -38
  123. data/JSON-Schema-Test-Suite/tests/draft4/minimum.json +0 -104
  124. data/JSON-Schema-Test-Suite/tests/draft4/multipleOf.json +0 -60
  125. data/JSON-Schema-Test-Suite/tests/draft4/not.json +0 -96
  126. data/JSON-Schema-Test-Suite/tests/draft4/oneOf.json +0 -162
  127. data/JSON-Schema-Test-Suite/tests/draft4/optional/bignum.json +0 -107
  128. data/JSON-Schema-Test-Suite/tests/draft4/optional/ecmascript-regex.json +0 -13
  129. data/JSON-Schema-Test-Suite/tests/draft4/optional/format.json +0 -253
  130. data/JSON-Schema-Test-Suite/tests/draft4/optional/zeroTerminatedFloats.json +0 -15
  131. data/JSON-Schema-Test-Suite/tests/draft4/pattern.json +0 -34
  132. data/JSON-Schema-Test-Suite/tests/draft4/patternProperties.json +0 -120
  133. data/JSON-Schema-Test-Suite/tests/draft4/properties.json +0 -136
  134. data/JSON-Schema-Test-Suite/tests/draft4/ref.json +0 -411
  135. data/JSON-Schema-Test-Suite/tests/draft4/refRemote.json +0 -171
  136. data/JSON-Schema-Test-Suite/tests/draft4/required.json +0 -89
  137. data/JSON-Schema-Test-Suite/tests/draft4/type.json +0 -464
  138. data/JSON-Schema-Test-Suite/tests/draft4/uniqueItems.json +0 -89
  139. data/JSON-Schema-Test-Suite/tests/draft6/additionalItems.json +0 -87
  140. data/JSON-Schema-Test-Suite/tests/draft6/additionalProperties.json +0 -133
  141. data/JSON-Schema-Test-Suite/tests/draft6/allOf.json +0 -218
  142. data/JSON-Schema-Test-Suite/tests/draft6/anyOf.json +0 -189
  143. data/JSON-Schema-Test-Suite/tests/draft6/boolean_schema.json +0 -104
  144. data/JSON-Schema-Test-Suite/tests/draft6/const.json +0 -170
  145. data/JSON-Schema-Test-Suite/tests/draft6/contains.json +0 -100
  146. data/JSON-Schema-Test-Suite/tests/draft6/default.json +0 -49
  147. data/JSON-Schema-Test-Suite/tests/draft6/definitions.json +0 -32
  148. data/JSON-Schema-Test-Suite/tests/draft6/dependencies.json +0 -268
  149. data/JSON-Schema-Test-Suite/tests/draft6/enum.json +0 -179
  150. data/JSON-Schema-Test-Suite/tests/draft6/exclusiveMaximum.json +0 -30
  151. data/JSON-Schema-Test-Suite/tests/draft6/exclusiveMinimum.json +0 -30
  152. data/JSON-Schema-Test-Suite/tests/draft6/items.json +0 -250
  153. data/JSON-Schema-Test-Suite/tests/draft6/maxItems.json +0 -28
  154. data/JSON-Schema-Test-Suite/tests/draft6/maxLength.json +0 -33
  155. data/JSON-Schema-Test-Suite/tests/draft6/maxProperties.json +0 -38
  156. data/JSON-Schema-Test-Suite/tests/draft6/maximum.json +0 -28
  157. data/JSON-Schema-Test-Suite/tests/draft6/minItems.json +0 -28
  158. data/JSON-Schema-Test-Suite/tests/draft6/minLength.json +0 -33
  159. data/JSON-Schema-Test-Suite/tests/draft6/minProperties.json +0 -38
  160. data/JSON-Schema-Test-Suite/tests/draft6/minimum.json +0 -59
  161. data/JSON-Schema-Test-Suite/tests/draft6/multipleOf.json +0 -60
  162. data/JSON-Schema-Test-Suite/tests/draft6/not.json +0 -117
  163. data/JSON-Schema-Test-Suite/tests/draft6/oneOf.json +0 -206
  164. data/JSON-Schema-Test-Suite/tests/draft6/optional/bignum.json +0 -105
  165. data/JSON-Schema-Test-Suite/tests/draft6/optional/ecmascript-regex.json +0 -13
  166. data/JSON-Schema-Test-Suite/tests/draft6/optional/format.json +0 -491
  167. data/JSON-Schema-Test-Suite/tests/draft6/optional/zeroTerminatedFloats.json +0 -15
  168. data/JSON-Schema-Test-Suite/tests/draft6/pattern.json +0 -34
  169. data/JSON-Schema-Test-Suite/tests/draft6/patternProperties.json +0 -151
  170. data/JSON-Schema-Test-Suite/tests/draft6/properties.json +0 -167
  171. data/JSON-Schema-Test-Suite/tests/draft6/propertyNames.json +0 -78
  172. data/JSON-Schema-Test-Suite/tests/draft6/ref.json +0 -443
  173. data/JSON-Schema-Test-Suite/tests/draft6/refRemote.json +0 -171
  174. data/JSON-Schema-Test-Suite/tests/draft6/required.json +0 -105
  175. data/JSON-Schema-Test-Suite/tests/draft6/type.json +0 -464
  176. data/JSON-Schema-Test-Suite/tests/draft6/uniqueItems.json +0 -89
  177. data/JSON-Schema-Test-Suite/tests/draft7/additionalItems.json +0 -87
  178. data/JSON-Schema-Test-Suite/tests/draft7/additionalProperties.json +0 -133
  179. data/JSON-Schema-Test-Suite/tests/draft7/allOf.json +0 -218
  180. data/JSON-Schema-Test-Suite/tests/draft7/anyOf.json +0 -189
  181. data/JSON-Schema-Test-Suite/tests/draft7/boolean_schema.json +0 -104
  182. data/JSON-Schema-Test-Suite/tests/draft7/const.json +0 -170
  183. data/JSON-Schema-Test-Suite/tests/draft7/contains.json +0 -100
  184. data/JSON-Schema-Test-Suite/tests/draft7/default.json +0 -49
  185. data/JSON-Schema-Test-Suite/tests/draft7/definitions.json +0 -32
  186. data/JSON-Schema-Test-Suite/tests/draft7/dependencies.json +0 -268
  187. data/JSON-Schema-Test-Suite/tests/draft7/enum.json +0 -179
  188. data/JSON-Schema-Test-Suite/tests/draft7/exclusiveMaximum.json +0 -30
  189. data/JSON-Schema-Test-Suite/tests/draft7/exclusiveMinimum.json +0 -30
  190. data/JSON-Schema-Test-Suite/tests/draft7/if-then-else.json +0 -188
  191. data/JSON-Schema-Test-Suite/tests/draft7/items.json +0 -250
  192. data/JSON-Schema-Test-Suite/tests/draft7/maxItems.json +0 -28
  193. data/JSON-Schema-Test-Suite/tests/draft7/maxLength.json +0 -33
  194. data/JSON-Schema-Test-Suite/tests/draft7/maxProperties.json +0 -38
  195. data/JSON-Schema-Test-Suite/tests/draft7/maximum.json +0 -28
  196. data/JSON-Schema-Test-Suite/tests/draft7/minItems.json +0 -28
  197. data/JSON-Schema-Test-Suite/tests/draft7/minLength.json +0 -33
  198. data/JSON-Schema-Test-Suite/tests/draft7/minProperties.json +0 -38
  199. data/JSON-Schema-Test-Suite/tests/draft7/minimum.json +0 -59
  200. data/JSON-Schema-Test-Suite/tests/draft7/multipleOf.json +0 -60
  201. data/JSON-Schema-Test-Suite/tests/draft7/not.json +0 -117
  202. data/JSON-Schema-Test-Suite/tests/draft7/oneOf.json +0 -206
  203. data/JSON-Schema-Test-Suite/tests/draft7/optional/bignum.json +0 -105
  204. data/JSON-Schema-Test-Suite/tests/draft7/optional/content.json +0 -77
  205. data/JSON-Schema-Test-Suite/tests/draft7/optional/ecmascript-regex.json +0 -13
  206. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/date-time.json +0 -53
  207. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/date.json +0 -23
  208. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/email.json +0 -18
  209. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/hostname.json +0 -33
  210. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/idn-email.json +0 -18
  211. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/idn-hostname.json +0 -28
  212. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/ipv4.json +0 -33
  213. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/ipv6.json +0 -28
  214. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/iri-reference.json +0 -43
  215. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/iri.json +0 -53
  216. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/json-pointer.json +0 -168
  217. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/regex.json +0 -18
  218. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/relative-json-pointer.json +0 -33
  219. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/time.json +0 -23
  220. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/uri-reference.json +0 -43
  221. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/uri-template.json +0 -28
  222. data/JSON-Schema-Test-Suite/tests/draft7/optional/format/uri.json +0 -103
  223. data/JSON-Schema-Test-Suite/tests/draft7/optional/zeroTerminatedFloats.json +0 -15
  224. data/JSON-Schema-Test-Suite/tests/draft7/pattern.json +0 -34
  225. data/JSON-Schema-Test-Suite/tests/draft7/patternProperties.json +0 -151
  226. data/JSON-Schema-Test-Suite/tests/draft7/properties.json +0 -167
  227. data/JSON-Schema-Test-Suite/tests/draft7/propertyNames.json +0 -78
  228. data/JSON-Schema-Test-Suite/tests/draft7/ref.json +0 -443
  229. data/JSON-Schema-Test-Suite/tests/draft7/refRemote.json +0 -171
  230. data/JSON-Schema-Test-Suite/tests/draft7/required.json +0 -105
  231. data/JSON-Schema-Test-Suite/tests/draft7/type.json +0 -464
  232. data/JSON-Schema-Test-Suite/tests/draft7/uniqueItems.json +0 -89
  233. data/JSON-Schema-Test-Suite/tox.ini +0 -8
@@ -1,18 +0,0 @@
1
- [
2
- {
3
- "description": "validation of regular expressions",
4
- "schema": {"format": "regex"},
5
- "tests": [
6
- {
7
- "description": "a valid regular expression",
8
- "data": "([abc])+\\s+$",
9
- "valid": true
10
- },
11
- {
12
- "description": "a regular expression with unclosed parens is invalid",
13
- "data": "^(abc]",
14
- "valid": false
15
- }
16
- ]
17
- }
18
- ]
@@ -1,33 +0,0 @@
1
- [
2
- {
3
- "description": "validation of Relative JSON Pointers (RJP)",
4
- "schema": {"format": "relative-json-pointer"},
5
- "tests": [
6
- {
7
- "description": "a valid upwards RJP",
8
- "data": "1",
9
- "valid": true
10
- },
11
- {
12
- "description": "a valid downwards RJP",
13
- "data": "0/foo/bar",
14
- "valid": true
15
- },
16
- {
17
- "description": "a valid up and then down RJP, with array index",
18
- "data": "2/0/baz/1/zip",
19
- "valid": true
20
- },
21
- {
22
- "description": "a valid RJP taking the member or index name",
23
- "data": "0#",
24
- "valid": true
25
- },
26
- {
27
- "description": "an invalid RJP that is a valid JSON Pointer",
28
- "data": "/foo/bar",
29
- "valid": false
30
- }
31
- ]
32
- }
33
- ]
@@ -1,23 +0,0 @@
1
- [
2
- {
3
- "description": "validation of time strings",
4
- "schema": {"format": "time"},
5
- "tests": [
6
- {
7
- "description": "a valid time string",
8
- "data": "08:30:06.283185Z",
9
- "valid": true
10
- },
11
- {
12
- "description": "an invalid time string",
13
- "data": "08:30:06 PST",
14
- "valid": false
15
- },
16
- {
17
- "description": "only RFC3339 not all of ISO 8601 are valid",
18
- "data": "01:01:01,1111",
19
- "valid": false
20
- }
21
- ]
22
- }
23
- ]
@@ -1,43 +0,0 @@
1
- [
2
- {
3
- "description": "validation of URI References",
4
- "schema": {"format": "uri-reference"},
5
- "tests": [
6
- {
7
- "description": "a valid URI",
8
- "data": "http://foo.bar/?baz=qux#quux",
9
- "valid": true
10
- },
11
- {
12
- "description": "a valid protocol-relative URI Reference",
13
- "data": "//foo.bar/?baz=qux#quux",
14
- "valid": true
15
- },
16
- {
17
- "description": "a valid relative URI Reference",
18
- "data": "/abc",
19
- "valid": true
20
- },
21
- {
22
- "description": "an invalid URI Reference",
23
- "data": "\\\\WINDOWS\\fileshare",
24
- "valid": false
25
- },
26
- {
27
- "description": "a valid URI Reference",
28
- "data": "abc",
29
- "valid": true
30
- },
31
- {
32
- "description": "a valid URI fragment",
33
- "data": "#fragment",
34
- "valid": true
35
- },
36
- {
37
- "description": "an invalid URI fragment",
38
- "data": "#frag\\ment",
39
- "valid": false
40
- }
41
- ]
42
- }
43
- ]
@@ -1,28 +0,0 @@
1
- [
2
- {
3
- "description": "format: uri-template",
4
- "schema": {"format": "uri-template"},
5
- "tests": [
6
- {
7
- "description": "a valid uri-template",
8
- "data": "http://example.com/dictionary/{term:1}/{term}",
9
- "valid": true
10
- },
11
- {
12
- "description": "an invalid uri-template",
13
- "data": "http://example.com/dictionary/{term:1}/{term",
14
- "valid": false
15
- },
16
- {
17
- "description": "a valid uri-template without variables",
18
- "data": "http://example.com/dictionary",
19
- "valid": true
20
- },
21
- {
22
- "description": "a valid relative uri-template",
23
- "data": "dictionary/{term:1}/{term}",
24
- "valid": true
25
- }
26
- ]
27
- }
28
- ]
@@ -1,103 +0,0 @@
1
- [
2
- {
3
- "description": "validation of URIs",
4
- "schema": {"format": "uri"},
5
- "tests": [
6
- {
7
- "description": "a valid URL with anchor tag",
8
- "data": "http://foo.bar/?baz=qux#quux",
9
- "valid": true
10
- },
11
- {
12
- "description": "a valid URL with anchor tag and parantheses",
13
- "data": "http://foo.com/blah_(wikipedia)_blah#cite-1",
14
- "valid": true
15
- },
16
- {
17
- "description": "a valid URL with URL-encoded stuff",
18
- "data": "http://foo.bar/?q=Test%20URL-encoded%20stuff",
19
- "valid": true
20
- },
21
- {
22
- "description": "a valid puny-coded URL ",
23
- "data": "http://xn--nw2a.xn--j6w193g/",
24
- "valid": true
25
- },
26
- {
27
- "description": "a valid URL with many special characters",
28
- "data": "http://-.~_!$&'()*+,;=:%40:80%2f::::::@example.com",
29
- "valid": true
30
- },
31
- {
32
- "description": "a valid URL based on IPv4",
33
- "data": "http://223.255.255.254",
34
- "valid": true
35
- },
36
- {
37
- "description": "a valid URL with ftp scheme",
38
- "data": "ftp://ftp.is.co.za/rfc/rfc1808.txt",
39
- "valid": true
40
- },
41
- {
42
- "description": "a valid URL for a simple text file",
43
- "data": "http://www.ietf.org/rfc/rfc2396.txt",
44
- "valid": true
45
- },
46
- {
47
- "description": "a valid URL ",
48
- "data": "ldap://[2001:db8::7]/c=GB?objectClass?one",
49
- "valid": true
50
- },
51
- {
52
- "description": "a valid mailto URI",
53
- "data": "mailto:John.Doe@example.com",
54
- "valid": true
55
- },
56
- {
57
- "description": "a valid newsgroup URI",
58
- "data": "news:comp.infosystems.www.servers.unix",
59
- "valid": true
60
- },
61
- {
62
- "description": "a valid tel URI",
63
- "data": "tel:+1-816-555-1212",
64
- "valid": true
65
- },
66
- {
67
- "description": "a valid URN",
68
- "data": "urn:oasis:names:specification:docbook:dtd:xml:4.1.2",
69
- "valid": true
70
- },
71
- {
72
- "description": "an invalid protocol-relative URI Reference",
73
- "data": "//foo.bar/?baz=qux#quux",
74
- "valid": false
75
- },
76
- {
77
- "description": "an invalid relative URI Reference",
78
- "data": "/abc",
79
- "valid": false
80
- },
81
- {
82
- "description": "an invalid URI",
83
- "data": "\\\\WINDOWS\\fileshare",
84
- "valid": false
85
- },
86
- {
87
- "description": "an invalid URI though valid URI reference",
88
- "data": "abc",
89
- "valid": false
90
- },
91
- {
92
- "description": "an invalid URI with spaces",
93
- "data": "http:// shouldfail.com",
94
- "valid": false
95
- },
96
- {
97
- "description": "an invalid URI with spaces and missing scheme",
98
- "data": ":// should fail",
99
- "valid": false
100
- }
101
- ]
102
- }
103
- ]
@@ -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
- ]