mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-07-14 18:22:23 +03:00
test_imagefile.py improvements
This commit is contained in:
parent
5b1d17575c
commit
e39e422ca6
|
@ -215,19 +215,44 @@ class MockPyDecoder(ImageFile.PyDecoder):
|
||||||
|
|
||||||
|
|
||||||
class MockPyEncoder(ImageFile.PyEncoder):
|
class MockPyEncoder(ImageFile.PyEncoder):
|
||||||
last: MockPyEncoder | None
|
last = None
|
||||||
|
|
||||||
def __init__(self, mode: str, *args: Any) -> None:
|
def __init__(self, mode: str, *args: Any) -> None:
|
||||||
|
super().__init__(mode, *args)
|
||||||
|
self._pushes_fd = False
|
||||||
|
self.cleanup_called = False
|
||||||
MockPyEncoder.last = self
|
MockPyEncoder.last = self
|
||||||
|
|
||||||
super().__init__(mode, *args)
|
|
||||||
|
|
||||||
def encode(self, buffer):
|
def encode(self, buffer):
|
||||||
|
# Simulate encoding
|
||||||
|
if buffer is None:
|
||||||
|
raise NotImplementedError
|
||||||
return 1, 1, b""
|
return 1, 1, b""
|
||||||
|
|
||||||
def cleanup(self) -> None:
|
def cleanup(self) -> None:
|
||||||
self.cleanup_called = True
|
self.cleanup_called = True
|
||||||
|
|
||||||
|
def test_encode_to_file() -> None:
|
||||||
|
encoder = MockPyEncoder("RGBA")
|
||||||
|
|
||||||
|
with pytest.raises(NotImplementedError):
|
||||||
|
encoder.encode_to_file(None, None)
|
||||||
|
|
||||||
|
encoder._pushes_fd = True
|
||||||
|
with pytest.raises(NotImplementedError):
|
||||||
|
encoder.encode_to_file(None, None)
|
||||||
|
|
||||||
|
buffer = BytesIO(b"\x00" * 10)
|
||||||
|
encoder._pushes_fd = False
|
||||||
|
encoder.encode = lambda buffer: (1, 1, b"")
|
||||||
|
try:
|
||||||
|
encoder.encode_to_file(buffer, None)
|
||||||
|
except NotImplementedError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
encoder.encode = lambda buffer: (_ for _ in ()).throw(NotImplementedError)
|
||||||
|
with pytest.raises(NotImplementedError):
|
||||||
|
encoder.encode_to_file(buffer, None)
|
||||||
|
|
||||||
xoff, yoff, xsize, ysize = 10, 20, 100, 100
|
xoff, yoff, xsize, ysize = 10, 20, 100, 100
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user