json_schemer 0.2.7 → 0.2.8

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 (84) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/JSON-Schema-Test-Suite/bin/jsonschema_suite +8 -5
  4. data/JSON-Schema-Test-Suite/remotes/folder/folderInteger.json +1 -1
  5. data/JSON-Schema-Test-Suite/remotes/integer.json +1 -1
  6. data/JSON-Schema-Test-Suite/remotes/name-defs.json +6 -2
  7. data/JSON-Schema-Test-Suite/remotes/name.json +6 -2
  8. data/JSON-Schema-Test-Suite/remotes/subSchemas.json +2 -2
  9. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/additionalItems.json +0 -0
  10. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/additionalProperties.json +0 -0
  11. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/allOf.json +0 -0
  12. data/JSON-Schema-Test-Suite/tests/draft2019-09/anchor.json +87 -0
  13. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/anyOf.json +0 -0
  14. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/boolean_schema.json +0 -0
  15. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/const.json +0 -0
  16. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/contains.json +0 -0
  17. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/default.json +0 -0
  18. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/defs.json +2 -2
  19. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/dependencies.json +0 -0
  20. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/enum.json +0 -0
  21. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/exclusiveMaximum.json +0 -0
  22. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/exclusiveMinimum.json +0 -0
  23. data/JSON-Schema-Test-Suite/tests/draft2019-09/format.json +614 -0
  24. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/if-then-else.json +0 -0
  25. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/items.json +0 -0
  26. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/maxItems.json +0 -0
  27. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/maxLength.json +0 -0
  28. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/maxProperties.json +0 -0
  29. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/maximum.json +0 -0
  30. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/minItems.json +0 -0
  31. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/minLength.json +0 -0
  32. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/minProperties.json +0 -0
  33. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/minimum.json +0 -0
  34. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/multipleOf.json +0 -0
  35. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/not.json +0 -0
  36. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/oneOf.json +0 -0
  37. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/optional/bignum.json +0 -0
  38. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/optional/content.json +0 -0
  39. data/JSON-Schema-Test-Suite/tests/draft2019-09/optional/ecmascript-regex.json +213 -0
  40. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/optional/format/date-time.json +0 -0
  41. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/optional/format/date.json +0 -0
  42. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/optional/format/email.json +0 -0
  43. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/optional/format/hostname.json +0 -0
  44. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/optional/format/idn-email.json +0 -0
  45. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/optional/format/idn-hostname.json +0 -0
  46. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/optional/format/ipv4.json +0 -0
  47. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/optional/format/ipv6.json +0 -0
  48. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/optional/format/iri-reference.json +0 -0
  49. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/optional/format/iri.json +0 -0
  50. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/optional/format/json-pointer.json +0 -0
  51. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/optional/format/regex.json +0 -0
  52. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/optional/format/relative-json-pointer.json +0 -0
  53. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/optional/format/time.json +0 -0
  54. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/optional/format/uri-reference.json +0 -0
  55. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/optional/format/uri-template.json +0 -0
  56. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/optional/format/uri.json +0 -0
  57. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/optional/zeroTerminatedFloats.json +0 -0
  58. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/pattern.json +0 -0
  59. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/patternProperties.json +0 -0
  60. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/properties.json +0 -0
  61. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/propertyNames.json +0 -0
  62. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/ref.json +1 -85
  63. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/refRemote.json +0 -0
  64. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/required.json +0 -0
  65. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/type.json +0 -0
  66. data/JSON-Schema-Test-Suite/tests/{draft2019-08 → draft2019-09}/uniqueItems.json +84 -0
  67. data/JSON-Schema-Test-Suite/tests/draft3/format.json +362 -0
  68. data/JSON-Schema-Test-Suite/tests/draft3/optional/{jsregex.json → ecmascript-regex.json} +0 -0
  69. data/JSON-Schema-Test-Suite/tests/draft3/uniqueItems.json +84 -0
  70. data/JSON-Schema-Test-Suite/tests/draft4/format.json +218 -0
  71. data/JSON-Schema-Test-Suite/tests/draft4/optional/ecmascript-regex.json +200 -0
  72. data/JSON-Schema-Test-Suite/tests/draft4/uniqueItems.json +84 -0
  73. data/JSON-Schema-Test-Suite/tests/draft6/format.json +326 -0
  74. data/JSON-Schema-Test-Suite/tests/draft6/optional/ecmascript-regex.json +200 -0
  75. data/JSON-Schema-Test-Suite/tests/draft6/uniqueItems.json +84 -0
  76. data/JSON-Schema-Test-Suite/tests/draft7/format.json +614 -0
  77. data/JSON-Schema-Test-Suite/tests/draft7/optional/ecmascript-regex.json +200 -0
  78. data/JSON-Schema-Test-Suite/tests/draft7/uniqueItems.json +84 -0
  79. data/JSON-Schema-Test-Suite/tests/latest +1 -0
  80. data/JSON-Schema-Test-Suite/tox.ini +3 -2
  81. data/lib/json_schemer/format.rb +25 -58
  82. data/lib/json_schemer/version.rb +1 -1
  83. metadata +66 -59
  84. data/JSON-Schema-Test-Suite/tests/draft2019-08/optional/ecmascript-regex.json +0 -13
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cc49528384df791b69a3ece8516d588f385761f64328d3738f4432e5acb05d99
4
- data.tar.gz: 0a58ef039ec6d5236a0028bb1b4476c38763ea9d44a25f118a3aa3829ad559ef
3
+ metadata.gz: ac13fecc37f430b393d875cd262bf5186974b42573f50b8e8b5d90298e41916f
4
+ data.tar.gz: 388e7eeda51e99d0454c3832f04f342b69102982d7b559bc37c92ab312332c67
5
5
  SHA512:
