mirror of
https://github.com/python-pillow/Pillow.git
synced 2024-12-28 02:46:18 +03:00
Merge pull request #2440 from hugovk/test-gribstub
Test GribStubImagePlugin for correctness
This commit is contained in:
commit
9da968fc0e
|
@ -10,6 +10,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
from . import Image, ImageFile
|
from . import Image, ImageFile
|
||||||
|
from ._binary import i8
|
||||||
|
|
||||||
_handler = None
|
_handler = None
|
||||||
|
|
||||||
|
@ -28,7 +29,7 @@ def register_handler(handler):
|
||||||
# Image adapter
|
# Image adapter
|
||||||
|
|
||||||
def _accept(prefix):
|
def _accept(prefix):
|
||||||
return prefix[0:4] == b"GRIB" and prefix[7] == b'\x01'
|
return prefix[0:4] == b"GRIB" and i8(prefix[7]) == 1
|
||||||
|
|
||||||
|
|
||||||
class GribStubImageFile(ImageFile.StubImageFile):
|
class GribStubImageFile(ImageFile.StubImageFile):
|
||||||
|
|
BIN
Tests/images/WAlaska.wind.7days.grb
Normal file
BIN
Tests/images/WAlaska.wind.7days.grb
Normal file
Binary file not shown.
|
@ -1,21 +1,45 @@
|
||||||
from helper import unittest, PillowTestCase, hopper
|
from helper import unittest, PillowTestCase, hopper
|
||||||
|
|
||||||
from PIL import GribStubImagePlugin
|
from PIL import GribStubImagePlugin, Image
|
||||||
|
|
||||||
|
TEST_FILE = "Tests/images/WAlaska.wind.7days.grb"
|
||||||
|
|
||||||
|
|
||||||
class TestFileGribStub(PillowTestCase):
|
class TestFileGribStub(PillowTestCase):
|
||||||
|
|
||||||
|
def test_open(self):
|
||||||
|
# Act
|
||||||
|
im = Image.open(TEST_FILE)
|
||||||
|
|
||||||
|
# Assert
|
||||||
|
self.assertEqual(im.format, "GRIB")
|
||||||
|
|
||||||
|
# Dummy data from the stub
|
||||||
|
self.assertEqual(im.mode, "F")
|
||||||
|
self.assertEqual(im.size, (1, 1))
|
||||||
|
|
||||||
def test_invalid_file(self):
|
def test_invalid_file(self):
|
||||||
|
# Arrange
|
||||||
invalid_file = "Tests/images/flower.jpg"
|
invalid_file = "Tests/images/flower.jpg"
|
||||||
|
|
||||||
|
# Act / Assert
|
||||||
self.assertRaises(SyntaxError,
|
self.assertRaises(SyntaxError,
|
||||||
lambda:
|
lambda:
|
||||||
GribStubImagePlugin.GribStubImageFile(invalid_file))
|
GribStubImagePlugin.GribStubImageFile(invalid_file))
|
||||||
|
|
||||||
def test_save(self):
|
def test_load(self):
|
||||||
im = hopper()
|
# 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.grib")
|
tmpfile = self.tempfile("temp.grib")
|
||||||
|
|
||||||
|
# Act / Assert: stub cannot save without an implemented handler
|
||||||
self.assertRaises(IOError, lambda: im.save(tmpfile))
|
self.assertRaises(IOError, lambda: im.save(tmpfile))
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user