mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-01-26 17:24:31 +03:00
Merge pull request #2441 from hugovk/test-bufrstub
Test BufrStubImagePlugin for correctness
This commit is contained in:
commit
1a8f88986d
|
@ -40,7 +40,7 @@ class BufrStubImageFile(ImageFile.StubImageFile):
|
|||
|
||||
offset = self.fp.tell()
|
||||
|
||||
if not _accept(self.fp.read(8)):
|
||||
if not _accept(self.fp.read(4)):
|
||||
raise SyntaxError("Not a BUFR file")
|
||||
|
||||
self.fp.seek(offset)
|
||||
|
|
BIN
Tests/images/gfs.t06z.rassda.tm00.bufr_d
Normal file
BIN
Tests/images/gfs.t06z.rassda.tm00.bufr_d
Normal file
Binary file not shown.
|
@ -1,21 +1,45 @@
|
|||
from helper import unittest, PillowTestCase, hopper
|
||||
|
||||
from PIL import BufrStubImagePlugin
|
||||
from PIL import BufrStubImagePlugin, Image
|
||||
|
||||
TEST_FILE = "Tests/images/gfs.t06z.rassda.tm00.bufr_d"
|
||||
|
||||
|
||||
class TestFileBufrStub(PillowTestCase):
|
||||
|
||||
def test_open(self):
|
||||
# Act
|
||||
im = Image.open(TEST_FILE)
|
||||
|
||||
# Assert
|
||||
self.assertEqual(im.format, "BUFR")
|
||||
|
||||
# Dummy data from the stub
|
||||
self.assertEqual(im.mode, "F")
|
||||
self.assertEqual(im.size, (1, 1))
|
||||
|
||||
def test_invalid_file(self):
|
||||
# Arrange
|
||||
invalid_file = "Tests/images/flower.jpg"
|
||||
|
||||
# Act / Assert
|
||||
self.assertRaises(SyntaxError,
|
||||
lambda:
|
||||
BufrStubImagePlugin.BufrStubImageFile(invalid_file))
|
||||
|
||||
def test_save(self):
|
||||
im = hopper()
|
||||
def test_load(self):
|
||||
# Arrange
|
||||
im = Image.open(TEST_FILE)
|
||||
|
||||
# Act / Assert: stub cannot load without an implemented handler
|
||||
self.assertRaises(IOError, im.load)
|
||||
|
||||
def test_save(self):
|
||||
# Arrange
|
||||
im = hopper()
|
||||
tmpfile = self.tempfile("temp.bufr")
|
||||
|
||||
# Act / Assert: stub cannot save without an implemented handler
|
||||
self.assertRaises(IOError, lambda: im.save(tmpfile))
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user