diff --git a/Tests/test_imagefile.py b/Tests/test_imagefile.py index 372cee8c0..a5c76700d 100644 --- a/Tests/test_imagefile.py +++ b/Tests/test_imagefile.py @@ -82,6 +82,19 @@ class TestImageFile: p.feed(data) assert (48, 48) == p.image.size + @skip_unless_feature("webp") + @skip_unless_feature("webp_anim") + def test_incremental_webp(self): + with ImageFile.Parser() as p: + with open("Tests/images/hopper.webp", "rb") as f: + p.feed(f.read(1024)) + + # Check that insufficient data was given in the first feed + assert not p.image + + p.feed(f.read()) + assert (128, 128) == p.image.size + @skip_unless_feature("zlib") def test_safeblock(self): im1 = hopper() diff --git a/src/_webp.c b/src/_webp.c index bccfb3d89..fd99116cb 100644 --- a/src/_webp.c +++ b/src/_webp.c @@ -396,7 +396,7 @@ _anim_decoder_new(PyObject *self, PyObject *args) { } PyObject_Del(decp); } - PyErr_SetString(PyExc_RuntimeError, "could not create decoder object"); + PyErr_SetString(PyExc_OSError, "could not create decoder object"); return NULL; }