@@ -1219,7 +1219,47 @@ class PyEnvironmentVariableTests(EnvironmentVariableTests, unittest.TestCase):
12191219 module = py_warnings
12201220
12211221
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+
12221261class BootstrapTest (unittest .TestCase ):
1262+
12231263 def test_issue_8766 (self ):
12241264 # "import encodings" emits a warning whereas the warnings is not loaded
12251265 # or not completely loaded (warnings imports indirectly encodings by
0 commit comments