diff options
Diffstat (limited to 'Lib/test/test_zipfile.py')
-rw-r--r-- | Lib/test/test_zipfile.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/Lib/test/test_zipfile.py b/Lib/test/test_zipfile.py index 30efeb9..4682b7d 100644 --- a/Lib/test/test_zipfile.py +++ b/Lib/test/test_zipfile.py @@ -125,6 +125,25 @@ class TestsWithSourceFile(unittest.TestCase): for f in (TESTFN2, TemporaryFile(), io.BytesIO()): self.zipOpenTest(f, zipfile.ZIP_STORED) + def testOpenViaZipInfo(self): + # Create the ZIP archive + zipfp = zipfile.ZipFile(TESTFN2, "w", zipfile.ZIP_STORED) + zipfp.writestr("name", "foo") + zipfp.writestr("name", "bar") + zipfp.close() + + zipfp = zipfile.ZipFile(TESTFN2, "r") + infos = zipfp.infolist() + data = b"" + for info in infos: + data += zipfp.open(info).read() + self.assert_(data == b"foobar" or data == b"barfoo") + data = b"" + for info in infos: + data += zipfp.read(info) + self.assert_(data == b"foobar" or data == b"barfoo") + zipfp.close() + def zipRandomOpenTest(self, f, compression): self.makeTestArchive(f, compression) |