mirror of
https://github.com/python-pillow/Pillow.git
synced 2024-12-27 10:26:19 +03:00
33dabf986f
The unittest in helper.py has not offered an interesting abstraction
since dbe9f85c7d
so import from the more
typical stdlib location.
66 lines
1.9 KiB
Python
66 lines
1.9 KiB
Python
import unittest
|
|
|
|
from PIL import Image, ImagePalette, features
|
|
|
|
from .helper import PillowTestCase, hopper
|
|
|
|
try:
|
|
from PIL import MicImagePlugin
|
|
except ImportError:
|
|
olefile_installed = False
|
|
else:
|
|
olefile_installed = True
|
|
|
|
TEST_FILE = "Tests/images/hopper.mic"
|
|
|
|
|
|
@unittest.skipUnless(olefile_installed, "olefile package not installed")
|
|
@unittest.skipUnless(features.check("libtiff"), "libtiff not installed")
|
|
class TestFileMic(PillowTestCase):
|
|
def test_sanity(self):
|
|
with Image.open(TEST_FILE) as im:
|
|
im.load()
|
|
self.assertEqual(im.mode, "RGBA")
|
|
self.assertEqual(im.size, (128, 128))
|
|
self.assertEqual(im.format, "MIC")
|
|
|
|
# Adjust for the gamma of 2.2 encoded into the file
|
|
lut = ImagePalette.make_gamma_lut(1 / 2.2)
|
|
im = Image.merge("RGBA", [chan.point(lut) for chan in im.split()])
|
|
|
|
im2 = hopper("RGBA")
|
|
self.assert_image_similar(im, im2, 10)
|
|
|
|
def test_n_frames(self):
|
|
with Image.open(TEST_FILE) as im:
|
|
|
|
self.assertEqual(im.n_frames, 1)
|
|
|
|
def test_is_animated(self):
|
|
with Image.open(TEST_FILE) as im:
|
|
|
|
self.assertFalse(im.is_animated)
|
|
|
|
def test_tell(self):
|
|
with Image.open(TEST_FILE) as im:
|
|
|
|
self.assertEqual(im.tell(), 0)
|
|
|
|
def test_seek(self):
|
|
with Image.open(TEST_FILE) as im:
|
|
|
|
im.seek(0)
|
|
self.assertEqual(im.tell(), 0)
|
|
|
|
self.assertRaises(EOFError, im.seek, 99)
|
|
self.assertEqual(im.tell(), 0)
|
|
|
|
def test_invalid_file(self):
|
|
# Test an invalid OLE file
|
|
invalid_file = "Tests/images/flower.jpg"
|
|
self.assertRaises(SyntaxError, MicImagePlugin.MicImageFile, invalid_file)
|
|
|
|
# Test a valid OLE file, but not a MIC file
|
|
ole_file = "Tests/images/test-ole-file.doc"
|
|
self.assertRaises(SyntaxError, MicImagePlugin.MicImageFile, ole_file)
|