Pillow/Tests/test_file_sun.py

53 lines
1.4 KiB
Python
Raw Normal View History

import os
2014-07-16 15:24:23 +04:00
2020-02-12 19:29:19 +03:00
import pytest
2015-07-03 08:03:25 +03:00
from PIL import Image, SunImagePlugin
2014-07-16 15:24:23 +04:00
2020-02-12 19:29:19 +03:00
from .helper import assert_image_equal, assert_image_similar, hopper
2019-06-13 18:54:11 +03:00
EXTRA_DIR = "Tests/images/sunraster"
2014-07-16 15:24:23 +04:00
2017-04-20 14:14:23 +03:00
2020-02-12 19:29:19 +03:00
def test_sanity():
# Arrange
# Created with ImageMagick: convert hopper.jpg hopper.ras
test_file = "Tests/images/hopper.ras"
2014-07-16 15:24:23 +04:00
2020-02-12 19:29:19 +03:00
# Act
with Image.open(test_file) as im:
2014-07-16 15:24:23 +04:00
2020-02-12 19:29:19 +03:00
# Assert
assert im.size == (128, 128)
2014-07-16 15:24:23 +04:00
2020-02-12 19:29:19 +03:00
assert_image_similar(im, hopper(), 5) # visually verified
2017-04-20 14:14:23 +03:00
2020-02-12 19:29:19 +03:00
invalid_file = "Tests/images/flower.jpg"
with pytest.raises(SyntaxError):
SunImagePlugin.SunImageFile(invalid_file)
2015-07-03 08:03:25 +03:00
2020-02-12 19:29:19 +03:00
def test_im1():
with Image.open("Tests/images/sunraster.im1") as im:
with Image.open("Tests/images/sunraster.im1.png") as target:
assert_image_equal(im, target)
@pytest.mark.skipif(
not os.path.exists(EXTRA_DIR), reason="Extra image files not installed"
)
def test_others():
files = (
os.path.join(EXTRA_DIR, f)
for f in os.listdir(EXTRA_DIR)
if os.path.splitext(f)[1] in (".sun", ".SUN", ".ras")
)
for path in files:
with Image.open(path) as im:
im.load()
assert isinstance(im, SunImagePlugin.SunImageFile)
target_path = "%s.png" % os.path.splitext(path)[0]
# im.save(target_file)
with Image.open(target_path) as target:
assert_image_equal(im, target)