Skip to content

Commit 3482b3f

Browse files
authored
Test version handling functions (#36)
2 parents e17700d + 3213dee commit 3482b3f

File tree

1 file changed

+73
-0
lines changed

1 file changed

+73
-0
lines changed

tests/test_blurb.py

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,63 @@ def test_unsanitize_section_changed(section, expected):
4444
assert unsanitized == expected
4545

4646

47+
@pytest.mark.parametrize(
48+
"version1, version2",
49+
(
50+
("2", "3"),
51+
("3.5.0a1", "3.5.0b1"),
52+
("3.5.0a1", "3.5.0rc1"),
53+
("3.5.0a1", "3.5.0"),
54+
("3.6.0b1", "3.6.0b2"),
55+
("3.6.0b1", "3.6.0rc1"),
56+
("3.6.0b1", "3.6.0"),
57+
("3.7.0rc1", "3.7.0rc2"),
58+
("3.7.0rc1", "3.7.0"),
59+
("3.8", "3.8.1"),
60+
),
61+
)
62+
def test_version_key(version1, version2):
63+
# Act
64+
key1 = blurb.version_key(version1)
65+
key2 = blurb.version_key(version2)
66+
67+
# Assert
68+
assert key1 < key2
69+
70+
71+
def test_glob_versions(fs):
72+
# Arrange
73+
fake_version_blurbs = (
74+
"Misc/NEWS.d/3.7.0.rst",
75+
"Misc/NEWS.d/3.7.0a1.rst",
76+
"Misc/NEWS.d/3.7.0a2.rst",
77+
"Misc/NEWS.d/3.7.0b1.rst",
78+
"Misc/NEWS.d/3.7.0b2.rst",
79+
"Misc/NEWS.d/3.7.0rc1.rst",
80+
"Misc/NEWS.d/3.7.0rc2.rst",
81+
"Misc/NEWS.d/3.9.0b1.rst",
82+
"Misc/NEWS.d/3.12.0a1.rst",
83+
)
84+
for fn in fake_version_blurbs:
85+
fs.create_file(fn)
86+
87+
# Act
88+
versions = blurb.glob_versions()
89+
90+
# Assert
91+
assert versions == [
92+
"3.12.0a1",
93+
"3.9.0b1",
94+
"3.7.0",
95+
"3.7.0rc2",
96+
"3.7.0rc1",
97+
"3.7.0b2",
98+
"3.7.0b1",
99+
"3.7.0a2",
100+
"3.7.0a1",
101+
]
102+
103+
47104
def test_glob_blurbs_next(fs):
48105
# Arrange
49106
fake_news_entries = (
@@ -103,6 +160,22 @@ def test_glob_blurbs_sort_order(fs):
103160
assert filenames == expected
104161

105162

163+
@pytest.mark.parametrize(
164+
"version, expected",
165+
(
166+
("next", "next"),
167+
("3.12.0a1", "3.12.0 alpha 1"),
168+
("3.12.0b2", "3.12.0 beta 2"),
169+
("3.12.0rc2", "3.12.0 release candidate 2"),
170+
("3.12.0", "3.12.0 final"),
171+
("3.12.1", "3.12.1 final"),
172+
),
173+
)
174+
def test_printable_version(version, expected):
175+
# Act / Assert
176+
assert blurb.printable_version(version) == expected
177+
178+
106179
@pytest.mark.parametrize(
107180
"news_entry, expected_section",
108181
(

0 commit comments

Comments
 (0)