Skip to content

Commit f57c1a1

Browse files
committed
Use constant version lists
1 parent 46a0aad commit f57c1a1

File tree

1 file changed

+81
-151
lines changed

1 file changed

+81
-151
lines changed

tests/test.rs renamed to tests/v1_schema_test.rs

Lines changed: 81 additions & 151 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,83 @@ fn test_v1_tags() -> Result<(), Box<dyn Error>> {
231231
Ok(())
232232
}
233233

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+
234311
#[test]
235312
fn test_v1_version() -> Result<(), Box<dyn Error>> {
236313
// Load the schemas and compile the version schema.
@@ -240,87 +317,14 @@ fn test_v1_version() -> Result<(), Box<dyn Error>> {
240317
let idx = compiler.compile(&id, &mut schemas)?;
241318

242319
// 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 {
275321
let vv = json!(valid_version);
276322
if let Err(e) = schemas.validate(&vv, idx) {
277323
panic!("extension {} failed: {e}", valid_version);
278324
}
279325
}
280326

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 {
324328
let iv = json!(invalid_version);
325329
if schemas.validate(&iv, idx).is_ok() {
326330
panic!("{} unexpectedly passed!", invalid_version)
@@ -338,39 +342,7 @@ fn test_v1_version_range() -> Result<(), Box<dyn Error>> {
338342
let id = format!("{SCHEMA_BASE}/version_range.schema.json");
339343
let idx = compiler.compile(&id, &mut schemas)?;
340344

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 {
374346
for op in ["", "==", "!=", ">", "<", ">=", "<="] {
375347
for append in [
376348
"",
@@ -414,49 +386,7 @@ fn test_v1_version_range() -> Result<(), Box<dyn Error>> {
414386
}
415387
}
416388

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 {
460390
for op in ["", "==", "!=", ">", "<", ">=", "<="] {
461391
for append in [
462392
"",

0 commit comments

Comments
 (0)