|
3 | 3 | from __future__ import annotations
|
4 | 4 |
|
5 | 5 | from time import sleep
|
6 |
| -from typing import TYPE_CHECKING |
| 6 | +from typing import TYPE_CHECKING, Literal |
7 | 7 |
|
8 | 8 | import pytest
|
9 | 9 |
|
|
16 | 16 |
|
17 | 17 |
|
18 | 18 | @pytest.mark.parametrize(
|
19 |
| - ("bump", "expected"), |
20 |
| - [("auto", "0.1.0"), ("major", "0.1.0"), ("minor", "0.1.0"), ("1.1.1", "1.1.1")], |
| 19 | + ("versioning", "bump", "expected"), |
| 20 | + [ |
| 21 | + ("semver", "auto", "0.0.1"), # chore commit |
| 22 | + ("semver", "major", "1.0.0"), |
| 23 | + ("semver", "minor", "0.1.0"), |
| 24 | + ("semver", "patch", "0.0.1"), |
| 25 | + ("semver", "1.1.1", "1.1.1"), |
| 26 | + ("pep440", "auto", "0.0.1"), # chore commit |
| 27 | + ("pep440", "major", "1.0.0"), |
| 28 | + ("pep440", "minor+dev", "0.1.0.dev0"), |
| 29 | + ("pep440", "micro+alpha+dev", "0.0.1a0.dev0"), |
| 30 | + ("pep440", "1.1.1", "1.1.1"), |
| 31 | + ], |
21 | 32 | )
|
22 |
| -def test_bump_with_semver_on_new_repo(repo: GitRepo, bump: str, expected: str) -> None: |
23 |
| - """Bump to user specified version (SemVer) on new git repo. |
| 33 | +def test_bump_with_semver_on_new_repo( |
| 34 | + repo: GitRepo, |
| 35 | + versioning: Literal["pep440", "semver"], |
| 36 | + bump: str, |
| 37 | + expected: str, |
| 38 | +) -> None: |
| 39 | + """Bump to user specified version on new Git repo. |
24 | 40 |
|
25 | 41 | Parameters:
|
26 | 42 | repo: GitRepo to a temporary repository.
|
27 | 43 | bump: The bump parameter value.
|
28 | 44 | expected: Expected version for the new changelog entry.
|
29 | 45 | """
|
30 |
| - changelog = Changelog(repo.path, convention=AngularConvention, bump=bump) |
| 46 | + changelog = Changelog(repo.path, convention=AngularConvention, bump=bump, versioning=versioning, zerover=False) |
31 | 47 | assert len(changelog.versions_list) == 1
|
32 |
| - assert changelog.versions_list[0].tag == expected |
| 48 | + assert changelog.versions_list[0].planned_tag == expected |
33 | 49 |
|
34 | 50 |
|
35 | 51 | @pytest.mark.parametrize("bump", ["auto", "major", "minor", "2.0.0"])
|
@@ -189,7 +205,7 @@ def _assert_version(
|
189 | 205 | expected_prev_tag: str | None,
|
190 | 206 | expected_commits: list[str],
|
191 | 207 | ) -> None:
|
192 |
| - assert version.tag == expected_tag |
| 208 | + assert expected_tag in (version.tag, version.planned_tag) |
193 | 209 | if expected_prev_tag:
|
194 | 210 | assert version.previous_version is not None, f"Expected previous version '{expected_prev_tag}', but was None"
|
195 | 211 | assert version.previous_version.tag == expected_prev_tag
|
@@ -252,7 +268,7 @@ def test_merge_into_unreleased(repo: GitRepo) -> None:
|
252 | 268 | version = changelog.versions_list[0]
|
253 | 269 | _assert_version(
|
254 | 270 | version,
|
255 |
| - expected_tag="0.1.0", |
| 271 | + expected_tag="", |
256 | 272 | expected_prev_tag=None,
|
257 | 273 | expected_commits=[commit_e, commit_c, commit_d, commit_a, commit_b],
|
258 | 274 | )
|
|
0 commit comments