@@ -2284,23 +2284,23 @@ def test_from_file(self):
22842284 self .assertEqual (posixpath .basename (zi .filename ), 'test_zipfile.py' )
22852285 self .assertFalse (zi .is_dir ())
22862286 self .assertFalse (zi .is_sym ())
2287- self .assertTrue (zi .is_reg ())
2287+ self .assertTrue (zi .is_file ())
22882288 self .assertEqual (zi .file_size , os .path .getsize (__file__ ))
22892289
22902290 def test_from_file_pathlike (self ):
22912291 zi = zipfile .ZipInfo .from_file (pathlib .Path (__file__ ))
22922292 self .assertEqual (posixpath .basename (zi .filename ), 'test_zipfile.py' )
22932293 self .assertFalse (zi .is_dir ())
22942294 self .assertFalse (zi .is_sym ())
2295- self .assertTrue (zi .is_reg ())
2295+ self .assertTrue (zi .is_file ())
22962296 self .assertEqual (zi .file_size , os .path .getsize (__file__ ))
22972297
22982298 def test_from_file_bytes (self ):
22992299 zi = zipfile .ZipInfo .from_file (os .fsencode (__file__ ), 'test' )
23002300 self .assertEqual (posixpath .basename (zi .filename ), 'test' )
23012301 self .assertFalse (zi .is_dir ())
23022302 self .assertFalse (zi .is_sym ())
2303- self .assertTrue (zi .is_reg ())
2303+ self .assertTrue (zi .is_file ())
23042304 self .assertEqual (zi .file_size , os .path .getsize (__file__ ))
23052305
23062306 def test_from_file_fileno (self ):
@@ -2309,7 +2309,7 @@ def test_from_file_fileno(self):
23092309 self .assertEqual (posixpath .basename (zi .filename ), 'test' )
23102310 self .assertFalse (zi .is_dir ())
23112311 self .assertFalse (zi .is_sym ())
2312- self .assertTrue (zi .is_reg ())
2312+ self .assertTrue (zi .is_file ())
23132313 self .assertEqual (zi .file_size , os .path .getsize (__file__ ))
23142314
23152315 def test_from_dir (self ):
@@ -2318,19 +2318,37 @@ def test_from_dir(self):
23182318 self .assertEqual (zi .filename , 'stdlib_tests/' )
23192319 self .assertTrue (zi .is_dir ())
23202320 self .assertFalse (zi .is_sym ())
2321- self .assertFalse (zi .is_reg ())
2321+ self .assertFalse (zi .is_file ())
23222322 self .assertEqual (zi .compress_type , zipfile .ZIP_STORED )
23232323 self .assertEqual (zi .file_size , 0 )
23242324
23252325 def test_from_symlink (self ):
23262326 self .addCleanup (unlink , TESTFN )
23272327 os .symlink (os .path .abspath (__file__ ), TESTFN )
2328- zi = zipfile .ZipInfo .from_file (TESTFN , 'symlink' , follow_symlinks = False )
2329- self .assertEqual (posixpath .basename (zi .filename ), 'symlink' )
2328+
2329+ zi = zipfile .ZipInfo .from_file (TESTFN , follow_symlinks = False )
2330+ self .assertEqual (posixpath .basename (zi .filename ), TESTFN )
23302331 self .assertFalse (zi .is_dir ())
2331- self .assertFalse (zi .is_reg ())
2332+ self .assertFalse (zi .is_file ())
23322333 self .assertTrue (zi .is_sym ())
23332334
2335+ zi = zipfile .ZipInfo .from_file (TESTFN , follow_symlinks = True )
2336+ self .assertEqual (posixpath .basename (zi .filename ), TESTFN )
2337+ self .assertFalse (zi .is_dir ())
2338+ self .assertTrue (zi .is_file ())
2339+ self .assertFalse (zi .is_sym ())
2340+ self .assertEqual (zi .file_size , os .path .getsize (__file__ ))
2341+
2342+ def test_filemode (self ):
2343+ self .addCleanup (unlink , TESTFN )
2344+ with open (TESTFN , "w" ) as f :
2345+ f .write ("the cake is a lie" )
2346+ modes_to_test = (0o400 , 0o777 , 0o755 , 0o600 )
2347+ for mode in modes_to_test :
2348+ os .chmod (TESTFN , mode )
2349+ zi = zipfile .ZipInfo .from_file (TESTFN )
2350+ self .assertEqual (zi .filemode , os .stat (TESTFN ).st_mode )
2351+
23342352
23352353class CommandLineTest (unittest .TestCase ):
23362354
0 commit comments