8000 Test version handling functions · python/blurb@3213dee · GitHub
[go: up one dir, main page]

Skip to content

Commit 3213dee

Browse files
committed
Test version handling functions
1 parent 2a19feb commit 3213dee

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
@@ -45,6 +45,63 @@ def test_unsanitize_section_changed(section, expected):
4545
assert unsanitized == expected
4646

4747

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

106163

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

0 commit comments

Comments
 (0)
0