From 4ef5de2cce6bc794b760102f2a5b82dd28d078c0 Mon Sep 17 00:00:00 2001 From: Sachin Kelkar Date: Mon, 6 Feb 2017 17:57:59 +0530 Subject: Add gif parser and tests --- test/mitmproxy/contentviews/test_image_parser.py | 35 +++++++++++++++++++---- test/mitmproxy/data/image_parser/aspect.gif | Bin 0 -> 961994 bytes test/mitmproxy/data/image_parser/aspect.png | Bin 0 -> 1230326 bytes test/mitmproxy/data/image_parser/chi.gif | Bin 0 -> 85539 bytes test/mitmproxy/data/image_parser/ct0n0g04.png | Bin 0 -> 273 bytes test/mitmproxy/data/image_parser/ct1n0g04.png | Bin 0 -> 792 bytes test/mitmproxy/data/image_parser/cten0g04.png | Bin 0 -> 742 bytes test/mitmproxy/data/image_parser/ctzn0g04.png | Bin 0 -> 753 bytes test/mitmproxy/data/image_parser/g07n0g16.png | Bin 0 -> 321 bytes test/mitmproxy/data/image_parser/hopper.gif | Bin 0 -> 15305 bytes test/mitmproxy/data/png_parser/aspect.png | Bin 1230326 -> 0 bytes test/mitmproxy/data/png_parser/ct0n0g04.png | Bin 273 -> 0 bytes test/mitmproxy/data/png_parser/ct1n0g04.png | Bin 792 -> 0 bytes test/mitmproxy/data/png_parser/cten0g04.png | Bin 742 -> 0 bytes test/mitmproxy/data/png_parser/ctzn0g04.png | Bin 753 -> 0 bytes test/mitmproxy/data/png_parser/g07n0g16.png | Bin 321 -> 0 bytes 16 files changed, 29 insertions(+), 6 deletions(-) create mode 100644 test/mitmproxy/data/image_parser/aspect.gif create mode 100644 test/mitmproxy/data/image_parser/aspect.png create mode 100644 test/mitmproxy/data/image_parser/chi.gif create mode 100644 test/mitmproxy/data/image_parser/ct0n0g04.png create mode 100644 test/mitmproxy/data/image_parser/ct1n0g04.png create mode 100644 test/mitmproxy/data/image_parser/cten0g04.png create mode 100644 test/mitmproxy/data/image_parser/ctzn0g04.png create mode 100644 test/mitmproxy/data/image_parser/g07n0g16.png create mode 100644 test/mitmproxy/data/image_parser/hopper.gif delete mode 100644 test/mitmproxy/data/png_parser/aspect.png delete mode 100644 test/mitmproxy/data/png_parser/ct0n0g04.png delete mode 100644 test/mitmproxy/data/png_parser/ct1n0g04.png delete mode 100644 test/mitmproxy/data/png_parser/cten0g04.png delete mode 100644 test/mitmproxy/data/png_parser/ctzn0g04.png delete mode 100644 test/mitmproxy/data/png_parser/g07n0g16.png (limited to 'test') diff --git a/test/mitmproxy/contentviews/test_image_parser.py b/test/mitmproxy/contentviews/test_image_parser.py index 62a07f56..997392dc 100644 --- a/test/mitmproxy/contentviews/test_image_parser.py +++ b/test/mitmproxy/contentviews/test_image_parser.py @@ -6,13 +6,13 @@ from mitmproxy.test import tutils @pytest.mark.parametrize("filename, metadata", { # no textual data - "mitmproxy/data/png_parser/ct0n0g04.png": [ + "mitmproxy/data/image_parser/ct0n0g04.png": [ ('Format', 'Portable network graphics'), ('Size', '32 x 32 px'), ('gamma', '1.0') ], # with textual data - "mitmproxy/data/png_parser/ct1n0g04.png": [ + "mitmproxy/data/image_parser/ct1n0g04.png": [ ('Format', 'Portable network graphics'), ('Size', '32 x 32 px'), ('gamma', '1.0'), @@ -27,7 +27,7 @@ from mitmproxy.test import tutils ('Disclaimer', 'Freeware.') ], # with compressed textual data - "mitmproxy/data/png_parser/ctzn0g04.png": [ + "mitmproxy/data/image_parser/ctzn0g04.png": [ ('Format', 'Portable network graphics'), ('Size', '32 x 32 px'), ('gamma', '1.0'), @@ -42,7 +42,7 @@ from mitmproxy.test import tutils ('Disclaimer', 'Freeware.') ], # UTF-8 international text - english - "mitmproxy/data/png_parser/cten0g04.png": [ + "mitmproxy/data/image_parser/cten0g04.png": [ ('Format', 'Portable network graphics'), ('Size', '32 x 32 px'), ('gamma', '1.0'), @@ -57,13 +57,13 @@ from mitmproxy.test import tutils ('Disclaimer', 'Freeware.') ], # check gamma value - "mitmproxy/data/png_parser/g07n0g16.png": [ + "mitmproxy/data/image_parser/g07n0g16.png": [ ('Format', 'Portable network graphics'), ('Size', '32 x 32 px'), ('gamma', '0.7') ], # check aspect value - "mitmproxy/data/png_parser/aspect.png": [ + "mitmproxy/data/image_parser/aspect.png": [ ('Format', 'Portable network graphics'), ('Size', '1280 x 798 px'), ('aspect', '72 x 72'), @@ -74,3 +74,26 @@ from mitmproxy.test import tutils def test_parse_png(filename, metadata): with open(tutils.test_data.path(filename), "rb") as f: assert metadata == image_parser.parse_png(f.read()) + + +@pytest.mark.parametrize("filename, metadata", { + # check comment + "mitmproxy/data/image_parser/hopper.gif": [ + ('Format', 'Compuserve GIF'), + ('version', 'GIF89a'), + ('Size', '128 x 128 px'), + ('background', '0'), + ('comment', "b'File written by Adobe Photoshop\\xa8 4.0'") + ], + # check background + "mitmproxy/data/image_parser/chi.gif": [ + ('Format', 'Compuserve GIF'), + ('version', 'GIF89a'), + ('Size', '320 x 240 px'), + ('background', '248'), + ('comment', "b'Created with GIMP'") + ], +}.items()) +def test_parse_gif(filename, metadata): + with open(tutils.test_data.path(filename), 'rb') as f: + assert metadata == image_parser.parse_gif(f.read()) diff --git a/test/mitmproxy/data/image_parser/aspect.gif b/test/mitmproxy/data/image_parser/aspect.gif new file mode 100644 index 00000000..56690231 Binary files /dev/null and b/test/mitmproxy/data/image_parser/aspect.gif differ diff --git a/test/mitmproxy/data/image_parser/aspect.png b/test/mitmproxy/data/image_parser/aspect.png new file mode 100644 index 00000000..17c01913 Binary files /dev/null and b/test/mitmproxy/data/image_parser/aspect.png differ diff --git a/test/mitmproxy/data/image_parser/chi.gif b/test/mitmproxy/data/image_parser/chi.gif new file mode 100644 index 00000000..d217f8b5 Binary files /dev/null and b/test/mitmproxy/data/image_parser/chi.gif differ diff --git a/test/mitmproxy/data/image_parser/ct0n0g04.png b/test/mitmproxy/data/image_parser/ct0n0g04.png new file mode 100644 index 00000000..40d1e062 Binary files /dev/null and b/test/mitmproxy/data/image_parser/ct0n0g04.png differ diff --git a/test/mitmproxy/data/image_parser/ct1n0g04.png b/test/mitmproxy/data/image_parser/ct1n0g04.png new file mode 100644 index 00000000..3ba110aa Binary files /dev/null and b/test/mitmproxy/data/image_parser/ct1n0g04.png differ diff --git a/test/mitmproxy/data/image_parser/cten0g04.png b/test/mitmproxy/data/image_parser/cten0g04.png new file mode 100644 index 00000000..a6a56faf Binary files /dev/null and b/test/mitmproxy/data/image_parser/cten0g04.png differ diff --git a/test/mitmproxy/data/image_parser/ctzn0g04.png b/test/mitmproxy/data/image_parser/ctzn0g04.png new file mode 100644 index 00000000..b4401c9c Binary files /dev/null and b/test/mitmproxy/data/image_parser/ctzn0g04.png differ diff --git a/test/mitmproxy/data/image_parser/g07n0g16.png b/test/mitmproxy/data/image_parser/g07n0g16.png new file mode 100644 index 00000000..d6a47c2d Binary files /dev/null and b/test/mitmproxy/data/image_parser/g07n0g16.png differ diff --git a/test/mitmproxy/data/image_parser/hopper.gif b/test/mitmproxy/data/image_parser/hopper.gif new file mode 100644 index 00000000..2e7f5ade Binary files /dev/null and b/test/mitmproxy/data/image_parser/hopper.gif differ diff --git a/test/mitmproxy/data/png_parser/aspect.png b/test/mitmproxy/data/png_parser/aspect.png deleted file mode 100644 index 17c01913..00000000 Binary files a/test/mitmproxy/data/png_parser/aspect.png and /dev/null differ diff --git a/test/mitmproxy/data/png_parser/ct0n0g04.png b/test/mitmproxy/data/png_parser/ct0n0g04.png deleted file mode 100644 index 40d1e062..00000000 Binary files a/test/mitmproxy/data/png_parser/ct0n0g04.png and /dev/null differ diff --git a/test/mitmproxy/data/png_parser/ct1n0g04.png b/test/mitmproxy/data/png_parser/ct1n0g04.png deleted file mode 100644 index 3ba110aa..00000000 Binary files a/test/mitmproxy/data/png_parser/ct1n0g04.png and /dev/null differ diff --git a/test/mitmproxy/data/png_parser/cten0g04.png b/test/mitmproxy/data/png_parser/cten0g04.png deleted file mode 100644 index a6a56faf..00000000 Binary files a/test/mitmproxy/data/png_parser/cten0g04.png and /dev/null differ diff --git a/test/mitmproxy/data/png_parser/ctzn0g04.png b/test/mitmproxy/data/png_parser/ctzn0g04.png deleted file mode 100644 index b4401c9c..00000000 Binary files a/test/mitmproxy/data/png_parser/ctzn0g04.png and /dev/null differ diff --git a/test/mitmproxy/data/png_parser/g07n0g16.png b/test/mitmproxy/data/png_parser/g07n0g16.png deleted file mode 100644 index d6a47c2d..00000000 Binary files a/test/mitmproxy/data/png_parser/g07n0g16.png and /dev/null differ -- cgit v1.2.3