@@ -2287,12 +2287,18 @@ def check_unpack_archive(self, format, **kwargs):
22872287 self .check_unpack_archive_with_converter (format , FakePath , ** kwargs )
22882288
22892289 def check_unpack_archive_with_converter (self , format , converter , ** kwargs ):
2290+ make_format = kwargs .pop ("make_format" , format )
2291+ extension = kwargs .pop ("extension" , None )
22902292 root_dir , base_dir = self ._create_files ()
22912293 expected = rlistdir (root_dir )
22922294 expected .remove ('outer' )
22932295
22942296 base_name = os .path .join (self .mkdtemp (), 'archive' )
2295- filename = make_archive (base_name , format , root_dir , base_dir )
2297+ filename = make_archive (base_name , make_format , root_dir , base_dir )
2298+ if extension is not None :
2299+ new_filename = os .path .splitext (filename )[0 ] + extension
2300+ os .rename (filename , new_filename )
2301+ filename = new_filename
22962302
22972303 # let's try to unpack it now
22982304 tmpdir2 = self .mkdtemp ()
@@ -2340,6 +2346,13 @@ def test_unpack_archive_zip(self):
23402346 with self .assertRaises (TypeError ):
23412347 self .check_unpack_archive ('zip' , filter = 'data' )
23422348
2349+ @support .requires_zlib ()
2350+ def test_unpack_archive_whl (self ):
2351+ self .check_unpack_archive ('whl' , make_format = 'zip' , extension = '.whl' )
2352+ with self .assertRaises (TypeError ):
2353+ self .check_unpack_archive ('whl' , filter = 'data' , make_format = 'zip' ,
2354+ extension = '.whl' )
2355+
23432356 def test_unpack_archive_zip_badpaths (self ):
23442357 srcdir = self .mkdtemp ()
23452358 zipname = os .path .join (srcdir , 'test.zip' )
0 commit comments