mirror of https://github.com/python/cpython
bpo-28286: Add tests for the mode argument of GzipFile. (#4074)
This commit is contained in:
parent
daeefd2e04
commit
bcbdd2f8db
|
@ -431,6 +431,30 @@ class TestGzip(BaseTest):
|
|||
with gzip.GzipFile(fileobj=f, mode="w") as g:
|
||||
pass
|
||||
|
||||
def test_fileobj_mode(self):
|
||||
gzip.GzipFile(self.filename, "wb").close()
|
||||
with open(self.filename, "r+b") as f:
|
||||
with gzip.GzipFile(fileobj=f, mode='r') as g:
|
||||
self.assertEqual(g.mode, gzip.READ)
|
||||
with gzip.GzipFile(fileobj=f, mode='w') as g:
|
||||
self.assertEqual(g.mode, gzip.WRITE)
|
||||
with gzip.GzipFile(fileobj=f, mode='a') as g:
|
||||
self.assertEqual(g.mode, gzip.WRITE)
|
||||
with gzip.GzipFile(fileobj=f, mode='x') as g:
|
||||
self.assertEqual(g.mode, gzip.WRITE)
|
||||
with self.assertRaises(ValueError):
|
||||
gzip.GzipFile(fileobj=f, mode='z')
|
||||
for mode in "rb", "r+b":
|
||||
with open(self.filename, mode) as f:
|
||||
with gzip.GzipFile(fileobj=f) as g:
|
||||
self.assertEqual(g.mode, gzip.READ)
|
||||
for mode in "wb", "ab", "xb":
|
||||
if "x" in mode:
|
||||
support.unlink(self.filename)
|
||||
with open(self.filename, mode) as f:
|
||||
with gzip.GzipFile(fileobj=f) as g:
|
||||
self.assertEqual(g.mode, gzip.WRITE)
|
||||
|
||||
def test_bytes_filename(self):
|
||||
str_filename = self.filename
|
||||
try:
|
||||
|
|
Loading…
Reference in New Issue