6
- metadata.gz: 689fc86d72801d49e2baae326fd2ff0e2e36a6e3a14379ba9f00ceae74618b4cfb445797b52f0d558ec7ad96c0d02797c6e52eb0938e82fa465eb94128a38b79
7
- data.tar.gz: 68fff4ff624335455bec2d6273a81cbc9d995ffd94aa4e6cb82e5651375b2af9ea1a755e1c7e83aa87c2903f48cfd2006fdb47b6d653fe7cb92bb44e852435df
6
+ metadata.gz: 9372627c0131ecfcf88904050f0b85e1fa7e3f3ca1152ce20be7750146e0804b59d199540a560f04df6d912aba02229016432d9c2015008804f7cbe8b949034d
7
+ data.tar.gz: d9ea545392112f48393d78508ef383e807ffe34c041018bf461cfce51b46f638a57b3c8fd8b498beb8f3d4a1573cfc6719b16e4231d47639e7cc21e6d607d981
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- json_schemer (0.2.7)
4
+ json_schemer (0.2.8)
5
5
  ecma-re-validator (~> 0.2)
6
6
  hana (~> 1.3)
7
7
  regexp_parser (~> 1.5)
@@ -99,11 +99,13 @@ class SanityTests(unittest.TestCase):
99
99
 
100
100
  def test_all_descriptions_have_reasonable_length(self):
101
101
  for case in cases(self.test_files):
102
- descript = case["description"]
102
+ description = case["description"]
103
103
  self.assertLess(
104
- len(descript),
105
- 60,
106
- "%r is too long! (keep it to less than 60 chars)" % (descript,)
104
+ len(description),
105
+ 70,
106
+ "%r is too long! (keep it to less than 70 chars)" % (
107
+ description,
108
+ ),
107
109
  )
108
110
 
109
111
  def test_all_descriptions_are_unique(self):
@@ -217,8 +219,9 @@ def main(arguments):
217
219
  if e.errno != errno.EEXIST:
218
220
  raise
219
221
 
