Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit ecac37b

Browse files
refactor(Prerelease): use enum
1 parent 4b72cf8 commit ecac37b

File tree

5 files changed

+201
-185
lines changed

5 files changed

+201
-185
lines changed

‎commitizen/commands/bump.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ def __call__(self) -> None: # noqa: C901
173173
increment: SemVerIncrement | None = SemVerIncrement.safe_cast(
174174
self.arguments["increment"]
175175
)
176-
prerelease: Prerelease|None=self.arguments["prerelease"]
176+
prerelease=Prerelease.safe_cast(self.arguments["prerelease"])
177177
devrelease: int | None = self.arguments["devrelease"]
178178
is_files_only: bool | None = self.arguments["files_only"]
179179
is_local_version: bool = self.arguments["local_version"]

‎commitizen/version_schemes.py‎

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
import re
44
import sys
55
import warnings
6+
from enum import Enum
67
from itertools import zip_longest
78
from typing import (
89
TYPE_CHECKING,
910
Any,
1011
ClassVar,
11-
Literal,
1212
Protocol,
1313
cast,
1414
runtime_checkable,
@@ -41,7 +41,22 @@
4141
from typing import Self
4242

4343

44-
Prerelease: TypeAlias = Literal["alpha", "beta", "rc"]
44+
class Prerelease(Enum):
45+
ALPHA = "alpha"
46+
BETA = "beta"
47+
RC = "rc"
48+
49+
def __str__(self) -> str:
50+
return self.value
51+
52+
@classmethod
53+
def safe_cast(cls, value: str) -> Prerelease | None:
54+
try:
55+
return cls[value.upper()]
56+
except KeyError:
57+
return None
58+
59+
4560
DEFAULT_VERSION_PARSER = r"v?(?P<version>([0-9]+)\.([0-9]+)(?:\.([0-9]+))?(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z.]+)?(\w+)?)"
4661

4762

@@ -172,7 +187,7 @@ def prerelease(self) -> str | None:
172187
return None
173188

174189
def generate_prerelease(
175-
self, prerelease: str | None = None, offset: int = 0
190+
self, prerelease: Prerelease | None = None, offset: int = 0
176191
) -> str:
177192
"""Generate prerelease
178193
@@ -187,20 +202,18 @@ def generate_prerelease(
187202
if not prerelease:
188203
return ""
189204

205+
prerelease_value = prerelease.value
206+
new_prerelease_number = offset
207+
190208
# prevent down-bumping the pre-release phase, e.g. from 'b1' to 'a2'
191209
# https://packaging.python.org/en/latest/specifications/version-specifiers/#pre-releases
192210
# https://semver.org/#spec-item-11
193211
if self.is_prerelease and self.pre:
194-
prerelease = max(prerelease, self.pre[0])
212+
prerelease_value = max(prerelease_value, self.pre[0])
213+
if prerelease_value.startswith(self.pre[0]):
214+
new_prerelease_number = self.pre[1] + 1
195215

196-
# version.pre is needed for mypy check
197-
if self.is_prerelease and self.pre and prerelease.startswith(self.pre[0]):
198-
prev_prerelease: int = self.pre[1]
199-
new_prerelease_number = prev_prerelease + 1
200-
else:
201-
new_prerelease_number = offset
202-
pre_version = f"{prerelease}{new_prerelease_number}"
203-
return pre_version
216+
return f"{prerelease_value}{new_prerelease_number}"
204217

205218
def generate_devrelease(self, devrelease: int | None) -> str:
206219
"""Generate devrelease

‎tests/test_version_scheme_pep440.py‎

Lines changed: 88 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import pytest
55

66
from commitizen.bump_rule import SemVerIncrement
7-
from commitizen.version_schemes import Pep440, VersionProtocol
7+
from commitizen.version_schemes import Pep440, Prerelease, VersionProtocol
88

99
simple_flow = [
1010
(("0.1.0", SemVerIncrement.PATCH, None, 0, None), "0.1.1"),
@@ -13,25 +13,25 @@
1313
(("0.2.0", SemVerIncrement.MINOR, None, 0, None), "0.3.0"),
1414
(("0.2.0", SemVerIncrement.MINOR, None, 0, 1), "0.3.0.dev1"),
1515
(("0.3.0", SemVerIncrement.PATCH, None, 0, None), "0.3.1"),
16-
(("0.3.0", SemVerIncrement.PATCH, "alpha", 0, None), "0.3.1a0"),
17-
(("0.3.1a0", None, "alpha", 0, None), "0.3.1a1"),
18-
(("0.3.0", SemVerIncrement.PATCH, "alpha", 1, None), "0.3.1a1"),
19-
(("0.3.1a0", None, "alpha", 1, None), "0.3.1a1"),
16+
(("0.3.0", SemVerIncrement.PATCH, Prerelease.ALPHA, 0, None), "0.3.1a0"),
17+
(("0.3.1a0", None, Prerelease.ALPHA, 0, None), "0.3.1a1"),
18+
(("0.3.0", SemVerIncrement.PATCH, Prerelease.ALPHA, 1, None), "0.3.1a1"),
19+
(("0.3.1a0", None, Prerelease.ALPHA, 1, None), "0.3.1a1"),
2020
(("0.3.1a0", None, None, 0, None), "0.3.1"),
2121
(("0.3.1", SemVerIncrement.PATCH, None, 0, None), "0.3.2"),
22-
(("0.4.2", SemVerIncrement.MAJOR, "alpha", 0, None), "1.0.0a0"),
23-
(("1.0.0a0", None, "alpha", 0, None), "1.0.0a1"),
24-
(("1.0.0a1", None, "alpha", 0, None), "1.0.0a2"),
25-
(("1.0.0a1", None, "alpha", 0, 1), "1.0.0a2.dev1"),
26-
(("1.0.0a2.dev0", None, "alpha", 0, 1), "1.0.0a3.dev1"),
27-
(("1.0.0a2.dev0", None, "alpha", 0, 0), "1.0.0a3.dev0"),
28-
(("1.0.0a1", None, "beta", 0, None), "1.0.0b0"),
29-
(("1.0.0b0", None, "beta", 0, None), "1.0.0b1"),
30-
(("1.0.0b1", None, "rc", 0, None), "1.0.0rc0"),
31-
(("1.0.0rc0", None, "rc", 0, None), "1.0.0rc1"),
32-
(("1.0.0rc0", None, "rc", 0, 1), "1.0.0rc1.dev1"),
22+
(("0.4.2", SemVerIncrement.MAJOR, Prerelease.ALPHA, 0, None), "1.0.0a0"),
23+
(("1.0.0a0", None, Prerelease.ALPHA, 0, None), "1.0.0a1"),
24+
(("1.0.0a1", None, Prerelease.ALPHA, 0, None), "1.0.0a2"),
25+
(("1.0.0a1", None, Prerelease.ALPHA, 0, 1), "1.0.0a2.dev1"),
26+
(("1.0.0a2.dev0", None, Prerelease.ALPHA, 0, 1), "1.0.0a3.dev1"),
27+
(("1.0.0a2.dev0", None, Prerelease.ALPHA, 0, 0), "1.0.0a3.dev0"),
28+
(("1.0.0a1", None, Prerelease.BETA, 0, None), "1.0.0b0"),
29+
(("1.0.0b0", None, Prerelease.BETA, 0, None), "1.0.0b1"),
30+
(("1.0.0b1", None, Prerelease.RC, 0, None), "1.0.0rc0"),
31+
(("1.0.0rc0", None, Prerelease.RC, 0, None), "1.0.0rc1"),
32+
(("1.0.0rc0", None, Prerelease.RC, 0, 1), "1.0.0rc1.dev1"),
3333
(("1.0.0rc0", SemVerIncrement.PATCH, None, 0, None), "1.0.0"),
34-
(("1.0.0a3.dev0", None, "beta", 0, None), "1.0.0b0"),
34+
(("1.0.0a3.dev0", None, Prerelease.BETA, 0, None), "1.0.0b0"),
3535
(("1.0.0", SemVerIncrement.PATCH, None, 0, None), "1.0.1"),
3636
(("1.0.1", SemVerIncrement.PATCH, None, 0, None), "1.0.2"),
3737
(("1.0.2", SemVerIncrement.MINOR, None, 0, None), "1.1.0"),
@@ -48,22 +48,22 @@
4848

4949
# never bump backwards on pre-releases
5050
linear_prerelease_cases = [
51-
(("0.1.1b1", None, "alpha", 0, None), "0.1.1b2"),
52-
(("0.1.1rc0", None, "alpha", 0, None), "0.1.1rc1"),
53-
(("0.1.1rc0", None, "beta", 0, None), "0.1.1rc1"),
51+
(("0.1.1b1", None, Prerelease.ALPHA, 0, None), "0.1.1b2"),
52+
(("0.1.1rc0", None, Prerelease.ALPHA, 0, None), "0.1.1rc1"),
53+
(("0.1.1rc0", None, Prerelease.BETA, 0, None), "0.1.1rc1"),
5454
]
5555

5656
weird_cases = [
5757
(("1.1", SemVerIncrement.PATCH, None, 0, None), "1.1.1"),
5858
(("1", SemVerIncrement.MINOR, None, 0, None), "1.1.0"),
5959
(("1", SemVerIncrement.MAJOR, None, 0, None), "2.0.0"),
60-
(("1a0", None, "alpha", 0, None), "1.0.0a1"),
61-
(("1a0", None, "alpha", 1, None), "1.0.0a1"),
62-
(("1", None, "beta", 0, None), "1.0.0b0"),
63-
(("1", None, "beta", 1, None), "1.0.0b1"),
64-
(("1beta", None, "beta", 0, None), "1.0.0b1"),
65-
(("1.0.0alpha1", None, "alpha", 0, None), "1.0.0a2"),
66-
(("1", None, "rc", 0, None), "1.0.0rc0"),
60+
(("1a0", None, Prerelease.ALPHA, 0, None), "1.0.0a1"),
61+
(("1a0", None, Prerelease.ALPHA, 1, None), "1.0.0a1"),
62+
(("1", None, Prerelease.BETA, 0, None), "1.0.0b0"),
63+
(("1", None, Prerelease.BETA, 1, None), "1.0.0b1"),
64+
(("1beta", None, Prerelease.BETA, 0, None), "1.0.0b1"),
65+
(("1.0.0alpha1", None, Prerelease.ALPHA, 0, None), "1.0.0a2"),
66+
(("1", None, Prerelease.RC, 0, None), "1.0.0rc0"),
6767
(("1.0.0rc1+e20d7b57f3eb", SemVerIncrement.PATCH, None, 0, None), "1.0.0"),
6868
]
6969

@@ -72,52 +72,52 @@
7272
(("0.1.1", SemVerIncrement.PATCH, None, 0, None), "0.1.2"),
7373
(("0.1.1", SemVerIncrement.MINOR, None, 0, None), "0.2.0"),
7474
(("2.1.1", SemVerIncrement.MAJOR, None, 0, None), "3.0.0"),
75-
(("0.9.0", SemVerIncrement.PATCH, "alpha", 0, None), "0.9.1a0"),
76-
(("0.9.0", SemVerIncrement.MINOR, "alpha", 0, None), "0.10.0a0"),
77-
(("0.9.0", SemVerIncrement.MAJOR, "alpha", 0, None), "1.0.0a0"),
78-
(("0.9.0", SemVerIncrement.MAJOR, "alpha", 1, None), "1.0.0a1"),
79-
(("1.0.0a2", None, "beta", 0, None), "1.0.0b0"),
80-
(("1.0.0a2", None, "beta", 1, None), "1.0.0b1"),
81-
(("1.0.0beta1", None, "rc", 0, None), "1.0.0rc0"),
82-
(("1.0.0rc1", None, "rc", 0, None), "1.0.0rc2"),
75+
(("0.9.0", SemVerIncrement.PATCH, Prerelease.ALPHA, 0, None), "0.9.1a0"),
76+
(("0.9.0", SemVerIncrement.MINOR, Prerelease.ALPHA, 0, None), "0.10.0a0"),
77+
(("0.9.0", SemVerIncrement.MAJOR, Prerelease.ALPHA, 0, None), "1.0.0a0"),
78+
(("0.9.0", SemVerIncrement.MAJOR, Prerelease.ALPHA, 1, None), "1.0.0a1"),
79+
(("1.0.0a2", None, Prerelease.BETA, 0, None), "1.0.0b0"),
80+
(("1.0.0a2", None, Prerelease.BETA, 1, None), "1.0.0b1"),
81+
(("1.0.0beta1", None, Prerelease.RC, 0, None), "1.0.0rc0"),
82+
(("1.0.0rc1", None, Prerelease.RC, 0, None), "1.0.0rc2"),
8383
]
8484

8585
# additional pre-release tests run through various release scenarios
8686
prerelease_cases = [
8787
#
88-
(("3.3.3", SemVerIncrement.PATCH, "alpha", 0, None), "3.3.4a0"),
89-
(("3.3.4a0", SemVerIncrement.PATCH, "alpha", 0, None), "3.3.4a1"),
90-
(("3.3.4a1", SemVerIncrement.MINOR, "alpha", 0, None), "3.4.0a0"),
91-
(("3.4.0a0", SemVerIncrement.PATCH, "alpha", 0, None), "3.4.0a1"),
92-
(("3.4.0a1", SemVerIncrement.MINOR, "alpha", 0, None), "3.4.0a2"),
93-
(("3.4.0a2", SemVerIncrement.MAJOR, "alpha", 0, None), "4.0.0a0"),
94-
(("4.0.0a0", SemVerIncrement.PATCH, "alpha", 0, None), "4.0.0a1"),
95-
(("4.0.0a1", SemVerIncrement.MINOR, "alpha", 0, None), "4.0.0a2"),
96-
(("4.0.0a2", SemVerIncrement.MAJOR, "alpha", 0, None), "4.0.0a3"),
88+
(("3.3.3", SemVerIncrement.PATCH, Prerelease.ALPHA, 0, None), "3.3.4a0"),
89+
(("3.3.4a0", SemVerIncrement.PATCH, Prerelease.ALPHA, 0, None), "3.3.4a1"),
90+
(("3.3.4a1", SemVerIncrement.MINOR, Prerelease.ALPHA, 0, None), "3.4.0a0"),
91+
(("3.4.0a0", SemVerIncrement.PATCH, Prerelease.ALPHA, 0, None), "3.4.0a1"),
92+
(("3.4.0a1", SemVerIncrement.MINOR, Prerelease.ALPHA, 0, None), "3.4.0a2"),
93+
(("3.4.0a2", SemVerIncrement.MAJOR, Prerelease.ALPHA, 0, None), "4.0.0a0"),
94+
(("4.0.0a0", SemVerIncrement.PATCH, Prerelease.ALPHA, 0, None), "4.0.0a1"),
95+
(("4.0.0a1", SemVerIncrement.MINOR, Prerelease.ALPHA, 0, None), "4.0.0a2"),
96+
(("4.0.0a2", SemVerIncrement.MAJOR, Prerelease.ALPHA, 0, None), "4.0.0a3"),
9797
#
98-
(("1.0.0", SemVerIncrement.PATCH, "alpha", 0, None), "1.0.1a0"),
99-
(("1.0.1a0", SemVerIncrement.PATCH, "alpha", 0, None), "1.0.1a1"),
100-
(("1.0.1a1", SemVerIncrement.MINOR, "alpha", 0, None), "1.1.0a0"),
101-
(("1.1.0a0", SemVerIncrement.PATCH, "alpha", 0, None), "1.1.0a1"),
102-
(("1.1.0a1", SemVerIncrement.MINOR, "alpha", 0, None), "1.1.0a2"),
103-
(("1.1.0a2", SemVerIncrement.MAJOR, "alpha", 0, None), "2.0.0a0"),
98+
(("1.0.0", SemVerIncrement.PATCH, Prerelease.ALPHA, 0, None), "1.0.1a0"),
99+
(("1.0.1a0", SemVerIncrement.PATCH, Prerelease.ALPHA, 0, None), "1.0.1a1"),
100+
(("1.0.1a1", SemVerIncrement.MINOR, Prerelease.ALPHA, 0, None), "1.1.0a0"),
101+
(("1.1.0a0", SemVerIncrement.PATCH, Prerelease.ALPHA, 0, None), "1.1.0a1"),
102+
(("1.1.0a1", SemVerIncrement.MINOR, Prerelease.ALPHA, 0, None), "1.1.0a2"),
103+
(("1.1.0a2", SemVerIncrement.MAJOR, Prerelease.ALPHA, 0, None), "2.0.0a0"),
104104
#
105-
(("1.0.0", SemVerIncrement.MINOR, "alpha", 0, None), "1.1.0a0"),
106-
(("1.1.0a0", SemVerIncrement.PATCH, "alpha", 0, None), "1.1.0a1"),
107-
(("1.1.0a1", SemVerIncrement.MINOR, "alpha", 0, None), "1.1.0a2"),
108-
(("1.1.0a2", SemVerIncrement.PATCH, "alpha", 0, None), "1.1.0a3"),
109-
(("1.1.0a3", SemVerIncrement.MAJOR, "alpha", 0, None), "2.0.0a0"),
105+
(("1.0.0", SemVerIncrement.MINOR, Prerelease.ALPHA, 0, None), "1.1.0a0"),
106+
(("1.1.0a0", SemVerIncrement.PATCH, Prerelease.ALPHA, 0, None), "1.1.0a1"),
107+
(("1.1.0a1", SemVerIncrement.MINOR, Prerelease.ALPHA, 0, None), "1.1.0a2"),
108+
(("1.1.0a2", SemVerIncrement.PATCH, Prerelease.ALPHA, 0, None), "1.1.0a3"),
109+
(("1.1.0a3", SemVerIncrement.MAJOR, Prerelease.ALPHA, 0, None), "2.0.0a0"),
110110
#
111-
(("1.0.0", SemVerIncrement.MAJOR, "alpha", 0, None), "2.0.0a0"),
112-
(("2.0.0a0", SemVerIncrement.MINOR, "alpha", 0, None), "2.0.0a1"),
113-
(("2.0.0a1", SemVerIncrement.PATCH, "alpha", 0, None), "2.0.0a2"),
114-
(("2.0.0a2", SemVerIncrement.MAJOR, "alpha", 0, None), "2.0.0a3"),
115-
(("2.0.0a3", SemVerIncrement.MINOR, "alpha", 0, None), "2.0.0a4"),
116-
(("2.0.0a4", SemVerIncrement.PATCH, "alpha", 0, None), "2.0.0a5"),
117-
(("2.0.0a5", SemVerIncrement.MAJOR, "alpha", 0, None), "2.0.0a6"),
111+
(("1.0.0", SemVerIncrement.MAJOR, Prerelease.ALPHA, 0, None), "2.0.0a0"),
112+
(("2.0.0a0", SemVerIncrement.MINOR, Prerelease.ALPHA, 0, None), "2.0.0a1"),
113+
(("2.0.0a1", SemVerIncrement.PATCH, Prerelease.ALPHA, 0, None), "2.0.0a2"),
114+
(("2.0.0a2", SemVerIncrement.MAJOR, Prerelease.ALPHA, 0, None), "2.0.0a3"),
115+
(("2.0.0a3", SemVerIncrement.MINOR, Prerelease.ALPHA, 0, None), "2.0.0a4"),
116+
(("2.0.0a4", SemVerIncrement.PATCH, Prerelease.ALPHA, 0, None), "2.0.0a5"),
117+
(("2.0.0a5", SemVerIncrement.MAJOR, Prerelease.ALPHA, 0, None), "2.0.0a6"),
118118
#
119-
(("2.0.0b0", SemVerIncrement.MINOR, "alpha", 0, None), "2.0.0b1"),
120-
(("2.0.0b0", SemVerIncrement.PATCH, "alpha", 0, None), "2.0.0b1"),
119+
(("2.0.0b0", SemVerIncrement.MINOR, Prerelease.ALPHA, 0, None), "2.0.0b1"),
120+
(("2.0.0b0", SemVerIncrement.PATCH, Prerelease.ALPHA, 0, None), "2.0.0b1"),
121121
#
122122
(("1.0.1a0", SemVerIncrement.PATCH, None, 0, None), "1.0.1"),
123123
(("1.0.1a0", SemVerIncrement.MINOR, None, 0, None), "1.1.0"),
@@ -135,53 +135,56 @@
135135
(("3.0.0b1", None, None, 0, None), "3.0.0"),
136136
(("3.0.0rc1", None, None, 0, None), "3.0.0"),
137137
#
138-
(("3.1.4", None, "alpha", 0, None), "3.1.4a0"),
139-
(("3.1.4", None, "beta", 0, None), "3.1.4b0"),
140-
(("3.1.4", None, "rc", 0, None), "3.1.4rc0"),
138+
(("3.1.4", None, Prerelease.ALPHA, 0, None), "3.1.4a0"),
139+
(("3.1.4", None, Prerelease.BETA, 0, None), "3.1.4b0"),
140+
(("3.1.4", None, Prerelease.RC, 0, None), "3.1.4rc0"),
141141
#
142-
(("3.1.4", None, "alpha", 0, None), "3.1.4a0"),
143-
(("3.1.4a0", SemVerIncrement.PATCH, "alpha", 0, None), "3.1.4a1"), # UNEXPECTED!
144-
(("3.1.4a0", SemVerIncrement.MINOR, "alpha", 0, None), "3.2.0a0"),
145-
(("3.1.4a0", SemVerIncrement.MAJOR, "alpha", 0, None), "4.0.0a0"),
142+
(("3.1.4", None, Prerelease.ALPHA, 0, None), "3.1.4a0"),
143+
(
144+
("3.1.4a0", SemVerIncrement.PATCH, Prerelease.ALPHA, 0, None),
145+
"3.1.4a1",
146+
), # UNEXPECTED!
147+
(("3.1.4a0", SemVerIncrement.MINOR, Prerelease.ALPHA, 0, None), "3.2.0a0"),
148+
(("3.1.4a0", SemVerIncrement.MAJOR, Prerelease.ALPHA, 0, None), "4.0.0a0"),
146149
]
147150

148151
exact_cases = [
149152
(("1.0.0", SemVerIncrement.PATCH, None, 0, None), "1.0.1"),
150153
(("1.0.0", SemVerIncrement.MINOR, None, 0, None), "1.1.0"),
151154
# with exact_increment=False: "1.0.0b0"
152-
(("1.0.0a1", SemVerIncrement.PATCH, "beta", 0, None), "1.0.1b0"),
155+
(("1.0.0a1", SemVerIncrement.PATCH, Prerelease.BETA, 0, None), "1.0.1b0"),
153156
# with exact_increment=False: "1.0.0b1"
154-
(("1.0.0b0", SemVerIncrement.PATCH, "beta", 0, None), "1.0.1b0"),
157+
(("1.0.0b0", SemVerIncrement.PATCH, Prerelease.BETA, 0, None), "1.0.1b0"),
155158
# with exact_increment=False: "1.0.0rc0"
156-
(("1.0.0b1", SemVerIncrement.PATCH, "rc", 0, None), "1.0.1rc0"),
159+
(("1.0.0b1", SemVerIncrement.PATCH, Prerelease.RC, 0, None), "1.0.1rc0"),
157160
# with exact_increment=False: "1.0.0-rc1"
158-
(("1.0.0rc0", SemVerIncrement.PATCH, "rc", 0, None), "1.0.1rc0"),
161+
(("1.0.0rc0", SemVerIncrement.PATCH, Prerelease.RC, 0, None), "1.0.1rc0"),
159162
# with exact_increment=False: "1.0.0rc1-dev1"
160-
(("1.0.0rc0", SemVerIncrement.PATCH, "rc", 0, 1), "1.0.1rc0.dev1"),
163+
(("1.0.0rc0", SemVerIncrement.PATCH, Prerelease.RC, 0, 1), "1.0.1rc0.dev1"),
161164
# with exact_increment=False: "1.0.0b0"
162-
(("1.0.0a1", SemVerIncrement.MINOR, "beta", 0, None), "1.1.0b0"),
165+
(("1.0.0a1", SemVerIncrement.MINOR, Prerelease.BETA, 0, None), "1.1.0b0"),
163166
# with exact_increment=False: "1.0.0b1"
164-
(("1.0.0b0", SemVerIncrement.MINOR, "beta", 0, None), "1.1.0b0"),
167+
(("1.0.0b0", SemVerIncrement.MINOR, Prerelease.BETA, 0, None), "1.1.0b0"),
165168
# with exact_increment=False: "1.0.0b1"
166-
(("1.0.0b0", SemVerIncrement.MINOR, "alpha", 0, None), "1.1.0a0"),
169+
(("1.0.0b0", SemVerIncrement.MINOR, Prerelease.ALPHA, 0, None), "1.1.0a0"),
167170
# with exact_increment=False: "1.0.0rc0"
168-
(("1.0.0b1", SemVerIncrement.MINOR, "rc", 0, None), "1.1.0rc0"),
171+
(("1.0.0b1", SemVerIncrement.MINOR, Prerelease.RC, 0, None), "1.1.0rc0"),
169172
# with exact_increment=False: "1.0.0rc1"
170-
(("1.0.0rc0", SemVerIncrement.MINOR, "rc", 0, None), "1.1.0rc0"),
173+
(("1.0.0rc0", SemVerIncrement.MINOR, Prerelease.RC, 0, None), "1.1.0rc0"),
171174
# with exact_increment=False: "1.0.0rc1-dev1"
172-
(("1.0.0rc0", SemVerIncrement.MINOR, "rc", 0, 1), "1.1.0rc0.dev1"),
175+
(("1.0.0rc0", SemVerIncrement.MINOR, Prerelease.RC, 0, 1), "1.1.0rc0.dev1"),
173176
# with exact_increment=False: "2.0.0"
174177
(("2.0.0b0", SemVerIncrement.MAJOR, None, 0, None), "3.0.0"),
175178
# with exact_increment=False: "2.0.0"
176179
(("2.0.0b0", SemVerIncrement.MINOR, None, 0, None), "2.1.0"),
177180
# with exact_increment=False: "2.0.0"
178181
(("2.0.0b0", SemVerIncrement.PATCH, None, 0, None), "2.0.1"),
179182
# same with exact_increment=False
180-
(("2.0.0b0", SemVerIncrement.MAJOR, "alpha", 0, None), "3.0.0a0"),
183+
(("2.0.0b0", SemVerIncrement.MAJOR, Prerelease.ALPHA, 0, None), "3.0.0a0"),
181184
# with exact_increment=False: "2.0.0b1"
182-
(("2.0.0b0", SemVerIncrement.MINOR, "alpha", 0, None), "2.1.0a0"),
185+
(("2.0.0b0", SemVerIncrement.MINOR, Prerelease.ALPHA, 0, None), "2.1.0a0"),
183186
# with exact_increment=False: "2.0.0b1"
184-
(("2.0.0b0", SemVerIncrement.PATCH, "alpha", 0, None), "2.0.1a0"),
187+
(("2.0.0b0", SemVerIncrement.PATCH, Prerelease.ALPHA, 0, None), "2.0.1a0"),
185188
]
186189

187190

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /