mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-09-24 13:07:00 +03:00
Test largest cursor
This commit is contained in:
parent
bf18e5fe8b
commit
067569790b
|
@ -1,8 +1,13 @@
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from io import BytesIO
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from PIL import CurImagePlugin, Image
|
from PIL import CurImagePlugin, Image
|
||||||
|
from PIL._binary import o8
|
||||||
|
from PIL._binary import o16le as o16
|
||||||
|
from PIL._binary import o32le as o32
|
||||||
|
|
||||||
TEST_FILE = "Tests/images/deerstalker.cur"
|
TEST_FILE = "Tests/images/deerstalker.cur"
|
||||||
|
|
||||||
|
@ -17,6 +22,24 @@ def test_sanity() -> None:
|
||||||
assert im.getpixel((16, 16)) == (84, 87, 86, 255)
|
assert im.getpixel((16, 16)) == (84, 87, 86, 255)
|
||||||
|
|
||||||
|
|
||||||
|
def test_largest_cursor() -> None:
|
||||||
|
magic = b"\x00\x00\x02\x00"
|
||||||
|
sizes = ((1, 1), (8, 8), (4, 4))
|
||||||
|
data = magic + o16(len(sizes))
|
||||||
|
for w, h in sizes:
|
||||||
|
image_offset = 6 + len(sizes) * 16 if (w, h) == max(sizes) else 0
|
||||||
|
data += o8(w) + o8(h) + o8(0) * 10 + o32(image_offset)
|
||||||
|
data += (
|
||||||
|
o32(12) # header size
|
||||||
|
+ o16(8) # width
|
||||||
|
+ o16(16) # height
|
||||||
|
+ o16(0) # planes
|
||||||
|
+ o16(1) # bits
|
||||||
|
)
|
||||||
|
with Image.open(BytesIO(data)) as im:
|
||||||
|
assert im.size == (8, 8)
|
||||||
|
|
||||||
|
|
||||||
def test_invalid_file() -> None:
|
def test_invalid_file() -> None:
|
||||||
invalid_file = "Tests/images/flower.jpg"
|
invalid_file = "Tests/images/flower.jpg"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user