#10801: In zipfile, support different encodings for the header and the filenames. Patch by MvL, test by Eli Bendersky.
diff --git a/Lib/test/test_zipfile.py b/Lib/test/test_zipfile.py
index d90e771..e8aec4f 100644
--- a/Lib/test/test_zipfile.py
+++ b/Lib/test/test_zipfile.py
@@ -6,6 +6,7 @@
import io
import os
+import sys
import imp
import time
import shutil
@@ -23,6 +24,7 @@
TESTFN2 = TESTFN + "2"
TESTFNDIR = TESTFN + "d"
FIXEDTEST_SIZE = 1000
+DATAFILES_DIR = 'zipfile_datafiles'
SMALL_TEST_DATA = [('_ziptest1', '1q2w3e4r5t'),
('ziptest2dir/_ziptest2', 'qawsedrftg'),
@@ -487,6 +489,18 @@
except zipfile.BadZipFile:
self.assertTrue(zipfp2.fp is None, 'zipfp is not closed')
+ def test_unicode_filenames(self):
+ if __name__ == '__main__':
+ myfile = sys.argv[0]
+ else:
+ myfile = __file__
+
+ mydir = os.path.dirname(myfile) or os.curdir
+ fname = os.path.join(mydir, 'zip_cp437_header.zip')
+
+ with zipfile.ZipFile(fname) as zipfp:
+ zipfp.extractall()
+
def tearDown(self):
unlink(TESTFN)
unlink(TESTFN2)
diff --git a/Lib/test/zip_cp437_header.zip b/Lib/test/zip_cp437_header.zip
new file mode 100644
index 0000000..f7c6cf1
--- /dev/null
+++ b/Lib/test/zip_cp437_header.zip
Binary files differ