diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2009-01-10 16:13:45 (GMT) |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2009-01-10 16:13:45 (GMT) |
commit | b74fc2b5feda3dbd56b2770a5a52c83db59c14d4 (patch) | |
tree | c2ef7352411220afaa1c190e2872def4ae5980ad /Lib/test/test_gzip.py | |
parent | 7c303e9a98e07768b7ae2d3deff760a7214dd826 (diff) | |
download | cpython-b74fc2b5feda3dbd56b2770a5a52c83db59c14d4.zip cpython-b74fc2b5feda3dbd56b2770a5a52c83db59c14d4.tar.gz cpython-b74fc2b5feda3dbd56b2770a5a52c83db59c14d4.tar.bz2 |
Issue #3860: GzipFile and BZ2File now support the context manager protocol.
Diffstat (limited to 'Lib/test/test_gzip.py')
-rw-r--r-- | Lib/test/test_gzip.py | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/Lib/test/test_gzip.py b/Lib/test/test_gzip.py index 25f9ee6..b7250db 100644 --- a/Lib/test/test_gzip.py +++ b/Lib/test/test_gzip.py @@ -166,7 +166,6 @@ class TestGzip(unittest.TestCase): fWrite = gzip.GzipFile(self.filename, 'w', mtime = mtime) fWrite.write(data1) fWrite.close() - fRead = gzip.GzipFile(self.filename) dataRead = fRead.read() self.assertEqual(dataRead, data1) @@ -222,6 +221,27 @@ class TestGzip(unittest.TestCase): fRead.close() + def test_with_open(self): + # GzipFile supports the context management protocol + with gzip.GzipFile(self.filename, "wb") as f: + f.write(b"xxx") + f = gzip.GzipFile(self.filename, "rb") + f.close() + try: + with f: + pass + except ValueError: + pass + else: + self.fail("__enter__ on a closed file didn't raise an exception") + try: + with gzip.GzipFile(self.filename, "wb") as f: + 1/0 + except ZeroDivisionError: + pass + else: + self.fail("1/0 didn't raise an exception") + def test_main(verbose=None): test_support.run_unittest(TestGzip) |