diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2010-05-11 23:32:31 (GMT) |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2010-05-11 23:32:31 (GMT) |
commit | 37ffc3e3ba18d0e54ea6f79e9c8aad94f0b41a7d (patch) | |
tree | 1c91496d025bbf7d665f1ea98aebb9505110761a /Lib/test/test_zlib.py | |
parent | b9bf97132d2bd1819e49d2d53c7fa0309b14bb07 (diff) | |
download | cpython-37ffc3e3ba18d0e54ea6f79e9c8aad94f0b41a7d.zip cpython-37ffc3e3ba18d0e54ea6f79e9c8aad94f0b41a7d.tar.gz cpython-37ffc3e3ba18d0e54ea6f79e9c8aad94f0b41a7d.tar.bz2 |
Issue #8672: Add a zlib test ensuring that an incomplete stream can be
handled by a decompressor object without errors (it returns incomplete
uncompressed data).
Diffstat (limited to 'Lib/test/test_zlib.py')
-rw-r--r-- | Lib/test/test_zlib.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/Lib/test/test_zlib.py b/Lib/test/test_zlib.py index cd02175..2fc4313 100644 --- a/Lib/test/test_zlib.py +++ b/Lib/test/test_zlib.py @@ -361,6 +361,19 @@ class CompressObjectTestCase(BaseCompressTestCase, unittest.TestCase): dco = zlib.decompressobj() self.assertEqual(dco.flush(), "") # Returns nothing + def test_decompress_incomplete_stream(self): + # This is 'foo', deflated + x = 'x\x9cK\xcb\xcf\x07\x00\x02\x82\x01E' + # For the record + self.assertEqual(zlib.decompress(x), 'foo') + self.assertRaises(zlib.error, zlib.decompress, x[:-5]) + # Omitting the stream end works with decompressor objects + # (see issue #8672). + dco = zlib.decompressobj() + y = dco.decompress(x[:-5]) + y += dco.flush() + self.assertEqual(y, 'foo') + if hasattr(zlib.compressobj(), "copy"): def test_compresscopy(self): # Test copying a compression object |