220
- with open(filepath, "wb") as out_file:
222
+ with open(filepath, "w") as out_file:
221
223
  json.dump(schema, out_file, indent=4, sort_keys=True)
224
+ out_file.write("\n")
222
225
  elif arguments.command == "serve":
223
226
  try:
224
227
  from flask import Flask, jsonify
@@ -1,3 +1,3 @@
1
1
  {
2
2
  "type": "integer"
3
- }
3
+ }
@@ -1,3 +1,3 @@
1
1
  {
2
2
  "type": "integer"
3
- }
3
+ }
@@ -2,8 +2,12 @@
2
2
  "$defs": {
3
3
  "orNull": {
4
4
  "anyOf": [
5
- {"type": "null"},
6
- {"$ref": "#"}
5
+ {
6
+ "type": "null"
7
+ },
8
+ {
9
+ "$ref": "#"
10
+ }
7
11
  ]
8
12
  }
9
13
  },
@@ -2,8 +2,12 @@
2
2
  "definitions": {
3
3
  "orNull": {
4
4
  "anyOf": [
5
- {"type": "null"},
6
- {"$ref": "#"}
5
+ {
6
+ "type": "null"
7
+ },
8
+ {
9
+ "$ref": "#"
10
+ }
7
11
  ]
8
12
  }
9
13
  },
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "integer": {
3
3
  "type": "integer"
4
- },
4
+ },
5
5
  "refToInteger": {
6
6
  "$ref": "#/integer"
7
7
  }
