@@ -1219,7 +1219,47 @@ class PyEnvironmentVariableTests(EnvironmentVariableTests, unittest.TestCase):
1219
1219
module = py_warnings
1220
1220
1221
1221
1222
+ class _DeprecatedTest (BaseTest , unittest .TestCase ):
1223
+
1224
+ """Test _deprecated()."""
1225
+
1226
+ module = original_warnings
1227
+
1228
+ def test_warning (self ):
1229
+ version = (3 , 11 , 0 , "final" , 0 )
1230
+ test = [(4 , 12 ), (4 , 11 ), (4 , 0 ), (3 , 12 )]
1231
+ for remove in test :
1232
+ msg = rf".*test_warnings.*{ remove [0 ]} \.{ remove [1 ]} "
1233
+ filter = msg , DeprecationWarning
1234
+ with self .subTest (remove = remove ):
1235
+ with warnings_helper .check_warnings (filter , quiet = False ):
1236
+ self .module ._deprecated ("test_warnings" , remove = remove ,
1237
+ _version = version )
1238
+
1239
+ version = (3 , 11 , 0 , "alpha" , 0 )
1240
+ msg = r".*test_warnings.*3\.11"
1241
+ with warnings_helper .check_warnings ((msg , DeprecationWarning ), quiet = False ):
1242
+ self .module ._deprecated ("test_warnings" , remove = (3 , 11 ),
1243
+ _version = version )
1244
+
1245
+ def test_RuntimeError (self ):
1246
+ version = (3 , 11 , 0 , "final" , 0 )
1247
+ test = [(2 , 0 ), (2 , 12 ), (3 , 10 )]
1248
+ for remove in test :
1249
+ with self .subTest (remove = remove ):
1250
+ with self .assertRaises (RuntimeError ):
1251
+ self .module ._deprecated ("test_warnings" , remove = remove ,
1252
+ _version = version )
1253
+ for level in ["beta" , "candidate" , "final" ]:
1254
+ version = (3 , 11 , 0 , level , 0 )
1255
+ with self .subTest (releaselevel = level ):
1256
+ with self .assertRaises (RuntimeError ):
1257
+ self .module ._deprecated ("test_warnings" , remove = (3 , 11 ),
1258
+ _version = version )
1259
+
1260
+
1222
1261
class BootstrapTest (unittest .TestCase ):
1262
+
1223
1263
def test_issue_8766 (self ):
1224
1264
# "import encodings" emits a warning whereas the warnings is not loaded
1225
1265
# or not completely loaded (warnings imports indirectly encodings by
0 commit comments