From a2ced61977677ac00c398ef7168107737e295bbe Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 28 Sep 2022 21:41:42 +1000 Subject: [PATCH] Added IMT tests --- Tests/images/hopper.imt | Bin 0 -> 2599 bytes Tests/test_file_imt.py | 19 +++++++++++++++++++ src/PIL/ImtImagePlugin.py | 6 +++--- 3 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 Tests/images/hopper.imt create mode 100644 Tests/test_file_imt.py diff --git a/Tests/images/hopper.imt b/Tests/images/hopper.imt new file mode 100644 index 0000000000000000000000000000000000000000..d765cf95facfcb7cb2dbd63b61a6e48d213c31b5 GIT binary patch literal 2599 zcmdN&&d<$F%`4$5&rB)FP%ttz+{(>E|QGBzQN=`{lOV7y6%FfBn%P%M_ zDlRE4E3c@ms;;T6t8Zv*YHn$5Ywzgn>h9_7>z^=j(&Q;qr%j(RbJpxRbLY)puyE1h zB}NRWEt>3V5)8;K(w{73CbJy-Yd-v@>aPZLKBS()NKXLNZ=`&}~oxgDL z(&Z~xuU)@!^VaPo;%Tz5np>)8{W=zkUDl^Vjb`fB*d- c_5W!6kEZ|8{6AX$jh6qT_1|dyKhoMi07e@JTmS$7 literal 0 HcmV?d00001 diff --git a/Tests/test_file_imt.py b/Tests/test_file_imt.py new file mode 100644 index 00000000000..3bcc97b077a --- /dev/null +++ b/Tests/test_file_imt.py @@ -0,0 +1,19 @@ +import io + +import pytest + +from PIL import Image, ImtImagePlugin + +from .helper import assert_image_equal_tofile + + +def test_sanity(): + with Image.open("Tests/images/hopper.imt") as im: + assert_image_equal_tofile(im, "Tests/images/bw_gradient.png") + + +@pytest.mark.parametrize("data", (b"\n", b"\n-", b"width 1\n")) +def test_invalid_file(data): + with io.BytesIO(data) as fp: + with pytest.raises(SyntaxError): + ImtImagePlugin.ImtImageFile(fp) diff --git a/src/PIL/ImtImagePlugin.py b/src/PIL/ImtImagePlugin.py index 5790acdaf52..5bcb959f143 100644 --- a/src/PIL/ImtImagePlugin.py +++ b/src/PIL/ImtImagePlugin.py @@ -74,13 +74,13 @@ def _open(self): if not m: break k, v = m.group(1, 2) - if k == "width": + if k == b"width": xsize = int(v) self._size = xsize, ysize - elif k == "height": + elif k == b"height": ysize = int(v) self._size = xsize, ysize - elif k == "pixel" and v == "n8": + elif k == b"pixel" and v == b"n8": self.mode = "L"