@@ -231,6 +231,83 @@ fn test_v1_tags() -> Result<(), Box<dyn Error>> {
231
231
Ok ( ( ) )
232
232
}
233
233
234
+ // https://regex101.com/r/Ly7O1x/3/
235
+ const VALID_VERSIONS : & [ & str ] = & [
236
+ "0.0.4" ,
237
+ "1.2.3" ,
238
+ "10.20.30" ,
239
+ "1.1.2-prerelease+meta" ,
240
+ "1.1.2+meta" ,
241
+ "1.1.2+meta-valid" ,
242
+ "1.0.0-alpha" ,
243
+ "1.0.0-beta" ,
244
+ "1.0.0-alpha.beta" ,
245
+ "1.0.0-alpha.beta.1" ,
246
+ "1.0.0-alpha.1" ,
247
+ "1.0.0-alpha0.valid" ,
248
+ "1.0.0-alpha.0valid" ,
249
+ "1.0.0-alpha-a.b-c-somethinglong+build.1-aef.1-its-okay" ,
250
+ "1.0.0-rc.1+build.1" ,
251
+ "2.0.0-rc.1+build.123" ,
252
+ "1.2.3-beta" ,
253
+ "10.2.3-DEV-SNAPSHOT" ,
254
+ "1.2.3-SNAPSHOT-123" ,
255
+ "1.0.0" ,
256
+ "2.0.0" ,
257
+ "1.1.7" ,
258
+ "2.0.0+build.1848" ,
259
+ "2.0.1-alpha.1227" ,
260
+ "1.0.0-alpha+beta" ,
261
+ "1.2.3----RC-SNAPSHOT.12.9.1--.12+788" ,
262
+ "1.2.3----R-S.12.9.1--.12+meta" ,
263
+ "1.2.3----RC-SNAPSHOT.12.9.1--.12" ,
264
+ "1.0.0+0.build.1-rc.10000aaa-kk-0.1" ,
265
+ "1.0.0-0A.is.legal" ,
266
+ ] ;
267
+
268
+ const INVALID_VERSIONS : & [ & str ] = & [
269
+ "1" ,
270
+ "1.2" ,
271
+ "1.2.3-0123" ,
272
+ "1.2.3-0123.0123" ,
273
+ "1.1.2+.123" ,
274
+ "+invalid" ,
275
+ "-invalid" ,
276
+ "-invalid+invalid" ,
277
+ "-invalid.01" ,
278
+ "alpha" ,
279
+ "alpha.beta" ,
280
+ "alpha.beta.1" ,
281
+ "alpha.1" ,
282
+ "alpha+beta" ,
283
+ "alpha_beta" ,
284
+ "alpha." ,
285
+ "alpha.." ,
286
+ "beta" ,
287
+ "1.0.0-alpha_beta" ,
288
+ "-alpha." ,
289
+ "1.0.0-alpha.." ,
290
+ "1.0.0-alpha..1" ,
291
+ "1.0.0-alpha...1" ,
292
+ "1.0.0-alpha....1" ,
293
+ "1.0.0-alpha.....1" ,
294
+ "1.0.0-alpha......1" ,
295
+ "1.0.0-alpha.......1" ,
296
+ "01.1.1" ,
297
+ "1.01.1" ,
298
+ "1.1.01" ,
299
+ "1.2" ,
300
+ "1.2.3.DEV" ,
301
+ "1.2-SNAPSHOT" ,
302
+ "1.2.31.2.3----RC-SNAPSHOT.12.09.1--..12+788" ,
303
+ "1.2-RC-SNAPSHOT" ,
304
+ "-1.0.3-gamma+b7718" ,
305
+ "+justmeta" ,
306
+ "9.8.7+meta+meta" ,
307
+ "9.8.7-whatever+meta+meta" ,
308
+ "99999999999999999999999.999999999999999999.99999999999999999----RC-SNAPSHOT.12.09.1--------------------------------..12" ,
309
+ ] ;
310
+
234
311
#[ test]
235
312
fn test_v1_version ( ) -> Result < ( ) , Box < dyn Error > > {
236
313
// Load the schemas and compile the version schema.
@@ -240,87 +317,14 @@ fn test_v1_version() -> Result<(), Box<dyn Error>> {
240
317
let idx = compiler. compile ( & id, & mut schemas) ?;
241
318
242
319
// https://regex101.com/r/Ly7O1x/3/
243
- for valid_version in [
244
- "0.0.4" ,
245
- "1.2.3" ,
246
- "10.20.30" ,
247
- "1.1.2-prerelease+meta" ,
248
- "1.1.2+meta" ,
249
- "1.1.2+meta-valid" ,
250
- "1.0.0-alpha" ,
251
- "1.0.0-beta" ,
252
- "1.0.0-alpha.beta" ,
253
- "1.0.0-alpha.beta.1" ,
254
- "1.0.0-alpha.1" ,
255
- "1.0.0-alpha0.valid" ,
256
- "1.0.0-alpha.0valid" ,
257
- "1.0.0-alpha-a.b-c-somethinglong+build.1-aef.1-its-okay" ,
258
- "1.0.0-rc.1+build.1" ,
259
- "2.0.0-rc.1+build.123" ,
260
- "1.2.3-beta" ,
261
- "10.2.3-DEV-SNAPSHOT" ,
262
- "1.2.3-SNAPSHOT-123" ,
263
- "1.0.0" ,
264
- "2.0.0" ,
265
- "1.1.7" ,
266
- "2.0.0+build.1848" ,
267
- "2.0.1-alpha.1227" ,
268
- "1.0.0-alpha+beta" ,
269
- "1.2.3----RC-SNAPSHOT.12.9.1--.12+788" ,
270
- "1.2.3----R-S.12.9.1--.12+meta" ,
271
- "1.2.3----RC-SNAPSHOT.12.9.1--.12" ,
272
- "1.0.0+0.build.1-rc.10000aaa-kk-0.1" ,
273
- "1.0.0-0A.is.legal" ,
274
- ] {
320
+ for valid_version in VALID_VERSIONS {
275
321
let vv = json ! ( valid_version) ;
276
322
if let Err ( e) = schemas. validate ( & vv, idx) {
277
323
panic ! ( "extension {} failed: {e}" , valid_version) ;
278
324
}
279
325
}
280
326
281
- for invalid_version in [
282
- "1" ,
283
- "1.2" ,
284
- "1.2.3-0123" ,
285
- "1.2.3-0123.0123" ,
286
- "1.1.2+.123" ,
287
- "+invalid" ,
288
- "-invalid" ,
289
- "-invalid+invalid" ,
290
- "-invalid.01" ,
291
- "alpha" ,
292
- "alpha.beta" ,
293
- "alpha.beta.1" ,
294
- "alpha.1" ,
295
- "alpha+beta" ,
296
- "alpha_beta" ,
297
- "alpha." ,
298
- "alpha.." ,
299
- "beta" ,
300
- "1.0.0-alpha_beta" ,
301
- "-alpha." ,
302
- "1.0.0-alpha.." ,
303
- "1.0.0-alpha..1" ,
304
- "1.0.0-alpha...1" ,
305
- "1.0.0-alpha....1" ,
306
- "1.0.0-alpha.....1" ,
307
- "1.0.0-alpha......1" ,
308
- "1.0.0-alpha.......1" ,
309
- "01.1.1" ,
310
- "1.01.1" ,
311
- "1.1.01" ,
312
- "1.2" ,
313
- "1.2.3.DEV" ,
314
- "1.2-SNAPSHOT" ,
315
- "1.2.31.2.3----RC-SNAPSHOT.12.09.1--..12+788" ,
316
- "1.2-RC-SNAPSHOT" ,
317
- "-1.0.3-gamma+b7718" ,
318
- "+justmeta" ,
319
- "9.8.7+meta+meta" ,
320
- "9.8.7-whatever+meta+meta" ,
321
- "99999999999999999999999.999999999999999999.99999999999999999----RC-SNAPSHOT.12.09.1--------------------------------..12" ,
322
-
323
- ] {
327
+ for invalid_version in INVALID_VERSIONS {
324
328
let iv = json ! ( invalid_version) ;
325
329
if schemas. validate ( & iv, idx) . is_ok ( ) {
326
330
panic ! ( "{} unexpectedly passed!" , invalid_version)
@@ -338,39 +342,7 @@ fn test_v1_version_range() -> Result<(), Box<dyn Error>> {
338
342
let id = format ! ( "{SCHEMA_BASE}/version_range.schema.json" ) ;
339
343
let idx = compiler. compile ( & id, & mut schemas) ?;
340
344
341
- // https://regex101.com/r/Ly7O1x/3/
342
- for valid_version in [
343
- "0.0.4" ,
344
- "1.2.3" ,
345
- "10.20.30" ,
346
- "1.1.2-prerelease+meta" ,
347
- "1.1.2+meta" ,
348
- "1.1.2+meta-valid" ,
349
- "1.0.0-alpha" ,
350
- "1.0.0-beta" ,
351
- "1.0.0-alpha.beta" ,
352
- "1.0.0-alpha.beta.1" ,
353
- "1.0.0-alpha.1" ,
354
- "1.0.0-alpha0.valid" ,
355
- "1.0.0-alpha.0valid" ,
356
- "1.0.0-alpha-a.b-c-somethinglong+build.1-aef.1-its-okay" ,
357
- "1.0.0-rc.1+build.1" ,
358
- "2.0.0-rc.1+build.123" ,
359
- "1.2.3-beta" ,
360
- "10.2.3-DEV-SNAPSHOT" ,
361
- "1.2.3-SNAPSHOT-123" ,
362
- "1.0.0" ,
363
- "2.0.0" ,
364
- "1.1.7" ,
365
- "2.0.0+build.1848" ,
366
- "2.0.1-alpha.1227" ,
367
- "1.0.0-alpha+beta" ,
368
- "1.2.3----RC-SNAPSHOT.12.9.1--.12+788" ,
369
- "1.2.3----R-S.12.9.1--.12+meta" ,
370
- "1.2.3----RC-SNAPSHOT.12.9.1--.12" ,
371
- "1.0.0+0.build.1-rc.10000aaa-kk-0.1" ,
372
- "1.0.0-0A.is.legal" ,
373
- ] {
345
+ for valid_version in VALID_VERSIONS {
374
346
for op in [ "" , "==" , "!=" , ">" , "<" , ">=" , "<=" ] {
375
347
for append in [
376
348
"" ,
@@ -414,49 +386,7 @@ fn test_v1_version_range() -> Result<(), Box<dyn Error>> {
414
386
}
415
387
}
416
388
417
- for invalid_version in [
418
- "1" ,
419
- "1.2" ,
420
- "1.2.3-0123" ,
421
- "1.2.3-0123.0123" ,
422
- "1.1.2+.123" ,
423
- "+invalid" ,
424
- "-invalid" ,
425
- "-invalid+invalid" ,
426
- "-invalid.01" ,
427
- "alpha" ,
428
- "alpha.beta" ,
429
- "alpha.beta.1" ,
430
- "alpha.1" ,
431
- "alpha+beta" ,
432
- "alpha_beta" ,
433
- "alpha." ,
434
- "alpha.." ,
435
- "beta" ,
436
- "1.0.0-alpha_beta" ,
437
- "-alpha." ,
438
- "1.0.0-alpha.." ,
439
- "1.0.0-alpha..1" ,
440
- "1.0.0-alpha...1" ,
441
- "1.0.0-alpha....1" ,
442
- "1.0.0-alpha.....1" ,
443
- "1.0.0-alpha......1" ,
444
- "1.0.0-alpha.......1" ,
445
- "01.1.1" ,
446
- "1.01.1" ,
447
- "1.1.01" ,
448
- "1.2" ,
449
- "1.2.3.DEV" ,
450
- "1.2-SNAPSHOT" ,
451
- "1.2.31.2.3----RC-SNAPSHOT.12.09.1--..12+788" ,
452
- "1.2-RC-SNAPSHOT" ,
453
- "-1.0.3-gamma+b7718" ,
454
- "+justmeta" ,
455
- "9.8.7+meta+meta" ,
456
- "9.8.7-whatever+meta+meta" ,
457
- "99999999999999999999999.999999999999999999.99999999999999999----RC-SNAPSHOT.12.09.1--------------------------------..12" ,
458
-
459
- ] {
389
+ for invalid_version in INVALID_VERSIONS {
460
390
for op in [ "" , "==" , "!=" , ">" , "<" , ">=" , "<=" ] {
461
391
for append in [
462
392
"" ,
0 commit comments