Pillow/Tests/test_file_wal.py
2025-09-04 08:27:52 +10:00

44 lines
1.1 KiB
Python

from __future__ import annotations
from io import BytesIO
from PIL import WalImageFile
from .helper import assert_image_equal_tofile
TEST_FILE = "Tests/images/hopper.wal"
def test_open() -> None:
with WalImageFile.open(TEST_FILE) as im:
assert im.format == "WAL"
assert im.format_description == "Quake2 Texture"
assert im.mode == "P"
assert im.size == (128, 128)
assert "next_name" not in im.info
assert isinstance(im, WalImageFile.WalImageFile)
assert_image_equal_tofile(im, "Tests/images/hopper_wal.png")
def test_next_name() -> None:
with open(TEST_FILE, "rb") as fp:
data = bytearray(fp.read())
data[56:60] = b"Test"
f = BytesIO(data)
with WalImageFile.open(f) as im:
assert im.info["next_name"] == b"Test"
def test_load() -> None:
with WalImageFile.open(TEST_FILE) as im:
px = im.load()
assert px is not None
assert px[0, 0] == 122
# Test again now that it has already been loaded once
px = im.load()
assert px is not None
assert px[0, 0] == 122