|
16 | 16 |
|
17 | 17 |
|
18 | 18 | @pytest.mark.parametrize( |
19 | | - "text,version", |
| 19 | + "text,version,normalized", |
20 | 20 | [ |
21 | | - ("1.0.0", Version.from_parts(1, 0, 0)), |
22 | | - ("1", Version.from_parts(1, 0, 0)), |
23 | | - ("1.0", Version.from_parts(1, 0, 0)), |
24 | | - ("1b1", Version.from_parts(1, 0, 0, pre=ReleaseTag("beta", 1))), |
25 | | - ("1.0b1", Version.from_parts(1, 0, 0, pre=ReleaseTag("beta", 1))), |
26 | | - ("1.0.0b1", Version.from_parts(1, 0, 0, pre=ReleaseTag("beta", 1))), |
27 | | - ("1.0.0-b1", Version.from_parts(1, 0, 0, pre=ReleaseTag("beta", 1))), |
28 | | - ("1.0.0-beta.1", Version.from_parts(1, 0, 0, pre=ReleaseTag("beta", 1))), |
29 | | - ("1.0.0+1", Version.from_parts(1, 0, 0, local=1)), |
30 | | - ("1.0.0-1", Version.from_parts(1, 0, 0, post=ReleaseTag("post", 1))), |
31 | | - ("1.0.0.0", Version.from_parts(1, 0, 0, extra=0)), |
32 | | - ("1.0.0-post", Version.from_parts(1, 0, 0, post=ReleaseTag("post"))), |
33 | | - ("1.0.0-post1", Version.from_parts(1, 0, 0, post=ReleaseTag("post", 1))), |
34 | | - ("0.6c", Version.from_parts(0, 6, 0, pre=ReleaseTag("rc", 0))), |
35 | | - ("0.6pre", Version.from_parts(0, 6, 0, pre=ReleaseTag("preview", 0))), |
36 | | - ("1!2.3.4", Version.from_parts(2, 3, 4, epoch=1)), |
| 21 | + ("1.0.0", Version.from_parts(1, 0, 0), "1.0.0"), |
| 22 | + ("1", Version.from_parts(1, 0, 0), "1"), |
| 23 | + ("1.0", Version.from_parts(1, 0, 0), "1.0"), |
| 24 | + ("1b1", Version.from_parts(1, 0, 0, pre=ReleaseTag("beta", 1)), "1b1"), |
| 25 | + ("1.0b1", Version.from_parts(1, 0, 0, pre=ReleaseTag("beta", 1)), "1.0b1"), |
| 26 | + ("1.0.0b1", Version.from_parts(1, 0, 0, pre=ReleaseTag("beta", 1)), "1.0.0b1"), |
| 27 | + ("1.0.0-b1", Version.from_parts(1, 0, 0, pre=ReleaseTag("beta", 1)), "1.0.0b1"), |
| 28 | + ( |
| 29 | + "1.0.0-beta.1", |
| 30 | + Version.from_parts(1, 0, 0, pre=ReleaseTag("beta", 1)), |
| 31 | + "1.0.0b1", |
| 32 | + ), |
| 33 | + ("1.0.0+1", Version.from_parts(1, 0, 0, local=1), "1.0.0+1"), |
| 34 | + ( |
| 35 | + "1.0.0-1", |
| 36 | + Version.from_parts(1, 0, 0, post=ReleaseTag("post", 1)), |
| 37 | + "1.0.0.post1", |
| 38 | + ), |
| 39 | + ("1.0.0.0", Version.from_parts(1, 0, 0, extra=0), "1.0.0.0"), |
| 40 | + ( |
| 41 | + "1.0.0-post", |
| 42 | + Version.from_parts(1, 0, 0, post=ReleaseTag("post")), |
| 43 | + "1.0.0.post0", |
| 44 | + ), |
| 45 | + ( |
| 46 | + "1.0.0-post1", |
| 47 | + Version.from_parts(1, 0, 0, post=ReleaseTag("post", 1)), |
| 48 | + "1.0.0.post1", |
| 49 | + ), |
| 50 | + ("0.6c", Version.from_parts(0, 6, 0, pre=ReleaseTag("rc", 0)), "0.6rc0"), |
| 51 | + ("0.6pre", Version.from_parts(0, 6, 0, pre=ReleaseTag("preview", 0)), "0.6rc0"), |
| 52 | + ("1!2.3.4", Version.from_parts(2, 3, 4, epoch=1), "1!2.3.4"), |
37 | 53 | ], |
38 | 54 | ) |
39 | | -def test_parse_valid(text: str, version: Version) -> None: |
| 55 | +def test_parse_valid(text: str, version: Version, normalized: str) -> None: |
40 | 56 | parsed = Version.parse(text) |
41 | 57 |
|
42 | 58 | assert parsed == version |
43 | | - assert parsed.text == text |
| 59 | + assert parsed.text == normalized |
44 | 60 |
|
45 | 61 |
|
46 | 62 | @pytest.mark.parametrize("value", [None, "example"]) |
|
0 commit comments