Pillow/Tests/test_file_xvthumb.py

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

40 lines
934 B
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, XVThumbImagePlugin
2020-02-12 19:29:19 +03:00
from .helper import assert_image_similar, hopper
TEST_FILE = "Tests/images/hopper.p7"
2017-03-01 12:20:18 +03:00
2024-01-27 07:19:43 +03:00
def test_open() -> None:
2020-02-12 19:29:19 +03:00
# Act
with Image.open(TEST_FILE) as im:
# Assert
assert im.format == "XVThumb"
2020-02-12 19:29:19 +03:00
# Create a Hopper image with a similar XV palette
im_hopper = hopper().quantize(palette=im)
assert_image_similar(im, im_hopper, 9)
2017-03-05 00:33:43 +03:00
2024-01-27 07:19:43 +03:00
def test_unexpected_eof() -> None:
2020-02-12 19:29:19 +03:00
# Test unexpected EOF reading XV thumbnail file
# Arrange
bad_file = "Tests/images/hopper_bad.p7"
2017-03-05 00:33:43 +03:00
2020-02-12 19:29:19 +03:00
# Act / Assert
with pytest.raises(SyntaxError):
XVThumbImagePlugin.XVThumbImageFile(bad_file)
2017-03-01 12:20:18 +03:00
2020-02-12 19:29:19 +03:00
2024-01-27 07:19:43 +03:00
def test_invalid_file() -> None:
2020-02-12 19:29:19 +03:00
# Arrange
invalid_file = "Tests/images/flower.jpg"
# Act / Assert
with pytest.raises(SyntaxError):
XVThumbImagePlugin.XVThumbImageFile(invalid_file)