From 4e52d06e6cf0515207e0fd82ed7e88e205d7e08a Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 5 May 2022 17:57:08 +1000 Subject: [PATCH] Added test --- .../images/tiff_wrong_bits_per_sample_3.tiff | Bin 0 -> 49053 bytes Tests/test_file_tiff.py | 26 ++++++++++++++---- 2 files changed, 21 insertions(+), 5 deletions(-) create mode 100644 Tests/images/tiff_wrong_bits_per_sample_3.tiff diff --git a/Tests/images/tiff_wrong_bits_per_sample_3.tiff b/Tests/images/tiff_wrong_bits_per_sample_3.tiff new file mode 100644 index 0000000000000000000000000000000000000000..43526b157a5c9ea3c584ea593393a2b97e744e78 GIT binary patch literal 49053 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 ugut1At$#0 literal 0 HcmV?d00001 diff --git a/Tests/test_file_tiff.py b/Tests/test_file_tiff.py index 16c43b00f..87e0c2d25 100644 --- a/Tests/test_file_tiff.py +++ b/Tests/test_file_tiff.py @@ -92,17 +92,33 @@ class TestFileTiff: assert_image_equal_tofile(im, "Tests/images/hopper.tif") @pytest.mark.parametrize( - "file_name,mode,size,offset", + "file_name,mode,size,tile", [ - ("tiff_wrong_bits_per_sample.tiff", "RGBA", (52, 53), 160), - ("tiff_wrong_bits_per_sample_2.tiff", "RGB", (16, 16), 8), + ( + "tiff_wrong_bits_per_sample.tiff", + "RGBA", + (52, 53), + [("raw", (0, 0, 52, 53), 160, ("RGBA", 0, 1))], + ), + ( + "tiff_wrong_bits_per_sample_2.tiff", + "RGB", + (16, 16), + [("raw", (0, 0, 16, 16), 8, ("RGB", 0, 1))], + ), + ( + "tiff_wrong_bits_per_sample_3.tiff", + "RGBA", + (512, 256), + [("libtiff", (0, 0, 512, 256), 0, ("RGBA", "tiff_lzw", False, 48782))], + ), ], ) - def test_wrong_bits_per_sample(self, file_name, mode, size, offset): + def test_wrong_bits_per_sample(self, file_name, mode, size, tile): with Image.open("Tests/images/" + file_name) as im: assert im.mode == mode assert im.size == size - assert im.tile == [("raw", (0, 0) + size, offset, (mode, 0, 1))] + assert im.tile == tile im.load() def test_set_legacy_api(self):