@@ -45,6 +45,63 @@ def test_unsanitize_section_changed(section, expected):
45
45
assert unsanitized == expected
46
46
47
47
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
+
48
105
def test_glob_blurbs_next (fs ):
49
106
# Arrange
50
107
fake_news_entries = (
@@ -104,6 +161,22 @@ def test_glob_blurbs_sort_order(fs):
104
161
assert filenames == expected
105
162
106
163
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
+
107
180
@pytest .mark .parametrize (
108
181
"news_entry, expected_section" ,
109
182
(
0 commit comments