From dfe7ff515f648204a8632738f605488b825c72da Mon Sep 17 00:00:00 2001 From: wiredfool Date: Fri, 20 Jun 2014 01:09:59 -0700 Subject: [PATCH] Additional jpeg qtables tests --- Tests/test_file_jpeg.py | 44 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/Tests/test_file_jpeg.py b/Tests/test_file_jpeg.py index d584eef1c..dae1d0019 100644 --- a/Tests/test_file_jpeg.py +++ b/Tests/test_file_jpeg.py @@ -229,8 +229,52 @@ class TestFileJpeg(PillowTestCase): qtables = im.quantization reloaded = self.roundtrip(im, qtables=qtables, subsampling=0) self.assertEqual(im.quantization, reloaded.quantization) + self.assert_image_similar(im, self.roundtrip(im, qtables='web_low'), 30) + self.assert_image_similar(im, self.roundtrip(im, qtables='web_high'), 30) + self.assert_image_similar(im, self.roundtrip(im, qtables='keep'), 30) + #values from wizard.txt in jpeg9-a src package. + standard_l_qtable = [int(s) for s in """ + 16 11 10 16 24 40 51 61 + 12 12 14 19 26 58 60 55 + 14 13 16 24 40 57 69 56 + 14 17 22 29 51 87 80 62 + 18 22 37 56 68 109 103 77 + 24 35 55 64 81 104 113 92 + 49 64 78 87 103 121 120 101 + 72 92 95 98 112 100 103 99 + """.split(None)] + standard_chrominance_qtable= [int(s) for s in """ + 17 18 24 47 99 99 99 99 + 18 21 26 66 99 99 99 99 + 24 26 56 99 99 99 99 99 + 47 66 99 99 99 99 99 99 + 99 99 99 99 99 99 99 99 + 99 99 99 99 99 99 99 99 + 99 99 99 99 99 99 99 99 + 99 99 99 99 99 99 99 99 + """.split(None)] + # list of qtable lists + self.assert_image_similar(im, + self.roundtrip(im, + qtables=[standard_l_qtable, + standard_chrominance_qtable]), + 30) + # tuple of qtable lists + self.assert_image_similar(im, + self.roundtrip(im, + qtables=(standard_l_qtable, + standard_chrominance_qtable)), + 30) + # dict of qtable lists + self.assert_image_similar(im, + self.roundtrip(im, + qtables={0:standard_l_qtable, + 1:standard_chrominance_qtable}), + 30) + + if __name__ == '__main__': unittest.main()