8000 adding progressive tests and fixing pil prograssive · pygeek/django-thumbnail@03aca0e · GitHub
[go: up one dir, main page]

Skip to content

Commit 03aca0e

Browse files
committed
adding progressive tests and fixing pil prograssive
1 parent 1046bab commit 03aca0e

File tree

2 files changed

+25
-9
lines changed

2 files changed

+25
-9
lines changed

sorl/thumbnail/engines/pil_engine.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ def _get_raw_data(self, image, format_, quality, progressive=False):
5050
'quality': quality,
5151
'optimize': 1,
5252
}
53-
if format_ == 'JPEG':
54-
params['progressive'] = progressive
53+
if format_ == 'JPEG' and progressive:
54+
params['progressive'] = True
5555
try:
5656
image.save(buf, **params)
5757
except IOError:

tests/thumbnail_tests/tests.py

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,23 @@
22
import logging
33
import operator
44
import os
5-
import random
5+
import re
66
import shutil
77
import unittest
8-
from django.core.files.storage import Storage, default_storage
9-
from django.core.urlresolvers import reverse
8+
from PIL import Image
9+
from django.core.files.storage import default_storage
1010
from django.template.loader import render_to_string
1111
from django.test.client import Client
1212
from os.path import join as pjoin
13-
from PIL import Image
13+
from sorl.thumbnail import default, get_thumbnail, delete
1414
from sorl.thumbnail.conf import settings
1515
from sorl.thumbnail.engines.pil_engine import Engine as PILEngine
1616
from sorl.thumbnail.helpers import get_module_class, ThumbnailError
17-
from sorl.thumbnail.images import ImageFile, DummyImageFile
18-
from sorl.thumbnail import default, get_thumbnail, delete
17+
from sorl.thumbnail.images import ImageFile
1918
from sorl.thumbnail.log import ThumbnailLogHandler
2019
from sorl.thumbnail.parsers import parse_crop, parse_geometry
2120
from sorl.thumbnail.templatetags.thumbnail import margin
21+
from subprocess import Popen, PIPE
2222
from thumbnail_tests.models import Item
2323

2424

@@ -249,7 +249,23 @@ def test_options(self):
249249
}).strip()
250250
self.assertEqual(val0, val1)
251251

252-
252+
def test_progressive(self):
253+
im = Item.objects.get(image='500x500.jpg').image
254+
th = self.backend.get_thumbnail(im, '100x100', progressive=True)
255+
path = pjoin(settings.MEDIA_ROOT, th.name)
256+
p = Popen(['identify', '-verbose', path], stdout=PIPE)
257+
p.wait()
258+
m = re.search('Interlace: JPEG', p.stdout.read())
259+
self.assertEqual(bool(m), True)
260+
261+
def test_nonprogressive(self):
262+
im = Item.objects.get(image='500x500.jpg').image
263+
th = self.backend.get_thumbnail(im, '100x100', progressive=False)
264+
path = pjoin(settings.MEDIA_ROOT, th.name)
265+
p = Popen(['identify', '-verbose', path], stdout=PIPE)
266+
p.wait()
267+
m = re.search('Interlace: None', p.stdout.read())
268+
self.assertEqual(bool(m), True)
253269

254270
class TemplateTestCaseB(unittest.TestCase):
255271
def tearDown(self):

0 commit comments

Comments
 (0)
0