mirror of
https://github.com/python/cpython.git
synced 2025-08-28 12:45:07 +00:00
parent
8e9045d0d8
commit
03020cfa97
4 changed files with 32 additions and 1 deletions
|
@ -5,6 +5,7 @@ import unittest
|
|||
from test import support
|
||||
from test.support import bigmemtest, _4G
|
||||
import os
|
||||
import pathlib
|
||||
import io
|
||||
import struct
|
||||
import array
|
||||
|
@ -67,6 +68,18 @@ class TestGzip(BaseTest):
|
|||
# Test multiple close() calls.
|
||||
f.close()
|
||||
|
||||
def test_write_read_with_pathlike_file(self):
|
||||
filename = pathlib.Path(self.filename)
|
||||
with gzip.GzipFile(filename, 'w') as f:
|
||||
f.write(data1 * 50)
|
||||
self.assertIsInstance(f.name, str)
|
||||
with gzip.GzipFile(filename, 'a') as f:
|
||||
f.write(data1)
|
||||
with gzip.GzipFile(filename) as f:
|
||||
d = f.read()
|
||||
self.assertEqual(d, data1 * 51)
|
||||
self.assertIsInstance(f.name, str)
|
||||
|
||||
# The following test_write_xy methods test that write accepts
|
||||
# the corresponding bytes-like object type as input
|
||||
# and that the data written equals bytes(xy) in all cases.
|
||||
|
@ -521,6 +534,15 @@ class TestOpen(BaseTest):
|
|||
file_data = gzip.decompress(f.read())
|
||||
self.assertEqual(file_data, uncompressed)
|
||||
|
||||
def test_pathlike_file(self):
|
||||
filename = pathlib.Path(self.filename)
|
||||
with gzip.open(filename, "wb") as f:
|
||||
f.write(data1 * 50)
|
||||
with gzip.open(filename, "ab") as f:
|
||||
f.write(data1)
|
||||
with gzip.open(filename) as f:
|
||||
self.assertEqual(f.read(), data1 * 51)
|
||||
|
||||
def test_implicit_binary_modes(self):
|
||||
# Test implicit binary modes (no "b" or "t" in mode string).
|
||||
uncompressed = data1 * 50
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue