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