Skip to content

Commit 3495b31

Browse files
committed
Replaced various instances of assert_image_similar with assert_image_similar_tofile
1 parent a5c2510 commit 3495b31

15 files changed

Lines changed: 105 additions & 142 deletions

Tests/test_file_eps.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,12 @@
44

55
from PIL import EpsImagePlugin, Image, features
66

7-
from .helper import assert_image_similar, hopper, skip_unless_feature
7+
from .helper import (
8+
assert_image_similar,
9+
assert_image_similar_tofile,
10+
hopper,
11+
skip_unless_feature,
12+
)
813

914
HAS_GHOSTSCRIPT = EpsImagePlugin.has_ghostscript()
1015

@@ -72,8 +77,9 @@ def test_cmyk():
7277
assert cmyk_image.mode == "RGB"
7378

7479
if features.check("jpg"):
75-
with Image.open("Tests/images/pil_sample_rgb.jpg") as target:
76-
assert_image_similar(cmyk_image, target, 10)
80+
assert_image_similar_tofile(
81+
cmyk_image, "Tests/images/pil_sample_rgb.jpg", 10
82+
)
7783

7884

7985
@pytest.mark.skipif(not HAS_GHOSTSCRIPT, reason="Ghostscript not available")

Tests/test_file_icns.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
from PIL import IcnsImagePlugin, Image, features
77

8-
from .helper import assert_image_equal, assert_image_similar
8+
from .helper import assert_image_equal, assert_image_similar_tofile
99

1010
# sample icon file
1111
TEST_FILE = "Tests/images/pillow.icns"
@@ -49,8 +49,7 @@ def test_save_append_images(tmp_path):
4949
with Image.open(TEST_FILE) as im:
5050
im.save(temp_file, append_images=[provided_im])
5151

52-
with Image.open(temp_file) as reread:
53-
assert_image_similar(reread, im, 1)
52+
assert_image_similar_tofile(im, temp_file, 1)
5453

5554
with Image.open(temp_file) as reread:
5655
reread.size = (16, 16, 2)

Tests/test_file_jpeg.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
assert_image_equal,
2020
assert_image_equal_tofile,
2121
assert_image_similar,
22+
assert_image_similar_tofile,
2223
cjpeg_available,
2324
djpeg_available,
2425
hopper,
@@ -578,15 +579,15 @@ def test_save_low_quality_baseline_qtables(self):
578579
def test_load_djpeg(self):
579580
with Image.open(TEST_FILE) as img:
580581
img.load_djpeg()
581-
assert_image_similar(img, Image.open(TEST_FILE), 5)
582+
assert_image_similar_tofile(img, TEST_FILE, 5)
582583

583584
@pytest.mark.skipif(not cjpeg_available(), reason="cjpeg not available")
584585
def test_save_cjpeg(self, tmp_path):
585586
with Image.open(TEST_FILE) as img:
586587
tempfile = str(tmp_path / "temp.jpg")
587588
JpegImagePlugin._save_cjpeg(img, 0, tempfile)
588589
# Default save quality is 75%, so a tiny bit of difference is alright
589-
assert_image_similar(img, Image.open(tempfile), 17)
590+
assert_image_similar_tofile(img, tempfile, 17)
590591

591592
def test_no_duplicate_0x1001_tag(self):
592593
# Arrange

Tests/test_file_jpeg2k.py

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from .helper import (
99
assert_image_equal,
1010
assert_image_similar,
11+
assert_image_similar_tofile,
1112
is_big_endian,
1213
skip_unless_feature,
1314
)
@@ -62,9 +63,7 @@ def test_invalid_file():
6263
def test_bytesio():
6364
with open("Tests/images/test-card-lossless.jp2", "rb") as f:
6465
data = BytesIO(f.read())
65-
with Image.open(data) as im:
66-
im.load()
67-
assert_image_similar(im, test_card, 1.0e-3)
66+
assert_image_similar_tofile(test_card, data, 1.0e-3)
6867

6968

7069
# These two test pre-written JPEG 2000 files that were not written with
@@ -80,9 +79,9 @@ def test_lossless(tmp_path):
8079

8180

