Pillow
1from __future__ import annotations
2
3import pytest
4
5from PIL import Image, XVThumbImagePlugin
6
7from .helper import assert_image_similar, hopper
8
9TEST_FILE = "Tests/images/hopper.p7"
10
11
12def test_open() -> None:
13# Act
14with Image.open(TEST_FILE) as im:
15# Assert
16assert im.format == "XVThumb"
17
18# Create a Hopper image with a similar XV palette
19im_hopper = hopper().quantize(palette=im)
20assert_image_similar(im, im_hopper, 9)
21
22
23def test_unexpected_eof() -> None:
24# Test unexpected EOF reading XV thumbnail file
25# Arrange
26bad_file = "Tests/images/hopper_bad.p7"
27
28# Act / Assert
29with pytest.raises(SyntaxError):
30XVThumbImagePlugin.XVThumbImageFile(bad_file)
31
32
33def test_invalid_file() -> None:
34# Arrange
35invalid_file = "Tests/images/flower.jpg"
36
37# Act / Assert
38with pytest.raises(SyntaxError):
39XVThumbImagePlugin.XVThumbImageFile(invalid_file)
40