8
- }
8
+ }
@@ -0,0 +1,87 @@
1
+ [
2
+ {
3
+ "description": "Location-independent identifier",
4
+ "schema": {
5
+ "allOf": [{
6
+ "$ref": "#foo"
7
+ }],
8
+ "$defs": {
9
+ "A": {
10
+ "$anchor": "foo",
11
+ "type": "integer"
12
+ }
13
+ }
14
+ },
15
+ "tests": [
16
+ {
17
+ "data": 1,
18
+ "description": "match",
19
+ "valid": true
20
+ },
21
+ {
22
+ "data": "a",
23
+ "description": "mismatch",
24
+ "valid": false
25
+ }
26
+ ]
27
+ },
28
+ {
29
+ "description": "Location-independent identifier with absolute URI",
30
+ "schema": {
31
+ "allOf": [{
32
+ "$ref": "http://localhost:1234/bar#foo"
33
+ }],
34
+ "$defs": {
35
+ "A": {
36
+ "$id": "http://localhost:1234/bar",
37
+ "$anchor": "foo",
38
+ "type": "integer"
39
+ }
40
+ }
41
+ },
42
+ "tests": [
43
+ {
44
+ "data": 1,
45
+ "description": "match",
46
+ "valid": true
47
+ },
48
+ {
49
+ "data": "a",
50
+ "description": "mismatch",
51
+ "valid": false
52
+ }
53
+ ]
54
+ },
55
+ {
56
+ "description": "Location-independent identifier with base URI change in subschema",
57
+ "schema": {
58
+ "$id": "http://localhost:1234/root",
59
+ "allOf": [{
60
+ "$ref": "http://localhost:1234/nested.json#foo"
61
+ }],
62
+ "$defs": {
63
+ "A": {
64
+ "$id": "nested.json",
65
+ "$defs": {
66
+ "B": {
67
+ "$anchor": "foo",
68
+ "type": "integer"
69
+ }
70
+ }
71
+ }
72
+ }
73
+ },
74
+ "tests": [
75
+ {
76
+ "data": 1,
77
+ "description": "match",
78
+ "valid": true
79
+ },
80
+ {
81
+ "data": "a",
82
+ "description": "mismatch",
83
+ "valid": false
84
+ }
85
+ ]
86
+ }
87
+ ]
@@ -1,7 +1,7 @@
1
1
  [
2
2
  {
3
3
  "description": "valid definition",
4
- "schema": {"$ref": "http://json-schema.org/draft/2019-06/schema#"},
4
+ "schema": {"$ref": "https://json-schema.org/draft/2019-09/schema"},
5
5
  "tests": [
6
6
  {
7
7
  "description": "valid definition schema",
@@ -12,7 +12,7 @@
12
12
  },
13
13
  {
14
14
  "description": "invalid definition",
15
- "schema": {"$ref": "http://json-schema.org/draft/2019-06/schema#"},
15
+ "schema": {"$ref": "https://json-schema.org/draft/2019-09/schema"},
16
16
  "tests": [
17
17
  {
18
18
  "description": "invalid definition schema",
@@ -0,0 +1,614 @@
1
+ [
2
+ {
3
+ "description": "validation of e-mail addresses",
4
+ "schema": {"format": "email"},
5
+ "tests": [
6
+ {
7
+ "description": "ignores integers",
8
+ "data": 12,
9
+ "valid": true
10
+ },
11
+ {
12
+ "description": "ignores floats",
13
+ "data": 13.7,
14
+ "valid": true
15
+ },
16
+ {
17
+ "description": "ignores objects",
18
+ "data": {},
19
+ "valid": true
20
+ },
21
+ {
22
+ "description": "ignores arrays",
23
+ "data": [],
24
+ "valid": true
25
+ },
26
+ {
27
+ "description": "ignores booleans",
28
+ "data": false,
29
+ "valid": true
30
+ },
31
+ {
32
+ "description": "ignores null",
33
+ "data": null,
34
+ "valid": true
35
+ }
36
+ ]
37
+ },
38
+ {
39
+ "description": "validation of IDN e-mail addresses",
40
+ "schema": {"format": "idn-email"},
41
+ "tests": [
42
+ {
43
+ "description": "ignores integers",
44
+ "data": 12,
45
+ "valid": true
46
+ },
47
+ {
48
+ "description": "ignores floats",
49
+ "data": 13.7,
50
+ "valid": true
51
+ },
52
+ {
53
+ "description": "ignores objects",
54
+ "data": {},
55
+ "valid": true
56
+ },
57
+ {
58
+ "description": "ignores arrays",
59
+ "data": [],
60
+ "valid": true
61
+ },
62
+ {
63
+ "description": "ignores booleans",
64
+ "data": false,
65
+ "valid": true
66
+ },
67
+ {
68
+ "description": "ignores null",
69
+ "data": null,
70
+ "valid": true
71
+ }
72
+ ]
73
+ },
74
+ {
75
+ "description": "validation of regexes",
76
+ "schema": {"format": "regex"},
77
+ "tests": [
78
+ {
79
+ "description": "ignores integers",
80
+ "data": 12,
81
+ "valid": true
82
+ },
83
+ {
84
+ "description": "ignores floats",
85
+ "data": 13.7,
86
+ "valid": true
87
+ },
88
+ {
89
+ "description": "ignores objects",
90
+ "data": {},
91
+ "valid": true
92
+ },
93
+ {
94
+ "description": "ignores arrays",
95
+ "data": [],
96
+ "valid": true
97
+ },
98
+ {
99
+ "description": "ignores booleans",
100
+ "data": false,
101
+ "valid": true
102
+ },
103
+ {
104
+ "description": "ignores null",
105
+ "data": null,
106
+ "valid": true
107
+ }
108
+ ]
109
+ },
110
+ {
111
+ "description": "validation of IP addresses",
112
+ "schema": {"format": "ipv4"},
113
+ "tests": [
114
+ {
115
+ "description": "ignores integers",
116
+ "data": 12,
117
+ "valid": true
118
+ },
119
+ {
120
+ "description": "ignores floats",
121
+ "data": 13.7,
122
+ "valid": true
123
+ },
124
+ {
125
+ "description": "ignores objects",
126
+ "data": {},
127
+ "valid": true
128
+ },
129
+ {
130
+ "description": "ignores arrays",
131
+ "data": [],
132
+ "valid": true
133
+ },
134
+ {
135
+ "description": "ignores booleans",
136
+ "data": false,
137
+ "valid": true
138
+ },
139
+ {
140
+ "description": "ignores null",
141
+ "data": null,
142
+ "valid": true
143
+ }
144
+ ]
145
+ },
146
+ {
147
+ "description": "validation of IPv6 addresses",
148
+ "schema": {"format": "ipv6"},
149
+ "tests": [
150
+ {
151
+ "description": "ignores integers",
152
+ "data": 12,
153
+ "valid": true
154
+ },
155
+ {
156
+ "description": "ignores floats",
157
+ "data": 13.7,
158
+ "valid": true
159
+ },
160
+ {
161
+ "description": "ignores objects",
162
+ "data": {},
163
+ "valid": true
164
+ },
165
+ {
166
+ "description": "ignores arrays",
167
+ "data": [],
168
+ "valid": true
169
+ },
170
+ {
171
+ "description": "ignores booleans",
172
+ "data": false,
173
+ "valid": true
174
+ },
175
+ {
176
+ "description": "ignores null",
177
+ "data": null,
178
+ "valid": true
179
+ }
180
+ ]
181
+ },
182
+ {
183
+ "description": "validation of IDN hostnames",
184
+ "schema": {"format": "idn-hostname"},
185
+ "tests": [
186
+ {
187
+ "description": "ignores integers",
188
+ "data": 12,
189
+ "valid": true
190
+ },
191
+ {
192
+ "description": "ignores floats",
193
+ "data": 13.7,
194
+ "valid": true
195
+ },
196
+ {
197
+ "description": "ignores objects",
198
+ "data": {},
199
+ "valid": true
200
+ },
201
+ {
202
+ "description": "ignores arrays",
203
+ "data": [],
204
+ "valid": true
205
+ },
206
+ {
207
+ "description": "ignores booleans",
208
+ "data": false,
209
+ "valid": true
210
+ },
211
+ {
212
+ "description": "ignores null",
213
+ "data": null,
214
+ "valid": true
215
+ }
216
+ ]
217
+ },
218
+ {
219
+ "description": "validation of hostnames",
220
+ "schema": {"format": "hostname"},
221
+ "tests": [
222
+ {
223
+ "description": "ignores integers",
224
+ "data": 12,
225
+ "valid": true
226
+ },
227
+ {
228
+ "description": "ignores floats",
229
+ "data": 13.7,
230
+ "valid": true
231
+ },
232
+ {
233
+ "description": "ignores objects",
234
+ "data": {},
235
+ "valid": true
236
+ },
237
+ {
238
+ "description": "ignores arrays",
239
+ "data": [],
240
+ "valid": true
241
+ },
242
+ {
243
+ "description": "ignores booleans",
244
+ "data": false,
245
+ "valid": true
246
+ },
247
+ {
248
+ "description": "ignores null",
249
+ "data": null,
250
+ "valid": true
251
+ }
252
+ ]
253
+ },
254
+ {
255
+ "description": "validation of date strings",
256
+ "schema": {"format": "date"},
257
+ "tests": [
258
+ {
259
+ "description": "ignores integers",
260
+ "data": 12,
261
+ "valid": true
262
+ },
263
+ {
264
+ "description": "ignores floats",
265
+ "data": 13.7,
266
+ "valid": true
267
+ },
268
+ {
269
+ "description": "ignores objects",
270
+ "data": {},
271
+ "valid": true
272
+ },
273
+ {
274
+ "description": "ignores arrays",
275
+ "data": [],
276
+ "valid": true
277
+ },
278
+ {
279
+ "description": "ignores booleans",
280
+ "data": false,
281
+ "valid": true
282
+ },
283
+ {
284
+ "description": "ignores null",
285
+ "data": null,
286
+ "valid": true
287
+ }
288
+ ]
289
+ },
290
+ {
291
+ "description": "validation of date-time strings",
292
+ "schema": {"format": "date-time"},
293
+ "tests": [
294
+ {
295
+ "description": "ignores integers",
296
+ "data": 12,
297
+ "valid": true
298
+ },
299
+ {
300
+ "description": "ignores floats",
301
+ "data": 13.7,
302
+ "valid": true
303
+ },
304
+ {
305
+ "description": "ignores objects",
306
+ "data": {},
307
+ "valid": true
308
+ },
309
+ {
310
+ "description": "ignores arrays",
311
+ "data": [],
312
+ "valid": true
313
+ },
314
+ {
315
+ "description": "ignores booleans",
316
+ "data": false,
317
+ "valid": true
318
+ },
319
+ {
320
+ "description": "ignores null",
321
+ "data": null,
322
+ "valid": true
323
+ }
324
+ ]
325
+ },
326
+ {
327
+ "description": "validation of time strings",
328
+ "schema": {"format": "time"},
329
+ "tests": [
330
+ {
331
+ "description": "ignores integers",
332
+ "data": 12,
333
+ "valid": true
334
+ },
335
+ {
336
+ "description": "ignores floats",
337
+ "data": 13.7,
338
+ "valid": true
339
+ },
340
+ {
341
+ "description": "ignores objects",
342
+ "data": {},
343
+ "valid": true
344
+ },
345
+ {
346
+ "description": "ignores arrays",
347
+ "data": [],
348
+ "valid": true
349
+ },
350
+ {
351
+ "description": "ignores booleans",
352
+ "data": false,
353
+ "valid": true
354
+ },
355
+ {
356
+ "description": "ignores null",
357
+ "data": null,
358
+ "valid": true
359
+ }
360
+ ]
361
+ },
362
+ {
363
+ "description": "validation of JSON pointers",
364
+ "schema": {"format": "json-pointer"},
365
+ "tests": [
366
+ {
367
+ "description": "ignores integers",
368
+ "data": 12,
369
+ "valid": true
370
+ },
371
+ {
372
+ "description": "ignores floats",
373
+ "data": 13.7,
374
+ "valid": true
375
+ },
376
+ {
377
+ "description": "ignores objects",
378
+ "data": {},
379
+ "valid": true
380
+ },
381
+ {
382
+ "description": "ignores arrays",
383
+ "data": [],
384
+ "valid": true
385
+ },
386
+ {
387
+ "description": "ignores booleans",
388
+ "data": false,
389
+ "valid": true
390
+ },
391
+ {
392
+ "description": "ignores null",
393
+ "data": null,
394
+ "valid": true
395
+ }
396
+ ]
397
+ },
398
+ {
399
+ "description": "validation of relative JSON pointers",
400
+ "schema": {"format": "relative-json-pointer"},
401
+ "tests": [
402
+ {
403
+ "description": "ignores integers",
404
+ "data": 12,
405
+ "valid": true
406
+ },
407
+ {
408
+ "description": "ignores floats",
409
+ "data": 13.7,
410
+ "valid": true
411
+ },
412
+ {
413
+ "description": "ignores objects",
414
+ "data": {},
415
+ "valid": true
416
+ },
417
+ {
418
+ "description": "ignores arrays",
419
+ "data": [],
420
+ "valid": true
421
+ },
422
+ {
423
+ "description": "ignores booleans",
424
+ "data": false,
425
+ "valid": true
426
+ },
427
+ {
428
+ "description": "ignores null",
429
+ "data": null,
430
+ "valid": true
431
+ }
432
+ ]
433
+ },
434
+ {
435
+ "description": "validation of IRIs",
436
+ "schema": {"format": "iri"},
437
+ "tests": [
438
+ {
439
+ "description": "ignores integers",
440
+ "data": 12,
441
+ "valid": true
442
+ },
443
+ {
444
+ "description": "ignores floats",
445
+ "data": 13.7,
446
+ "valid": true
447
+ },
448
+ {
449
+ "description": "ignores objects",
450
+ "data": {},
451
+ "valid": true
452
+ },
453
+ {
454
+ "description": "ignores arrays",
455
+ "data": [],
456
+ "valid": true
457
+ },
458
+ {
459
+ "description": "ignores booleans",
460
+ "data": false,
461
+ "valid": true
462
+ },
463
+ {
464
+ "description": "ignores null",
465
+ "data": null,
466
+ "valid": true
467
+ }
468
+ ]
469
+ },
470
+ {
471
+ "description": "validation of IRI references",
472
+ "schema": {"format": "iri-reference"},
473
+ "tests": [
474
+ {
475
+ "description": "ignores integers",
476
+ "data": 12,
477
+ "valid": true
478
+ },
479
+ {
480
+ "description": "ignores floats",
481
+ "data": 13.7,
482
+ "valid": true
483
+ },
484
+ {
485
+ "description": "ignores objects",
486
+ "data": {},
487
+ "valid": true
488
+ },
489
+ {
490
+ "description": "ignores arrays",
491
+ "data": [],
492
+ "valid": true
493
+ },
494
+ {
495
+ "description": "ignores booleans",
496
+ "data": false,
497
+ "valid": true
498
+ },
499
+ {
500
+ "description": "ignores null",
501
+ "data": null,
502
+ "valid": true
503
+ }
504
+ ]
505
+ },
506
+ {
507
+ "description": "validation of URIs",
508
+ "schema": {"format": "uri"},
509
+ "tests": [
510
+ {
511
+ "description": "ignores integers",
512
+ "data": 12,
513
+ "valid": true
514
+ },
515
+ {
516
+ "description": "ignores floats",
517
+ "data": 13.7,
518
+ "valid": true
519
+ },
520
+ {
521
+ "description": "ignores objects",
522
+ "data": {},
523
+ "valid": true
524
+ },
525
+ {
526
+ "description": "ignores arrays",
527
+ "data": [],
528
+ "valid": true
529
+ },
530
+ {
531
+ "description": "ignores booleans",
532
+ "data": false,
533
+ "valid": true
534
+ },
535
+ {
536
+ "description": "ignores null",
537
+ "data": null,
538
+ "valid": true
539
+ }
540
+ ]
541
+ },
542
+ {
543
+ "description": "validation of URI references",
544
+ "schema": {"format": "uri-reference"},
545
+ "tests": [
546
+ {
547
+ "description": "ignores integers",
548
+ "data": 12,
549
+ "valid": true
550
+ },
551
+ {
552
+ "description": "ignores floats",
553
+ "data": 13.7,
554
+ "valid": true
555
+ },
556
+ {
557
+ "description": "ignores objects",
558
+ "data": {},
559
+ "valid": true
560
+ },
561
+ {
562
+ "description": "ignores arrays",
563
+ "data": [],
564
+ "valid": true
565
+ },
566
+ {
567
+ "description": "ignores booleans",
568
+ "data": false,
569
+ "valid": true
570
+ },
571
+ {
572
+ "description": "ignores null",
573
+ "data": null,
574
+ "valid": true
575
+ }
576
+ ]
577
+ },
578
+ {
579
+ "description": "validation of URI templates",
580
+ "schema": {"format": "uri-template"},
581
+ "tests": [
582
+ {
583
+ "description": "ignores integers",
584
+ "data": 12,
585
+ "valid": true
586
+ },
587
+ {
588
+ "description": "ignores floats",
589
+ "data": 13.7,
590
+ "valid": true
591
+ },
592
+ {
593
+ "description": "ignores objects",
594
+ "data": {},
595
+ "valid": true
596
+ },
597
+ {
598
+ "description": "ignores arrays",
599
+ "data": [],
600
+ "valid": true
601
+ },
602
+ {
603
+ "description": "ignores booleans",
604
+ "data": false,
605
+ "valid": true
606
+ },
607
+ {
608
+ "description": "ignores null",
609
+ "data": null,
610
+ "valid": true
611
+ }
612
+ ]
613
+ }
614
+ ]