1414
1515from test .support import (TESTFN , findfile , unlink ,
1616 requires_zlib , requires_bz2 , requires_lzma ,
17- captured_stdout )
17+ captured_stdout , check_warnings )
1818
1919TESTFN2 = TESTFN + "2"
2020TESTFNDIR = TESTFN + "d"
@@ -35,6 +35,10 @@ def get_files(test):
3535 yield f
3636 test .assertFalse (f .closed )
3737
38+ def openU (zipfp , fn ):
39+ with check_warnings (('' , DeprecationWarning )):
40+ return zipfp .open (fn , 'rU' )
41+
3842class AbstractTestsWithSourceFile :
3943 @classmethod
4044 def setUpClass (cls ):
@@ -875,6 +879,17 @@ def test_open_via_zip_info(self):
875879 data += zipfp .read (info )
876880 self .assertIn (data , {b"foobar" , b"barfoo" })
877881
882+ def test_universal_deprecation (self ):
883+ f = io .BytesIO ()
884+ with zipfile .ZipFile (f , "w" ) as zipfp :
885+ zipfp .writestr ('spam.txt' , b'ababagalamaga' )
886+
887+ with zipfile .ZipFile (f , "r" ) as zipfp :
888+ for mode in 'U' , 'rU' :
889+ with self .assertWarns (DeprecationWarning ):
890+ zipopen = zipfp .open ('spam.txt' , mode )
891+ zipopen .close ()
892+
878893 def test_universal_readaheads (self ):
879894 f = io .BytesIO ()
880895
@@ -884,7 +899,7 @@ def test_universal_readaheads(self):
884899
885900 data2 = b''
886901 with zipfile .ZipFile (f , 'r' ) as zipfp , \
887- zipfp . open ( TESTFN , 'rU' ) as zipopen :
902+ openU ( zipfp , TESTFN ) as zipopen :
888903 for line in zipopen :
889904 data2 += line
890905
@@ -1613,7 +1628,7 @@ def read_test(self, f, compression):
16131628 # Read the ZIP archive
16141629 with zipfile .ZipFile (f , "r" ) as zipfp :
16151630 for sep , fn in self .arcfiles .items ():
1616- with zipfp . open ( fn , "rU" ) as fp :
1631+ with openU ( zipfp , fn ) as fp :
16171632 zipdata = fp .read ()
16181633 self .assertEqual (self .arcdata [sep ], zipdata )
16191634
@@ -1627,7 +1642,7 @@ def readline_read_test(self, f, compression):
16271642 # Read the ZIP archive
16281643 with zipfile .ZipFile (f , "r" ) as zipfp :
16291644 for sep , fn in self .arcfiles .items ():
1630- with zipfp . open ( fn , "rU" ) as zipopen :
1645+ with openU ( zipfp , fn ) as zipopen :
16311646 data = b''
16321647 while True :
16331648 read = zipopen .readline ()
@@ -1652,7 +1667,7 @@ def readline_test(self, f, compression):
16521667 # Read the ZIP archive
16531668 with zipfile .ZipFile (f , "r" ) as zipfp :
16541669 for sep , fn in self .arcfiles .items ():
1655- with zipfp . open ( fn , "rU" ) as zipopen :
1670+ with openU ( zipfp , fn ) as zipopen :
16561671 for line in self .line_gen :
16571672 linedata = zipopen .readline ()
16581673 self .assertEqual (linedata , line + b'\n ' )
@@ -1667,7 +1682,7 @@ def readlines_test(self, f, compression):
16671682 # Read the ZIP archive
16681683 with zipfile .ZipFile (f , "r" ) as zipfp :
16691684 for sep , fn in self .arcfiles .items ():
1670- with zipfp . open ( fn , "rU" ) as fp :
1685+ with openU ( zipfp , fn ) as fp :
16711686 ziplines = fp .readlines ()
16721687 for line , zipline in zip (self .line_gen , ziplines ):
16731688 self .assertEqual (zipline , line + b'\n ' )
@@ -1682,7 +1697,7 @@ def iterlines_test(self, f, compression):
16821697 # Read the ZIP archive
16831698 with zipfile .ZipFile (f , "r" ) as zipfp :
16841699 for sep , fn in self .arcfiles .items ():
1685- with zipfp . open ( fn , "rU" ) as fp :
1700+ with openU ( zipfp , fn ) as fp :
16861701 for line , zipline in zip (self .line_gen , fp ):
16871702 self .assertEqual (zipline , line + b'\n ' )
16881703
0 commit comments