From 186a4723c8a67644a8c98a4e83bff2ff869b8e5a Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 2 Sep 2020 21:14:36 +1000 Subject: [PATCH] Added test for empty GPS IFD --- Tests/images/empty_gps_ifd.jpg | Bin 0 -> 1087 bytes Tests/test_file_jpeg.py | 19 +++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 Tests/images/empty_gps_ifd.jpg diff --git a/Tests/images/empty_gps_ifd.jpg b/Tests/images/empty_gps_ifd.jpg new file mode 100644 index 0000000000000000000000000000000000000000..28f180b8743a97318161e5caa47e5bcdc3fd5fbc GIT binary patch literal 1087 zcmb7DL2DC16n^t&wux!6*|aLugKI$)Pn&H_(i{{NiwZ3mFCu!dq{1Fb5kx!}rNN8o z+*(kUDvEm23I_3DwI^@hs$TRUcoF;o>iXX9>?BApzGQa3{pNdb-n@AmZ^d7rcxLMK z6bK>U6#XFnihoYt2(JK4Ps3pV$it8Tkc7l=L=TbT!7dYk#OG+-6U7AYB>Yg6QVk4{ zW(*wSC@!0bcSTNWDfkmZ}_!FQ1i-_My1-Q)B*M_u4Z{)bMdal7uw^!oZ1Id+@f%u z^o+_60>2}(TyeIeEWW-hk~%1X610Fqng!n0Xya=wEx)Rj#cSHJnkPEf%R%Q2-UXm{ z7+fS=u=?k^ljJ~mfUoqj#c#E?_ KD?hxY_~Tzl{d_zC literal 0 HcmV?d00001 diff --git a/Tests/test_file_jpeg.py b/Tests/test_file_jpeg.py index 6b88ccfdf..c3b7e2960 100644 --- a/Tests/test_file_jpeg.py +++ b/Tests/test_file_jpeg.py @@ -8,6 +8,7 @@ from PIL import ( ExifTags, Image, ImageFile, + ImageOps, JpegImagePlugin, UnidentifiedImageError, features, @@ -249,6 +250,24 @@ class TestFileJpeg: exif = reloaded._getexif() assert exif[gps_index] == expected_exif_gps + def test_empty_exif_gps(self): + with Image.open("Tests/images/empty_gps_ifd.jpg") as im: + exif = im.getexif() + del exif[0x8769] + + # Assert that it needs to be transposed + assert exif[0x0112] == Image.TRANSVERSE + + # Assert that the GPS IFD is present and empty + assert exif[0x8825] == {} + + transposed = ImageOps.exif_transpose(im) + exif = transposed.getexif() + assert exif[0x8825] == {} + + # Assert that it was transposed + assert 0x0112 not in exif + def test_exif_rollback(self): # rolling back exif support in 3.1 to pre-3.0 formatting. # expected from 2.9, with b/u qualifiers switched for 3.2 compatibility