1
from __future__ import annotations
7
from PIL import Image, SunImagePlugin
9
from .helper import assert_image_equal_tofile, assert_image_similar, hopper
11
EXTRA_DIR = "Tests/images/sunraster"
14
def test_sanity() -> None:
17
test_file = "Tests/images/hopper.ras"
20
with Image.open(test_file) as im:
22
assert im.size == (128, 128)
24
assert_image_similar(im, hopper(), 5)
26
invalid_file = "Tests/images/flower.jpg"
27
with pytest.raises(SyntaxError):
28
SunImagePlugin.SunImageFile(invalid_file)
31
def test_im1() -> None:
32
with Image.open("Tests/images/sunraster.im1") as im:
33
assert_image_equal_tofile(im, "Tests/images/sunraster.im1.png")
37
not os.path.exists(EXTRA_DIR), reason="Extra image files not installed"
39
def test_others() -> None:
41
os.path.join(EXTRA_DIR, f)
42
for f in os.listdir(EXTRA_DIR)
43
if os.path.splitext(f)[1] in (".sun", ".SUN", ".ras")
46
with Image.open(path) as im:
48
assert isinstance(im, SunImagePlugin.SunImageFile)
49
assert_image_equal_tofile(im, f"{os.path.splitext(path)[0]}.png")