8281
def test_lossy_tiled():
83-
with Image.open("Tests/images/test-card-lossy-tiled.jp2") as im:
84-
im.load()
85-
assert_image_similar(im, test_card, 2.0)
82+
assert_image_similar_tofile(
83+
test_card, "Tests/images/test-card-lossy-tiled.jp2", 2.0
84+
)
8685

8786

8887
def test_lossless_rt():
@@ -193,15 +192,13 @@ def test_16bit_monochrome_has_correct_mode():
193192
@pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian")
194193
def test_16bit_monochrome_jp2_like_tiff():
195194
with Image.open("Tests/images/16bit.cropped.tif") as tiff_16bit:
196-
with Image.open("Tests/images/16bit.cropped.jp2") as jp2:
197-
assert_image_similar(jp2, tiff_16bit, 1e-3)
195+
assert_image_similar_tofile(tiff_16bit, "Tests/images/16bit.cropped.jp2", 1e-3)
198196

199197

200198
@pytest.mark.xfail(is_big_endian(), reason="Fails on big-endian")
201199
def test_16bit_monochrome_j2k_like_tiff():
202200
with Image.open("Tests/images/16bit.cropped.tif") as tiff_16bit:
203-
with Image.open("Tests/images/16bit.cropped.j2k") as j2k:
204-
assert_image_similar(j2k, tiff_16bit, 1e-3)
201+
assert_image_similar_tofile(tiff_16bit, "Tests/images/16bit.cropped.j2k", 1e-3)
205202

206203

207204
def test_16bit_j2k_roundtrips():

Tests/test_file_libtiff.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -457,8 +457,7 @@ def test_compressions(self, tmp_path):
457457

458458
im.save(out, compression="jpeg", quality=30)
459459
size_jpeg_30 = os.path.getsize(out)
460-
with Image.open(out) as im3:
461-
assert_image_similar(im2, im3, 30)
460+
assert_image_similar_tofile(im2, out, 30)
462461

463462
assert size_raw > size_compressed
464463
assert size_compressed > size_jpeg
@@ -642,8 +641,7 @@ def save_bytesio(compression=None):
642641
pilim.save(buffer_io, format="tiff", compression=compression)
643642
buffer_io.seek(0)
644643

645-
with Image.open(buffer_io) as pilim_load:
646-
assert_image_similar(pilim, pilim_load, 0)
644+
assert_image_similar_tofile(pilim, buffer_io, 0)
647645

648646
save_bytesio()
649647
save_bytesio("raw")

Tests/test_file_webp_alpha.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,12 @@
22

33
from PIL import Image
44

5-
from .helper import assert_image_equal, assert_image_similar, hopper
5+
from .helper import (
6+
assert_image_equal,
7+
assert_image_similar,
8+
assert_image_similar_tofile,
9+
hopper,
10+
)
611

712
_webp = pytest.importorskip("PIL._webp", reason="WebP support not installed")
813

@@ -29,8 +34,7 @@ def test_read_rgba():
2934

3035
image.tobytes()
3136

32-
with Image.open("Tests/images/transparent.png") as target:
33-
assert_image_similar(image, target, 20.0)
37+
assert_image_similar_tofile(image, "Tests/images/transparent.png", 20.0)
3438

3539

3640
def test_write_lossless_rgb(tmp_path):

Tests/test_file_wmf.py

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from PIL import Image, WmfImagePlugin
44

5-
from .helper import assert_image_similar, hopper
5+
from .helper import assert_image_similar_tofile, hopper
66

77

88
def test_load_raw():
@@ -13,19 +13,15 @@ def test_load_raw():
1313
# Currently, support for WMF/EMF is Windows-only
1414
im.load()
1515
# Compare to reference rendering
16-
with Image.open("Tests/images/drawing_emf_ref.png") as imref:
17-
imref.load()
18-
assert_image_similar(im, imref, 0)
16+
assert_image_similar_tofile(im, "Tests/images/drawing_emf_ref.png", 0)
1917

