Skip to content

Commit

Permalink
Test delays for gif images
Browse files Browse the repository at this point in the history
  • Loading branch information
dahlia committed Jun 10, 2013
1 parent 024187c commit d251fbf
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 5 deletions.
35 changes: 31 additions & 4 deletions tests/image_test.py
Expand Up @@ -538,14 +538,18 @@ def test_crop(fx_asset):


def test_crop_gif(tmpdir, fx_asset):
with Image(filename=str(fx_asset.join('nocomments.gif'))) as img:
with Image(filename=str(fx_asset.join('nocomments-delay-100.gif'))) as img:
with img.clone() as d:
assert d.size == (350, 197)
for s in d.sequence:
assert s.delay == 100
d.crop(50, 50, 200, 150)
d.save(filename=str(tmpdir.join('50_50_200_150.gif')))
with Image(filename=str(tmpdir.join('50_50_200_150.gif'))) as d:
assert len(d.sequence) == 46
assert d.size == (150, 100)
for s in d.sequence:
assert s.delay == 100
tmpdir.remove()


Expand Down Expand Up @@ -577,29 +581,42 @@ def test_resize(fx_asset):

@mark.slow
def test_resize_gif(tmpdir, fx_asset):
with Image(filename=str(fx_asset.join('nocomments.gif'))) as img:
with Image(filename=str(fx_asset.join('nocomments-delay-100.gif'))) as img:
assert len(img.sequence) == 46
with img.clone() as a:
assert a.size == (350, 197)
assert a.sequence[0].delay == 100
for s in a.sequence:
assert s.delay == 100
a.resize(175, 98)
a.save(filename=str(tmpdir.join('175_98.gif')))
with Image(filename=str(tmpdir.join('175_98.gif'))) as a:
assert len(a.sequence) == 46
assert a.size == (175, 98)
for s in a.sequence:
assert s.delay == 100
with img.clone() as b:
assert b.size == (350, 197)
for s in b.sequence:
assert s.delay == 100
b.resize(height=100)
b.save(filename=str(tmpdir.join('350_100.gif')))
with Image(filename=str(tmpdir.join('350_100.gif'))) as b:
assert len(b.sequence) == 46
assert b.size == (350, 100)
for s in b.sequence:
assert s.delay == 100
with img.clone() as c:
assert c.size == (350, 197)
for s in c.sequence:
assert s.delay == 100
c.resize(width=100)
c.save(filename=str(tmpdir.join('100_197.gif')))
with Image(filename=str(tmpdir.join('100_197.gif'))) as c:
assert len(c.sequence) == 46
assert c.size == (100, 197)
for s in c.sequence:
assert s.delay == 100
tmpdir.remove()


Expand Down Expand Up @@ -646,20 +663,24 @@ def test_transform(args, kwargs, expected_size, fx_asset):

def test_transform_gif(tmpdir, fx_asset):
filename = str(tmpdir.join('test_transform_gif.gif'))
with Image(filename=str(fx_asset.join('nocomments.gif'))) as img:
with Image(filename=str(fx_asset.join('nocomments-delay-100.gif'))) as img:
assert len(img.sequence) == 46
assert img.size == (350, 197)
for single in img.sequence:
assert single.delay == 100
img.transform(resize='175x98!')
assert len(img.sequence) == 46
assert img.size == (175, 98)
for single in img.sequence:
assert single.size == (175, 98)
assert single.delay == 100
img.save(filename=filename)
with Image(filename=filename) as gif:
assert len(gif.sequence) == 46
assert gif.size == (175, 98)
for single in gif.sequence:
assert single.size == (175, 98)
assert single.delay == 100
tmpdir.remove()


Expand Down Expand Up @@ -718,14 +739,20 @@ def test_rotate(fx_asset):

@mark.slow
def test_rotate_gif(tmpdir, fx_asset):
with Image(filename=str(fx_asset.join('nocomments.gif'))) as img:
with Image(filename=str(fx_asset.join('nocomments-delay-100.gif'))) as img:
for s in img.sequence:
assert s.delay == 100
with img.clone() as e:
assert e.size == (350, 197)
e.rotate(90)
for s in e.sequence:
assert s.delay == 100
e.save(filename=str(tmpdir.join('rotate_90.gif')))
with Image(filename=str(tmpdir.join('rotate_90.gif'))) as e:
assert e.size == (197, 350)
assert len(e.sequence) == 46
for s in e.sequence:
assert s.delay == 100
tmpdir.remove()


Expand Down
2 changes: 1 addition & 1 deletion wand/image.py
Expand Up @@ -1224,7 +1224,7 @@ def transform(self, crop='', resize=''):
new_wand = library.MagickTransformImage(new_wand,
crop,
resize)
# FIXME: set the same delay
self.sequence.instances = []
else:
new_wand = library.MagickTransformImage(self.wand, crop, resize)
if not new_wand:
Expand Down

0 comments on commit d251fbf

Please sign in to comment.