diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/files/brokenimg.png | 1 | ||||
| -rw-r--r-- | tests/files/tests.py | 16 |
2 files changed, 17 insertions, 0 deletions
diff --git a/tests/files/brokenimg.png b/tests/files/brokenimg.png new file mode 100644 index 0000000000..190a18037c --- /dev/null +++ b/tests/files/brokenimg.png @@ -0,0 +1 @@ +123 diff --git a/tests/files/tests.py b/tests/files/tests.py index 2401f26c8f..d5d952d1e0 100644 --- a/tests/files/tests.py +++ b/tests/files/tests.py @@ -239,6 +239,22 @@ class InconsistentGetImageDimensionsBug(unittest.TestCase): self.assertEqual(size, Image.open(fh).size) +class GetImageDimensionsOnInvalidImages(unittest.TestCase): + @unittest.skipUnless(Image, "Pillow not installed") + def test_invalid_image(self): + """ + get_image_dimensions() should return (None, None) for the dimensions of + invalid images (#24441). + + brokenimg.png is not a valid image and it has been generated by: + $ echo "123" > brokenimg.png + """ + img_path = os.path.join(os.path.dirname(upath(__file__)), "brokenimg.png") + with open(img_path, 'rb') as fh: + size = images.get_image_dimensions(fh) + self.assertEqual(size, (None, None)) + + class FileMoveSafeTests(unittest.TestCase): def test_file_move_overwrite(self): handle_a, self.file_a = tempfile.mkstemp() |