2018
# Test basic WMF open and rendering
2119
with Image.open("Tests/images/drawing.wmf") as im:
2220
if hasattr(Image.core, "drawwmf"):
2321
# Currently, support for WMF/EMF is Windows-only
2422
im.load()
2523
# Compare to reference rendering
26-
with Image.open("Tests/images/drawing_wmf_ref.png") as imref:
27-
imref.load()
28-
assert_image_similar(im, imref, 2.0)
24+
assert_image_similar_tofile(im, "Tests/images/drawing_wmf_ref.png", 2.0)
2925

3026

3127
def test_register_handler(tmp_path):
@@ -66,8 +62,7 @@ def test_load_set_dpi():
6662
im.load(144)
6763
assert im.size == (164, 164)
6864

69-
with Image.open("Tests/images/drawing_wmf_ref_144.png") as expected:
70-
assert_image_similar(im, expected, 2.1)
65+
assert_image_similar_tofile(im, "Tests/images/drawing_wmf_ref_144.png", 2.1)
7166

7267

7368
def test_save(tmp_path):

Tests/test_font_pcf.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
from .helper import (
88
assert_image_equal_tofile,
9-
assert_image_similar,
9+
assert_image_similar_tofile,
1010
skip_unless_feature,
1111
)
1212

@@ -61,8 +61,7 @@ def test_draw(request, tmp_path):
6161
im = Image.new("L", (130, 30), "white")
6262
draw = ImageDraw.Draw(im)
6363
draw.text((0, 0), message, "black", font=font)
64-
with Image.open("Tests/images/test_draw_pbm_target.png") as target:
65-
assert_image_similar(im, target, 0)
64+
assert_image_similar_tofile(im, "Tests/images/test_draw_pbm_target.png", 0)
6665

6766

6867
def test_textsize(request, tmp_path):
@@ -83,8 +82,7 @@ def _test_high_characters(request, tmp_path, message):
8382
im = Image.new("L", (750, 30), "white")
8483
draw = ImageDraw.Draw(im)
8584
draw.text((0, 0), message, "black", font=font)
86-
with Image.open("Tests/images/high_ascii_chars.png") as target:
87-
assert_image_similar(im, target, 0)
85+
assert_image_similar_tofile(im, "Tests/images/high_ascii_chars.png", 0)
8886

8987

9088
def test_high_characters(request, tmp_path):

Tests/test_font_pcf_charsets.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
from .helper import (
66
assert_image_equal_tofile,
7-
assert_image_similar,
7+
assert_image_similar_tofile,
88
skip_unless_feature,
99
)
1010

@@ -82,8 +82,7 @@ def _test_draw(request, tmp_path, encoding):
8282
draw = ImageDraw.Draw(im)
8383
message = charsets[encoding]["message"].encode(encoding)
8484
draw.text((0, 0), message, "black", font=font)
85-
with Image.open(charsets[encoding]["image1"]) as target:
86-
assert_image_similar(im, target, 0)
85+
assert_image_similar_tofile(im, charsets[encoding]["image1"], 0)
8786

8887

8988
def test_draw_iso8859_1(request, tmp_path):

Tests/test_image.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
from .helper import (
1212
assert_image_equal,
1313
assert_image_equal_tofile,
14-
assert_image_similar,
14+
assert_image_similar_tofile,
1515
assert_not_all_same,
1616
hopper,
1717
is_win32,
@@ -172,8 +172,7 @@ def test_tempfile(self):
172172
with tempfile.TemporaryFile() as fp:
173173
im.save(fp, "JPEG")
174174
fp.seek(0)
175-
with Image.open(fp) as reloaded:
176-
assert_image_similar(im, reloaded, 20)
175+
assert_image_similar_tofile(im, fp, 20)
177176

178177
def test_unknown_extension(self, tmp_path):
179178
im = hopper()
@@ -456,8 +455,7 @@ def test_effect_spread(self):
456455

457456
# Assert
458457
assert im.size == (128, 128)
459-
with Image.open("Tests/images/effect_spread.png") as im3:
460-
assert_image_similar(im2, im3, 110)
458+
assert_image_similar_tofile(im2, "Tests/images/effect_spread.png", 110)
461459

462460
def test_effect_spread_zero(self):
463461
# Arrange

0 commit comments

Comments
 (0)