Pillow/Tests/test_file_fpx.py

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

49 lines
1.2 KiB
Python
Raw Normal View History

from __future__ import annotations
2024-01-20 14:23:03 +03:00
2020-02-12 19:29:19 +03:00
import pytest
from PIL import Image
from .helper import assert_image_equal_tofile
FpxImagePlugin = pytest.importorskip(
"PIL.FpxImagePlugin", reason="olefile not installed"
2020-02-12 19:29:19 +03:00
)
def test_sanity():
with Image.open("Tests/images/input_bw_one_band.fpx") as im:
assert im.mode == "L"
assert im.size == (70, 46)
assert im.format == "FPX"
assert_image_equal_tofile(im, "Tests/images/input_bw_one_band.png")
def test_close():
with Image.open("Tests/images/input_bw_one_band.fpx") as im:
pass
assert im.ole.fp.closed
im = Image.open("Tests/images/input_bw_one_band.fpx")
im.close()
assert im.ole.fp.closed
2020-02-12 19:29:19 +03:00
def test_invalid_file():
# Test an invalid OLE file
invalid_file = "Tests/images/flower.jpg"
with pytest.raises(SyntaxError):
FpxImagePlugin.FpxImageFile(invalid_file)
2015-07-03 08:03:25 +03:00
2020-02-12 19:29:19 +03:00
# Test a valid OLE file, but not an FPX file
ole_file = "Tests/images/test-ole-file.doc"
with pytest.raises(SyntaxError):
FpxImagePlugin.FpxImageFile(ole_file)
2015-07-03 08:03:25 +03:00
2020-02-12 19:29:19 +03:00
def test_fpx_invalid_number_of_bands():
with pytest.raises(OSError, match="Invalid number of bands"):
2021-02-11 13:43:54 +03:00
with Image.open("Tests/images/input_bw_five_bands.fpx"):
pass