Skip to content

Commit c4e28e9

Browse files
committed
Minor improvements in the version string handling
1 parent bb5f935 commit c4e28e9

File tree

2 files changed

+13
-8
lines changed

2 files changed

+13
-8
lines changed

src/graphql_relay/version.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,10 @@ def __str__(self) -> str:
3939
v = f"{self.major}.{self.minor}.{self.micro}"
4040
level = self.releaselevel
4141
if level and level != "final":
42-
v = f"{v}{level[:1]}{self.serial}"
42+
level = level[:1]
43+
if level == "c":
44+
level = "rc"
45+
v = f"{v}{level}{self.serial}"
4346
return v
4447

4548

tests/test_version.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
version_info_js,
1010
)
1111

12-
_re_version = re.compile(r"(\d+)\.(\d+)\.(\d+)(?:(a|b|c)(\d+))?$")
12+
_re_version = re.compile(r"(\d+)\.(\d+)\.(\d+)(?:(a|b|r?c)(\d+))?$")
1313

1414

1515
def describe_version():
@@ -53,6 +53,8 @@ def serialize_as_str():
5353
assert str(v) == "1.2.3"
5454
v = VersionInfo(1, 2, 3, "alpha", 4)
5555
assert str(v) == "1.2.3a4"
56+
v = VersionInfo(1, 2, 3, "candidate", 4)
57+
assert str(v) == "1.2.3rc4"
5658

5759
def describe_graphql_core_version():
5860
def base_package_has_correct_version():
@@ -74,10 +76,10 @@ def version_info_has_correct_fields():
7476
assert version_info.major == int(groups[0])
7577
assert version_info.minor == int(groups[1])
7678
assert version_info.micro == int(groups[2])
77-
if groups[3] is None:
79+
if groups[3] is None: # pragma: no cover
7880
assert groups[4] is None
79-
else:
80-
assert version_info.releaselevel[:1] == groups[3]
81+
else: # pragma: no cover
82+
assert version_info.releaselevel[:1] == groups[3].lstrip("r")
8183
assert version_info.serial == int(groups[4])
8284

8385
def describe_graphql_js_version():
@@ -100,8 +102,8 @@ def version_info_js_has_correct_fields():
100102
assert version_info_js.major == int(groups[0])
101103
assert version_info_js.minor == int(groups[1])
102104
assert version_info_js.micro == int(groups[2])
103-
if groups[3] is None:
105+
if groups[3] is None: # pragma: no cover
104106
assert groups[4] is None
105-
else:
106-
assert version_info_js.releaselevel[:1] == groups[3]
107+
else: # pragma: no cover
108+
assert version_info_js.releaselevel[:1] == groups[3].lstrip("r")
107109
assert version_info_js.serial == int(groups[4])

0 commit comments

Comments
 (0)