Pillow
1from __future__ import annotations
2
3import pytest
4
5from PIL import Image, XpmImagePlugin
6
7from .helper import assert_image_similar, hopper
8
9TEST_FILE = "Tests/images/hopper.xpm"
10
11
12def test_sanity() -> None:
13with Image.open(TEST_FILE) as im:
14im.load()
15assert im.mode == "P"
16assert im.size == (128, 128)
17assert im.format == "XPM"
18
19# large error due to quantization->44 colors.
20assert_image_similar(im.convert("RGB"), hopper("RGB"), 60)
21
22
23def test_invalid_file() -> None:
24invalid_file = "Tests/images/flower.jpg"
25
26with pytest.raises(SyntaxError):
27XpmImagePlugin.XpmImageFile(invalid_file)
28
29
30def test_load_read() -> None:
31# Arrange
32with Image.open(TEST_FILE) as im:
33dummy_bytes = 1
34
35# Act
36data = im.load_read(dummy_bytes)
37
38# Assert
39assert len(data) == 16384
40