From b100e9be4f04cf5ca14248c17f075e6b2ce404ed Mon Sep 17 00:00:00 2001 From: Louis Sautier Date: Thu, 19 Aug 2021 01:14:13 +0200 Subject: [PATCH] tests: look for sRGB.icc in several paths, skip related tests if not found Always use Ghostscript's sRGB.icc. --- .travis.yml | 1 - src/.img2pdf_test.py.swp | Bin 0 -> 303104 bytes src/img2pdf_test.py | 31 +- src/img2pdf_test.py.rej | 850 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 871 insertions(+), 11 deletions(-) create mode 100644 src/.img2pdf_test.py.swp create mode 100644 src/img2pdf_test.py.rej diff --git a/.travis.yml b/.travis.yml index 564cb37..8f18940 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,7 +13,6 @@ matrix: - netpbm - ghostscript - mupdf-tools - - icc-profiles-free - name: "python 3.9 Windows" os: windows language: shell # 'language: python' is an error on Travis CI Windows diff --git a/src/.img2pdf_test.py.swp b/src/.img2pdf_test.py.swp new file mode 100644 index 0000000000000000000000000000000000000000..fa447d059387bc515181e004b7b9746211e7e9f5 GIT binary patch literal 303104 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 Y+liE#A86Z!Xc?>ntuJ?-8_>D>|FSz)?EnA( literal 0 HcmV?d00001 diff --git a/src/img2pdf_test.py b/src/img2pdf_test.py index 33252c8..6e866be 100755 --- a/src/img2pdf_test.py +++ b/src/img2pdf_test.py @@ -20,6 +20,21 @@ import warnings import json import pathlib +ICC_PROFILE = None +ICC_PROFILE_PATHS = ( + # Debian + "/usr/share/color/icc/ghostscript/srgb.icc", + # Fedora + "/usr/share/ghostscript/iccprofiles/srgb.icc", + # Archlinux and Gentoo + "/usr/share/ghostscript/*/iccprofiles/srgb.icc", +) +for glob in ICC_PROFILE_PATHS: + for path in pathlib.Path("/").glob(glob.lstrip("/")): + if path.is_file(): + ICC_PROFILE = path + break + HAVE_MUTOOL = True try: ver = subprocess.check_output(["mutool", "-v"], stderr=subprocess.STDOUT) @@ -304,11 +319,9 @@ def compare(im1, im2, exact, icc, cmyk): else: iccargs = [] if icc: - profile = "/usr/share/color/icc/sRGB.icc" - if not os.path.isfile(profile): - warnings.warn(profile + " not present, skipping checks...") - return - iccargs = ["-profile", profile] + if ICC_PROFILE is None: + pytest.skip("Could not locate an ICC profile") + iccargs = ["-profile", ICC_PROFILE] psnr = subprocess.run( ["compare"] + iccargs @@ -421,10 +434,8 @@ def compare_pdfimages_png(tmpdir, img, pdf, exact=True, icc=False): ) else: if icc: - profile = "/usr/share/color/icc/ghostscript/srgb.icc" - if not os.path.isfile(profile): - warnings.warn(profile + " not present, skipping checks...") - return + if ICC_PROFILE is None: + pytest.skip("Could not locate an ICC profile") psnr = subprocess.run( [ "compare", @@ -432,7 +443,7 @@ def compare_pdfimages_png(tmpdir, img, pdf, exact=True, icc=False): "PSNR", "(", "-profile", - profile, + ICC_PROFILE, "-depth", "8", str(img), diff --git a/src/img2pdf_test.py.rej b/src/img2pdf_test.py.rej new file mode 100644 index 0000000..34fe2f3 --- /dev/null +++ b/src/img2pdf_test.py.rej @@ -0,0 +1,850 @@ +--- src/img2pdf_test.py ++++ src/img2pdf_test.py +@@ -1146,7 +1146,6 @@ def png_rgb8_img(tmp_normal_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("png:IHDR.bit-depth-orig") == "8" + ), str(identify) +@@ -1196,7 +1195,6 @@ def png_rgb16_img(tmp_normal16_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("png:IHDR.bit-depth-orig") + == "16" +@@ -1250,7 +1248,6 @@ def png_rgba8_img(tmp_path_factory, tmp_alpha_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("png:IHDR.bit-depth-orig") == "8" + ), str(identify) +@@ -1301,7 +1298,6 @@ def png_rgba16_img(tmp_alpha_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("png:IHDR.bit-depth-orig") + == "16" +@@ -1368,7 +1364,6 @@ def png_gray8a_img(tmp_path_factory, tmp_alpha_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("png:IHDR.bit-depth-orig") == "8" + ), str(identify) +@@ -1431,7 +1426,6 @@ def png_gray16a_img(tmp_path_factory, tmp_alpha_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("png:IHDR.bit-depth-orig") + == "16" +@@ -1486,7 +1480,6 @@ def png_interlaced_img(tmp_path_factory, tmp_normal_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("png:IHDR.bit-depth-orig") == "8" + ), str(identify) +@@ -1538,7 +1531,6 @@ def png_gray1_img(tmp_path_factory, tmp_gray1_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("png:IHDR.bit-depth-orig") == "1" + ), str(identify) +@@ -1589,7 +1581,6 @@ def png_gray2_img(tmp_path_factory, tmp_gray2_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("png:IHDR.bit-depth-orig") == "2" + ), str(identify) +@@ -1640,7 +1631,6 @@ def png_gray4_img(tmp_path_factory, tmp_gray4_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("png:IHDR.bit-depth-orig") == "4" + ), str(identify) +@@ -1691,7 +1681,6 @@ def png_gray8_img(tmp_path_factory, tmp_gray8_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("png:IHDR.bit-depth-orig") == "8" + ), str(identify) +@@ -1742,7 +1731,6 @@ def png_gray16_img(tmp_path_factory, tmp_gray16_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("png:IHDR.bit-depth-orig") + == "16" +@@ -1794,7 +1782,6 @@ def png_palette1_img(tmp_path_factory, tmp_palette1_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("png:IHDR.bit-depth-orig") == "1" + ), str(identify) +@@ -1845,7 +1832,6 @@ def png_palette2_img(tmp_path_factory, tmp_palette2_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("png:IHDR.bit-depth-orig") == "2" + ), str(identify) +@@ -1896,7 +1882,6 @@ def png_palette4_img(tmp_path_factory, tmp_palette4_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("png:IHDR.bit-depth-orig") == "4" + ), str(identify) +@@ -1947,7 +1932,6 @@ def png_palette8_img(tmp_path_factory, tmp_palette8_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("png:IHDR.bit-depth-orig") == "8" + ), str(identify) +@@ -2257,7 +2241,6 @@ def tiff_float_img(tmp_path_factory, tmp_normal_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("quantum:format") + == "floating-point" +@@ -2310,7 +2293,6 @@ def tiff_cmyk8_img(tmp_path_factory, tmp_normal_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" + ), str(identify) +@@ -2368,7 +2350,6 @@ def tiff_cmyk16_img(tmp_path_factory, tmp_normal_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" + ), str(identify) +@@ -2416,7 +2397,6 @@ def tiff_rgb8_img(tmp_path_factory, tmp_normal_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" + ), str(identify) +@@ -2469,7 +2449,6 @@ def tiff_rgb12_img(tmp_path_factory, tmp_normal16_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" + ), str(identify) +@@ -2522,7 +2501,6 @@ def tiff_rgb14_img(tmp_path_factory, tmp_normal16_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" + ), str(identify) +@@ -2571,7 +2549,6 @@ def tiff_rgb16_img(tmp_path_factory, tmp_normal16_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" + ), str(identify) +@@ -2620,7 +2597,6 @@ def tiff_rgba8_img(tmp_path_factory, tmp_alpha_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unassociated" + ), str(identify) +@@ -2669,7 +2645,6 @@ def tiff_rgba16_img(tmp_path_factory, tmp_alpha_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unassociated" + ), str(identify) +@@ -2716,7 +2691,6 @@ def tiff_gray1_img(tmp_path_factory, tmp_gray1_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" + ), str(identify) +@@ -2764,7 +2738,6 @@ def tiff_gray2_img(tmp_path_factory, tmp_gray2_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" + ), str(identify) +@@ -2812,7 +2785,6 @@ def tiff_gray4_img(tmp_path_factory, tmp_gray4_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" + ), str(identify) +@@ -2860,7 +2832,6 @@ def tiff_gray8_img(tmp_path_factory, tmp_gray8_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" + ), str(identify) +@@ -2908,7 +2879,6 @@ def tiff_gray16_img(tmp_path_factory, tmp_gray16_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" + ), str(identify) +@@ -2960,7 +2930,6 @@ def tiff_multipage_img(tmp_path_factory, tmp_normal_png, tmp_inverse_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" + ), str(identify) +@@ -3001,7 +2970,6 @@ def tiff_multipage_img(tmp_path_factory, tmp_normal_png, tmp_inverse_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" + ), str(identify) +@@ -3051,7 +3019,6 @@ def tiff_palette1_img(tmp_path_factory, tmp_palette1_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" + ), str(identify) +@@ -3100,7 +3067,6 @@ def tiff_palette2_img(tmp_path_factory, tmp_palette2_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" + ), str(identify) +@@ -3149,7 +3115,6 @@ def tiff_palette4_img(tmp_path_factory, tmp_palette4_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" + ), str(identify) +@@ -3197,7 +3162,6 @@ def tiff_palette8_img(tmp_path_factory, tmp_palette8_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" + ), str(identify) +@@ -3727,7 +3691,6 @@ def png_icc_img(tmp_icc_png): + "x": 0, + "y": 0, + }, str(identify) +- assert identify[0]["image"].get("compression") == "Zip", str(identify) + assert ( + identify[0]["image"].get("properties", {}).get("png:IHDR.bit-depth-orig") == "8" + ), str(identify) +--- src/img2pdf_test.py ++++ src/img2pdf_test.py +@@ -968,10 +968,6 @@ def jpg_img(tmp_path_factory, tmp_normal_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "JPEG", str(identify) +- assert ( +- identify[0]["image"]["formatDescription"] +- == "Joint Photographic Experts Group JFIF format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/jpeg", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -1028,10 +1024,6 @@ def jpg_rot_img(tmp_path_factory, tmp_normal_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "JPEG", str(identify) +- assert ( +- identify[0]["image"]["formatDescription"] +- == "Joint Photographic Experts Group JFIF format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/jpeg", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -1071,10 +1063,6 @@ def jpg_cmyk_img(tmp_path_factory, tmp_normal_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "JPEG", str(identify) +- assert ( +- identify[0]["image"]["formatDescription"] +- == "Joint Photographic Experts Group JFIF format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/jpeg", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -1109,9 +1097,6 @@ def jpg_2000_img(tmp_path_factory, tmp_normal_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "JP2", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "JPEG-2000 File Format Syntax" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/jp2", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -1145,9 +1130,6 @@ def png_rgb8_img(tmp_normal_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "PNG", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Portable Network Graphics" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/png", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -1198,9 +1180,6 @@ def png_rgb16_img(tmp_normal16_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "PNG", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Portable Network Graphics" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/png", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -1255,9 +1234,6 @@ def png_rgba8_img(tmp_path_factory, tmp_alpha_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "PNG", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Portable Network Graphics" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/png", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -1309,9 +1285,6 @@ def png_rgba16_img(tmp_alpha_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "PNG", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Portable Network Graphics" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/png", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -1379,9 +1352,6 @@ def png_gray8a_img(tmp_path_factory, tmp_alpha_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "PNG", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Portable Network Graphics" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/png", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -1445,9 +1415,6 @@ def png_gray16a_img(tmp_path_factory, tmp_alpha_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "PNG", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Portable Network Graphics" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/png", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -1503,9 +1470,6 @@ def png_interlaced_img(tmp_path_factory, tmp_normal_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "PNG", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Portable Network Graphics" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/png", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -1558,9 +1522,6 @@ def png_gray1_img(tmp_path_factory, tmp_gray1_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "PNG", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Portable Network Graphics" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/png", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -1612,9 +1573,6 @@ def png_gray2_img(tmp_path_factory, tmp_gray2_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "PNG", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Portable Network Graphics" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/png", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -1666,9 +1624,6 @@ def png_gray4_img(tmp_path_factory, tmp_gray4_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "PNG", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Portable Network Graphics" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/png", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -1720,9 +1675,6 @@ def png_gray8_img(tmp_path_factory, tmp_gray8_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "PNG", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Portable Network Graphics" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/png", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -1774,9 +1726,6 @@ def png_gray16_img(tmp_path_factory, tmp_gray16_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "PNG", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Portable Network Graphics" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/png", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -1829,9 +1778,6 @@ def png_palette1_img(tmp_path_factory, tmp_palette1_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "PNG", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Portable Network Graphics" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/png", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -1883,9 +1829,6 @@ def png_palette2_img(tmp_path_factory, tmp_palette2_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "PNG", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Portable Network Graphics" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/png", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -1937,9 +1880,6 @@ def png_palette4_img(tmp_path_factory, tmp_palette4_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "PNG", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Portable Network Graphics" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/png", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -1991,9 +1931,6 @@ def png_palette8_img(tmp_path_factory, tmp_palette8_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "PNG", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Portable Network Graphics" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/png", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -2045,10 +1982,6 @@ def gif_transparent_img(tmp_path_factory, tmp_alpha_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "GIF", str(identify) +- assert ( +- identify[0]["image"]["formatDescription"] +- == "CompuServe graphics interchange format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/gif", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -2084,10 +2017,6 @@ def gif_palette1_img(tmp_path_factory, tmp_palette1_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "GIF", str(identify) +- assert ( +- identify[0]["image"]["formatDescription"] +- == "CompuServe graphics interchange format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/gif", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -2123,10 +2052,6 @@ def gif_palette2_img(tmp_path_factory, tmp_palette2_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "GIF", str(identify) +- assert ( +- identify[0]["image"]["formatDescription"] +- == "CompuServe graphics interchange format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/gif", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -2162,10 +2087,6 @@ def gif_palette4_img(tmp_path_factory, tmp_palette4_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "GIF", str(identify) +- assert ( +- identify[0]["image"]["formatDescription"] +- == "CompuServe graphics interchange format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/gif", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -2201,10 +2122,6 @@ def gif_palette8_img(tmp_path_factory, tmp_palette8_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "GIF", str(identify) +- assert ( +- identify[0]["image"]["formatDescription"] +- == "CompuServe graphics interchange format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/gif", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -2244,10 +2161,6 @@ def gif_animation_img(tmp_path_factory, tmp_normal_png, tmp_inverse_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "GIF", str(identify) +- assert ( +- identify[0]["image"]["formatDescription"] +- == "CompuServe graphics interchange format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/gif", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -2277,10 +2190,6 @@ def gif_animation_img(tmp_path_factory, tmp_normal_png, tmp_inverse_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "GIF", str(identify) +- assert ( +- identify[0]["image"]["formatDescription"] +- == "CompuServe graphics interchange format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/gif", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -2327,9 +2236,6 @@ def tiff_float_img(tmp_path_factory, tmp_normal_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "TIFF", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Tagged Image File Format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -2384,9 +2290,6 @@ def tiff_cmyk8_img(tmp_path_factory, tmp_normal_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "TIFF", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Tagged Image File Format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -2445,9 +2348,6 @@ def tiff_cmyk16_img(tmp_path_factory, tmp_normal_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "TIFF", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Tagged Image File Format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -2496,9 +2396,6 @@ def tiff_rgb8_img(tmp_path_factory, tmp_normal_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "TIFF", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Tagged Image File Format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -2548,9 +2445,6 @@ def tiff_rgb12_img(tmp_path_factory, tmp_normal16_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "TIFF", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Tagged Image File Format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -2604,9 +2498,6 @@ def tiff_rgb14_img(tmp_path_factory, tmp_normal16_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "TIFF", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Tagged Image File Format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -2660,9 +2551,6 @@ def tiff_rgb16_img(tmp_path_factory, tmp_normal16_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "TIFF", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Tagged Image File Format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -2712,9 +2600,6 @@ def tiff_rgba8_img(tmp_path_factory, tmp_alpha_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "TIFF", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Tagged Image File Format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -2764,9 +2649,6 @@ def tiff_rgba16_img(tmp_path_factory, tmp_alpha_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "TIFF", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Tagged Image File Format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -2814,9 +2696,6 @@ def tiff_gray1_img(tmp_path_factory, tmp_gray1_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "TIFF", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Tagged Image File Format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -2865,9 +2744,6 @@ def tiff_gray2_img(tmp_path_factory, tmp_gray2_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "TIFF", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Tagged Image File Format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -2916,9 +2792,6 @@ def tiff_gray4_img(tmp_path_factory, tmp_gray4_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "TIFF", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Tagged Image File Format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -2967,9 +2840,6 @@ def tiff_gray8_img(tmp_path_factory, tmp_gray8_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "TIFF", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Tagged Image File Format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -3018,9 +2888,6 @@ def tiff_gray16_img(tmp_path_factory, tmp_gray16_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "TIFF", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Tagged Image File Format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -3073,9 +2940,6 @@ def tiff_multipage_img(tmp_path_factory, tmp_normal_png, tmp_inverse_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "TIFF", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Tagged Image File Format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -3117,9 +2981,6 @@ def tiff_multipage_img(tmp_path_factory, tmp_normal_png, tmp_inverse_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "TIFF", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Tagged Image File Format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -3168,9 +3029,6 @@ def tiff_palette1_img(tmp_path_factory, tmp_palette1_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "TIFF", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Tagged Image File Format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -3220,9 +3078,6 @@ def tiff_palette2_img(tmp_path_factory, tmp_palette2_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "TIFF", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Tagged Image File Format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -3272,9 +3127,6 @@ def tiff_palette4_img(tmp_path_factory, tmp_palette4_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "TIFF", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Tagged Image File Format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -3324,9 +3176,6 @@ def tiff_palette8_img(tmp_path_factory, tmp_palette8_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "TIFF", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Tagged Image File Format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -3389,9 +3238,6 @@ def tiff_ccitt_lsb_m2l_white_img(tmp_path_factory, tmp_gray1_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "TIFF", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Tagged Image File Format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -3471,9 +3317,6 @@ def tiff_ccitt_msb_m2l_white_img(tmp_path_factory, tmp_gray1_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "TIFF", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Tagged Image File Format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -3554,9 +3397,6 @@ def tiff_ccitt_msb_l2m_white_img(tmp_path_factory, tmp_gray1_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "TIFF", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Tagged Image File Format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -3642,9 +3482,6 @@ def tiff_ccitt_lsb_m2l_black_img(tmp_path_factory, tmp_gray1_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "TIFF", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Tagged Image File Format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -3733,9 +3570,6 @@ def tiff_ccitt_nometa1_img(tmp_path_factory, tmp_gray1_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "TIFF", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Tagged Image File Format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -3818,9 +3652,6 @@ def tiff_ccitt_nometa2_img(tmp_path_factory, tmp_gray1_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "TIFF", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Tagged Image File Format" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60, +@@ -3880,9 +3711,6 @@ def png_icc_img(tmp_icc_png): + identify = [identify] + assert "image" in identify[0] + assert identify[0]["image"].get("format") == "PNG", str(identify) +- assert ( +- identify[0]["image"].get("formatDescription") == "Portable Network Graphics" +- ), str(identify) + assert identify[0]["image"].get("mimeType") == "image/png", str(identify) + assert identify[0]["image"].get("geometry") == { + "width": 60,