mirror of
https://github.com/python-pillow/Pillow.git
synced 2024-12-24 17:06:16 +03:00
Added type hints
This commit is contained in:
parent
f55c9c6e01
commit
737314923f
|
@ -3,7 +3,7 @@ from __future__ import annotations
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
|
|
||||||
|
|
||||||
def test_sanity():
|
def test_sanity() -> None:
|
||||||
# Make sure we have the binary extension
|
# Make sure we have the binary extension
|
||||||
Image.core.new("L", (100, 100))
|
Image.core.new("L", (100, 100))
|
||||||
|
|
||||||
|
|
|
@ -3,12 +3,12 @@ from __future__ import annotations
|
||||||
from PIL import _binary
|
from PIL import _binary
|
||||||
|
|
||||||
|
|
||||||
def test_standard():
|
def test_standard() -> None:
|
||||||
assert _binary.i8(b"*") == 42
|
assert _binary.i8(b"*") == 42
|
||||||
assert _binary.o8(42) == b"*"
|
assert _binary.o8(42) == b"*"
|
||||||
|
|
||||||
|
|
||||||
def test_little_endian():
|
def test_little_endian() -> None:
|
||||||
assert _binary.i16le(b"\xff\xff\x00\x00") == 65535
|
assert _binary.i16le(b"\xff\xff\x00\x00") == 65535
|
||||||
assert _binary.i32le(b"\xff\xff\x00\x00") == 65535
|
assert _binary.i32le(b"\xff\xff\x00\x00") == 65535
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ def test_little_endian():
|
||||||
assert _binary.o32le(65535) == b"\xff\xff\x00\x00"
|
assert _binary.o32le(65535) == b"\xff\xff\x00\x00"
|
||||||
|
|
||||||
|
|
||||||
def test_big_endian():
|
def test_big_endian() -> None:
|
||||||
assert _binary.i16be(b"\x00\x00\xff\xff") == 0
|
assert _binary.i16be(b"\x00\x00\xff\xff") == 0
|
||||||
assert _binary.i32be(b"\x00\x00\xff\xff") == 65535
|
assert _binary.i32be(b"\x00\x00\xff\xff") == 65535
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ from PIL import CurImagePlugin, Image
|
||||||
TEST_FILE = "Tests/images/deerstalker.cur"
|
TEST_FILE = "Tests/images/deerstalker.cur"
|
||||||
|
|
||||||
|
|
||||||
def test_sanity():
|
def test_sanity() -> None:
|
||||||
with Image.open(TEST_FILE) as im:
|
with Image.open(TEST_FILE) as im:
|
||||||
assert im.size == (32, 32)
|
assert im.size == (32, 32)
|
||||||
assert isinstance(im, CurImagePlugin.CurImageFile)
|
assert isinstance(im, CurImagePlugin.CurImageFile)
|
||||||
|
@ -17,7 +17,7 @@ def test_sanity():
|
||||||
assert im.getpixel((16, 16)) == (84, 87, 86, 255)
|
assert im.getpixel((16, 16)) == (84, 87, 86, 255)
|
||||||
|
|
||||||
|
|
||||||
def test_invalid_file():
|
def test_invalid_file() -> None:
|
||||||
invalid_file = "Tests/images/flower.jpg"
|
invalid_file = "Tests/images/flower.jpg"
|
||||||
|
|
||||||
with pytest.raises(SyntaxError):
|
with pytest.raises(SyntaxError):
|
||||||
|
|
|
@ -7,18 +7,18 @@ from PIL import FtexImagePlugin, Image
|
||||||
from .helper import assert_image_equal_tofile, assert_image_similar
|
from .helper import assert_image_equal_tofile, assert_image_similar
|
||||||
|
|
||||||
|
|
||||||
def test_load_raw():
|
def test_load_raw() -> None:
|
||||||
with Image.open("Tests/images/ftex_uncompressed.ftu") as im:
|
with Image.open("Tests/images/ftex_uncompressed.ftu") as im:
|
||||||
assert_image_equal_tofile(im, "Tests/images/ftex_uncompressed.png")
|
assert_image_equal_tofile(im, "Tests/images/ftex_uncompressed.png")
|
||||||
|
|
||||||
|
|
||||||
def test_load_dxt1():
|
def test_load_dxt1() -> None:
|
||||||
with Image.open("Tests/images/ftex_dxt1.ftc") as im:
|
with Image.open("Tests/images/ftex_dxt1.ftc") as im:
|
||||||
with Image.open("Tests/images/ftex_dxt1.png") as target:
|
with Image.open("Tests/images/ftex_dxt1.png") as target:
|
||||||
assert_image_similar(im, target.convert("RGBA"), 15)
|
assert_image_similar(im, target.convert("RGBA"), 15)
|
||||||
|
|
||||||
|
|
||||||
def test_invalid_file():
|
def test_invalid_file() -> None:
|
||||||
invalid_file = "Tests/images/flower.jpg"
|
invalid_file = "Tests/images/flower.jpg"
|
||||||
|
|
||||||
with pytest.raises(SyntaxError):
|
with pytest.raises(SyntaxError):
|
||||||
|
|
|
@ -7,12 +7,12 @@ from PIL import GbrImagePlugin, Image
|
||||||
from .helper import assert_image_equal_tofile
|
from .helper import assert_image_equal_tofile
|
||||||
|
|
||||||
|
|
||||||
def test_gbr_file():
|
def test_gbr_file() -> None:
|
||||||
with Image.open("Tests/images/gbr.gbr") as im:
|
with Image.open("Tests/images/gbr.gbr") as im:
|
||||||
assert_image_equal_tofile(im, "Tests/images/gbr.png")
|
assert_image_equal_tofile(im, "Tests/images/gbr.png")
|
||||||
|
|
||||||
|
|
||||||
def test_load():
|
def test_load() -> None:
|
||||||
with Image.open("Tests/images/gbr.gbr") as im:
|
with Image.open("Tests/images/gbr.gbr") as im:
|
||||||
assert im.load()[0, 0] == (0, 0, 0, 0)
|
assert im.load()[0, 0] == (0, 0, 0, 0)
|
||||||
|
|
||||||
|
@ -20,14 +20,14 @@ def test_load():
|
||||||
assert im.load()[0, 0] == (0, 0, 0, 0)
|
assert im.load()[0, 0] == (0, 0, 0, 0)
|
||||||
|
|
||||||
|
|
||||||
def test_multiple_load_operations():
|
def test_multiple_load_operations() -> None:
|
||||||
with Image.open("Tests/images/gbr.gbr") as im:
|
with Image.open("Tests/images/gbr.gbr") as im:
|
||||||
im.load()
|
im.load()
|
||||||
im.load()
|
im.load()
|
||||||
assert_image_equal_tofile(im, "Tests/images/gbr.png")
|
assert_image_equal_tofile(im, "Tests/images/gbr.png")
|
||||||
|
|
||||||
|
|
||||||
def test_invalid_file():
|
def test_invalid_file() -> None:
|
||||||
invalid_file = "Tests/images/flower.jpg"
|
invalid_file = "Tests/images/flower.jpg"
|
||||||
|
|
||||||
with pytest.raises(SyntaxError):
|
with pytest.raises(SyntaxError):
|
||||||
|
|
|
@ -7,18 +7,18 @@ from PIL import GdImageFile, UnidentifiedImageError
|
||||||
TEST_GD_FILE = "Tests/images/hopper.gd"
|
TEST_GD_FILE = "Tests/images/hopper.gd"
|
||||||
|
|
||||||
|
|
||||||
def test_sanity():
|
def test_sanity() -> None:
|
||||||
with GdImageFile.open(TEST_GD_FILE) as im:
|
with GdImageFile.open(TEST_GD_FILE) as im:
|
||||||
assert im.size == (128, 128)
|
assert im.size == (128, 128)
|
||||||
assert im.format == "GD"
|
assert im.format == "GD"
|
||||||
|
|
||||||
|
|
||||||
def test_bad_mode():
|
def test_bad_mode() -> None:
|
||||||
with pytest.raises(ValueError):
|
with pytest.raises(ValueError):
|
||||||
GdImageFile.open(TEST_GD_FILE, "bad mode")
|
GdImageFile.open(TEST_GD_FILE, "bad mode")
|
||||||
|
|
||||||
|
|
||||||
def test_invalid_file():
|
def test_invalid_file() -> None:
|
||||||
invalid_file = "Tests/images/flower.jpg"
|
invalid_file = "Tests/images/flower.jpg"
|
||||||
|
|
||||||
with pytest.raises(UnidentifiedImageError):
|
with pytest.raises(UnidentifiedImageError):
|
||||||
|
|
|
@ -5,7 +5,7 @@ import pytest
|
||||||
from PIL.GimpPaletteFile import GimpPaletteFile
|
from PIL.GimpPaletteFile import GimpPaletteFile
|
||||||
|
|
||||||
|
|
||||||
def test_sanity():
|
def test_sanity() -> None:
|
||||||
with open("Tests/images/test.gpl", "rb") as fp:
|
with open("Tests/images/test.gpl", "rb") as fp:
|
||||||
GimpPaletteFile(fp)
|
GimpPaletteFile(fp)
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ def test_sanity():
|
||||||
GimpPaletteFile(fp)
|
GimpPaletteFile(fp)
|
||||||
|
|
||||||
|
|
||||||
def test_get_palette():
|
def test_get_palette() -> None:
|
||||||
# Arrange
|
# Arrange
|
||||||
with open("Tests/images/custom_gimp_palette.gpl", "rb") as fp:
|
with open("Tests/images/custom_gimp_palette.gpl", "rb") as fp:
|
||||||
palette_file = GimpPaletteFile(fp)
|
palette_file = GimpPaletteFile(fp)
|
||||||
|
|
|
@ -9,13 +9,13 @@ from PIL import Image, ImtImagePlugin
|
||||||
from .helper import assert_image_equal_tofile
|
from .helper import assert_image_equal_tofile
|
||||||
|
|
||||||
|
|
||||||
def test_sanity():
|
def test_sanity() -> None:
|
||||||
with Image.open("Tests/images/bw_gradient.imt") as im:
|
with Image.open("Tests/images/bw_gradient.imt") as im:
|
||||||
assert_image_equal_tofile(im, "Tests/images/bw_gradient.png")
|
assert_image_equal_tofile(im, "Tests/images/bw_gradient.png")
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize("data", (b"\n", b"\n-", b"width 1\n"))
|
@pytest.mark.parametrize("data", (b"\n", b"\n-", b"width 1\n"))
|
||||||
def test_invalid_file(data):
|
def test_invalid_file(data: bytes) -> None:
|
||||||
with io.BytesIO(data) as fp:
|
with io.BytesIO(data) as fp:
|
||||||
with pytest.raises(SyntaxError):
|
with pytest.raises(SyntaxError):
|
||||||
ImtImagePlugin.ImtImageFile(fp)
|
ImtImagePlugin.ImtImageFile(fp)
|
||||||
|
|
|
@ -7,14 +7,14 @@ from PIL import Image, McIdasImagePlugin
|
||||||
from .helper import assert_image_equal_tofile
|
from .helper import assert_image_equal_tofile
|
||||||
|
|
||||||
|
|
||||||
def test_invalid_file():
|
def test_invalid_file() -> None:
|
||||||
invalid_file = "Tests/images/flower.jpg"
|
invalid_file = "Tests/images/flower.jpg"
|
||||||
|
|
||||||
with pytest.raises(SyntaxError):
|
with pytest.raises(SyntaxError):
|
||||||
McIdasImagePlugin.McIdasImageFile(invalid_file)
|
McIdasImagePlugin.McIdasImageFile(invalid_file)
|
||||||
|
|
||||||
|
|
||||||
def test_valid_file():
|
def test_valid_file() -> None:
|
||||||
# Arrange
|
# Arrange
|
||||||
# https://ghrc.nsstc.nasa.gov/hydro/details/cmx3g8
|
# https://ghrc.nsstc.nasa.gov/hydro/details/cmx3g8
|
||||||
# https://ghrc.nsstc.nasa.gov/pub/fieldCampaigns/camex3/cmx3g8/browse/
|
# https://ghrc.nsstc.nasa.gov/pub/fieldCampaigns/camex3/cmx3g8/browse/
|
||||||
|
|
|
@ -3,7 +3,7 @@ from __future__ import annotations
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
|
|
||||||
|
|
||||||
def test_load_raw():
|
def test_load_raw() -> None:
|
||||||
with Image.open("Tests/images/hopper.pcd") as im:
|
with Image.open("Tests/images/hopper.pcd") as im:
|
||||||
im.load() # should not segfault.
|
im.load() # should not segfault.
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ from .helper import assert_image_similar, hopper
|
||||||
TEST_FILE = "Tests/images/hopper.pxr"
|
TEST_FILE = "Tests/images/hopper.pxr"
|
||||||
|
|
||||||
|
|
||||||
def test_sanity():
|
def test_sanity() -> None:
|
||||||
with Image.open(TEST_FILE) as im:
|
with Image.open(TEST_FILE) as im:
|
||||||
im.load()
|
im.load()
|
||||||
assert im.mode == "RGB"
|
assert im.mode == "RGB"
|
||||||
|
@ -21,7 +21,7 @@ def test_sanity():
|
||||||
assert_image_similar(im, im2, 4.8)
|
assert_image_similar(im, im2, 4.8)
|
||||||
|
|
||||||
|
|
||||||
def test_invalid_file():
|
def test_invalid_file() -> None:
|
||||||
invalid_file = "Tests/images/flower.jpg"
|
invalid_file = "Tests/images/flower.jpg"
|
||||||
|
|
||||||
with pytest.raises(SyntaxError):
|
with pytest.raises(SyntaxError):
|
||||||
|
|
|
@ -7,7 +7,7 @@ from PIL import Image, QoiImagePlugin
|
||||||
from .helper import assert_image_equal_tofile
|
from .helper import assert_image_equal_tofile
|
||||||
|
|
||||||
|
|
||||||
def test_sanity():
|
def test_sanity() -> None:
|
||||||
with Image.open("Tests/images/hopper.qoi") as im:
|
with Image.open("Tests/images/hopper.qoi") as im:
|
||||||
assert im.mode == "RGB"
|
assert im.mode == "RGB"
|
||||||
assert im.size == (128, 128)
|
assert im.size == (128, 128)
|
||||||
|
@ -23,7 +23,7 @@ def test_sanity():
|
||||||
assert_image_equal_tofile(im, "Tests/images/pil123rgba.png")
|
assert_image_equal_tofile(im, "Tests/images/pil123rgba.png")
|
||||||
|
|
||||||
|
|
||||||
def test_invalid_file():
|
def test_invalid_file() -> None:
|
||||||
invalid_file = "Tests/images/flower.jpg"
|
invalid_file = "Tests/images/flower.jpg"
|
||||||
|
|
||||||
with pytest.raises(SyntaxError):
|
with pytest.raises(SyntaxError):
|
||||||
|
|
|
@ -7,7 +7,7 @@ from .helper import assert_image_equal_tofile
|
||||||
TEST_FILE = "Tests/images/hopper.wal"
|
TEST_FILE = "Tests/images/hopper.wal"
|
||||||
|
|
||||||
|
|
||||||
def test_open():
|
def test_open() -> None:
|
||||||
with WalImageFile.open(TEST_FILE) as im:
|
with WalImageFile.open(TEST_FILE) as im:
|
||||||
assert im.format == "WAL"
|
assert im.format == "WAL"
|
||||||
assert im.format_description == "Quake2 Texture"
|
assert im.format_description == "Quake2 Texture"
|
||||||
|
@ -19,7 +19,7 @@ def test_open():
|
||||||
assert_image_equal_tofile(im, "Tests/images/hopper_wal.png")
|
assert_image_equal_tofile(im, "Tests/images/hopper_wal.png")
|
||||||
|
|
||||||
|
|
||||||
def test_load():
|
def test_load() -> None:
|
||||||
with WalImageFile.open(TEST_FILE) as im:
|
with WalImageFile.open(TEST_FILE) as im:
|
||||||
assert im.load()[0, 0] == 122
|
assert im.load()[0, 0] == 122
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
|
@ -10,7 +12,7 @@ _webp = pytest.importorskip("PIL._webp", reason="WebP support not installed")
|
||||||
RGB_MODE = "RGB"
|
RGB_MODE = "RGB"
|
||||||
|
|
||||||
|
|
||||||
def test_write_lossless_rgb(tmp_path):
|
def test_write_lossless_rgb(tmp_path: Path) -> None:
|
||||||
if _webp.WebPDecoderVersion() < 0x0200:
|
if _webp.WebPDecoderVersion() < 0x0200:
|
||||||
pytest.skip("lossless not included")
|
pytest.skip("lossless not included")
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ from .helper import assert_image_similar, hopper
|
||||||
TEST_FILE = "Tests/images/hopper.xpm"
|
TEST_FILE = "Tests/images/hopper.xpm"
|
||||||
|
|
||||||
|
|
||||||
def test_sanity():
|
def test_sanity() -> None:
|
||||||
with Image.open(TEST_FILE) as im:
|
with Image.open(TEST_FILE) as im:
|
||||||
im.load()
|
im.load()
|
||||||
assert im.mode == "P"
|
assert im.mode == "P"
|
||||||
|
@ -20,14 +20,14 @@ def test_sanity():
|
||||||
assert_image_similar(im.convert("RGB"), hopper("RGB"), 60)
|
assert_image_similar(im.convert("RGB"), hopper("RGB"), 60)
|
||||||
|
|
||||||
|
|
||||||
def test_invalid_file():
|
def test_invalid_file() -> None:
|
||||||
invalid_file = "Tests/images/flower.jpg"
|
invalid_file = "Tests/images/flower.jpg"
|
||||||
|
|
||||||
with pytest.raises(SyntaxError):
|
with pytest.raises(SyntaxError):
|
||||||
XpmImagePlugin.XpmImageFile(invalid_file)
|
XpmImagePlugin.XpmImageFile(invalid_file)
|
||||||
|
|
||||||
|
|
||||||
def test_load_read():
|
def test_load_read() -> None:
|
||||||
# Arrange
|
# Arrange
|
||||||
with Image.open(TEST_FILE) as im:
|
with Image.open(TEST_FILE) as im:
|
||||||
dummy_bytes = 1
|
dummy_bytes = 1
|
||||||
|
|
|
@ -9,7 +9,7 @@ from .helper import assert_image_similar, hopper
|
||||||
TEST_FILE = "Tests/images/hopper.p7"
|
TEST_FILE = "Tests/images/hopper.p7"
|
||||||
|
|
||||||
|
|
||||||
def test_open():
|
def test_open() -> None:
|
||||||
# Act
|
# Act
|
||||||
with Image.open(TEST_FILE) as im:
|
with Image.open(TEST_FILE) as im:
|
||||||
# Assert
|
# Assert
|
||||||
|
@ -20,7 +20,7 @@ def test_open():
|
||||||
assert_image_similar(im, im_hopper, 9)
|
assert_image_similar(im, im_hopper, 9)
|
||||||
|
|
||||||
|
|
||||||
def test_unexpected_eof():
|
def test_unexpected_eof() -> None:
|
||||||
# Test unexpected EOF reading XV thumbnail file
|
# Test unexpected EOF reading XV thumbnail file
|
||||||
# Arrange
|
# Arrange
|
||||||
bad_file = "Tests/images/hopper_bad.p7"
|
bad_file = "Tests/images/hopper_bad.p7"
|
||||||
|
@ -30,7 +30,7 @@ def test_unexpected_eof():
|
||||||
XVThumbImagePlugin.XVThumbImageFile(bad_file)
|
XVThumbImagePlugin.XVThumbImageFile(bad_file)
|
||||||
|
|
||||||
|
|
||||||
def test_invalid_file():
|
def test_invalid_file() -> None:
|
||||||
# Arrange
|
# Arrange
|
||||||
invalid_file = "Tests/images/flower.jpg"
|
invalid_file = "Tests/images/flower.jpg"
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from PIL import FontFile
|
from PIL import FontFile
|
||||||
|
|
||||||
|
|
||||||
def test_save(tmp_path):
|
def test_save(tmp_path: Path) -> None:
|
||||||
tempname = str(tmp_path / "temp.pil")
|
tempname = str(tmp_path / "temp.pil")
|
||||||
|
|
||||||
font = FontFile.FontFile()
|
font = FontFile.FontFile()
|
||||||
|
|
|
@ -3,7 +3,7 @@ from __future__ import annotations
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
|
|
||||||
|
|
||||||
def test_white():
|
def test_white() -> None:
|
||||||
with Image.open("Tests/images/lab.tif") as i:
|
with Image.open("Tests/images/lab.tif") as i:
|
||||||
i.load()
|
i.load()
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ def test_white():
|
||||||
assert list(b) == [128] * 100
|
assert list(b) == [128] * 100
|
||||||
|
|
||||||
|
|
||||||
def test_green():
|
def test_green() -> None:
|
||||||
# l= 50 (/100), a = -100 (-128 .. 128) b=0 in PS
|
# l= 50 (/100), a = -100 (-128 .. 128) b=0 in PS
|
||||||
# == RGB: 0, 152, 117
|
# == RGB: 0, 152, 117
|
||||||
with Image.open("Tests/images/lab-green.tif") as i:
|
with Image.open("Tests/images/lab-green.tif") as i:
|
||||||
|
@ -32,7 +32,7 @@ def test_green():
|
||||||
assert k == (128, 28, 128)
|
assert k == (128, 28, 128)
|
||||||
|
|
||||||
|
|
||||||
def test_red():
|
def test_red() -> None:
|
||||||
# l= 50 (/100), a = 100 (-128 .. 128) b=0 in PS
|
# l= 50 (/100), a = 100 (-128 .. 128) b=0 in PS
|
||||||
# == RGB: 255, 0, 124
|
# == RGB: 255, 0, 124
|
||||||
with Image.open("Tests/images/lab-red.tif") as i:
|
with Image.open("Tests/images/lab-red.tif") as i:
|
||||||
|
|
|
@ -5,7 +5,7 @@ import pytest
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
|
|
||||||
|
|
||||||
def test_setmode():
|
def test_setmode() -> None:
|
||||||
im = Image.new("L", (1, 1), 255)
|
im = Image.new("L", (1, 1), 255)
|
||||||
im.im.setmode("1")
|
im.im.setmode("1")
|
||||||
assert im.im.getpixel((0, 0)) == 255
|
assert im.im.getpixel((0, 0)) == 255
|
||||||
|
|
|
@ -24,7 +24,7 @@ from PIL import Image
|
||||||
path = "Tests/images/hopper.jpg"
|
path = "Tests/images/hopper.jpg"
|
||||||
|
|
||||||
|
|
||||||
def test_sanity():
|
def test_sanity() -> None:
|
||||||
with Image.open(path):
|
with Image.open(path):
|
||||||
pass
|
pass
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -5,7 +5,7 @@ import subprocess
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
|
||||||
def test_main():
|
def test_main() -> None:
|
||||||
out = subprocess.check_output([sys.executable, "-m", "PIL"]).decode("utf-8")
|
out = subprocess.check_output([sys.executable, "-m", "PIL"]).decode("utf-8")
|
||||||
lines = out.splitlines()
|
lines = out.splitlines()
|
||||||
assert lines[0] == "-" * 68
|
assert lines[0] == "-" * 68
|
||||||
|
|
|
@ -7,7 +7,7 @@ from PIL import __version__
|
||||||
pyroma = pytest.importorskip("pyroma", reason="Pyroma not installed")
|
pyroma = pytest.importorskip("pyroma", reason="Pyroma not installed")
|
||||||
|
|
||||||
|
|
||||||
def test_pyroma():
|
def test_pyroma() -> None:
|
||||||
# Arrange
|
# Arrange
|
||||||
data = pyroma.projectdata.get_data(".")
|
data = pyroma.projectdata.get_data(".")
|
||||||
|
|
||||||
|
|
|
@ -3,13 +3,13 @@ from __future__ import annotations
|
||||||
from .helper import assert_image_equal, assert_image_similar, hopper
|
from .helper import assert_image_equal, assert_image_similar, hopper
|
||||||
|
|
||||||
|
|
||||||
def check_upload_equal():
|
def check_upload_equal() -> None:
|
||||||
result = hopper("P").convert("RGB")
|
result = hopper("P").convert("RGB")
|
||||||
target = hopper("RGB")
|
target = hopper("RGB")
|
||||||
assert_image_equal(result, target)
|
assert_image_equal(result, target)
|
||||||
|
|
||||||
|
|
||||||
def check_upload_similar():
|
def check_upload_similar() -> None:
|
||||||
result = hopper("P").convert("RGB")
|
result = hopper("P").convert("RGB")
|
||||||
target = hopper("RGB")
|
target = hopper("RGB")
|
||||||
assert_image_similar(result, target, 0)
|
assert_image_similar(result, target, 0)
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from PIL import _util
|
from PIL import _util
|
||||||
|
|
||||||
|
|
||||||
def test_is_path():
|
def test_is_path() -> None:
|
||||||
# Arrange
|
# Arrange
|
||||||
fp = "filename.ext"
|
fp = "filename.ext"
|
||||||
|
|
||||||
|
@ -16,7 +18,7 @@ def test_is_path():
|
||||||
assert it_is
|
assert it_is
|
||||||
|
|
||||||
|
|
||||||
def test_path_obj_is_path():
|
def test_path_obj_is_path() -> None:
|
||||||
# Arrange
|
# Arrange
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
|
@ -29,7 +31,7 @@ def test_path_obj_is_path():
|
||||||
assert it_is
|
assert it_is
|
||||||
|
|
||||||
|
|
||||||
def test_is_not_path(tmp_path):
|
def test_is_not_path(tmp_path: Path) -> None:
|
||||||
# Arrange
|
# Arrange
|
||||||
with (tmp_path / "temp.ext").open("w") as fp:
|
with (tmp_path / "temp.ext").open("w") as fp:
|
||||||
pass
|
pass
|
||||||
|
@ -41,7 +43,7 @@ def test_is_not_path(tmp_path):
|
||||||
assert not it_is_not
|
assert not it_is_not
|
||||||
|
|
||||||
|
|
||||||
def test_is_directory():
|
def test_is_directory() -> None:
|
||||||
# Arrange
|
# Arrange
|
||||||
directory = "Tests"
|
directory = "Tests"
|
||||||
|
|
||||||
|
@ -52,7 +54,7 @@ def test_is_directory():
|
||||||
assert it_is
|
assert it_is
|
||||||
|
|
||||||
|
|
||||||
def test_is_not_directory():
|
def test_is_not_directory() -> None:
|
||||||
# Arrange
|
# Arrange
|
||||||
text = "abc"
|
text = "abc"
|
||||||
|
|
||||||
|
@ -63,7 +65,7 @@ def test_is_not_directory():
|
||||||
assert not it_is_not
|
assert not it_is_not
|
||||||
|
|
||||||
|
|
||||||
def test_deferred_error():
|
def test_deferred_error() -> None:
|
||||||
# Arrange
|
# Arrange
|
||||||
|
|
||||||
# Act
|
# Act
|
||||||
|
|
|
@ -14,11 +14,11 @@ class TestWebPLeaks(PillowLeakTestCase):
|
||||||
mem_limit = 3 * 1024 # kb
|
mem_limit = 3 * 1024 # kb
|
||||||
iterations = 100
|
iterations = 100
|
||||||
|
|
||||||
def test_leak_load(self):
|
def test_leak_load(self) -> None:
|
||||||
with open(test_file, "rb") as f:
|
with open(test_file, "rb") as f:
|
||||||
im_data = f.read()
|
im_data = f.read()
|
||||||
|
|
||||||
def core():
|
def core() -> None:
|
||||||
with Image.open(BytesIO(im_data)) as im:
|
with Image.open(BytesIO(im_data)) as im:
|
||||||
im.load()
|
im.load()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user