Pillow/Tests/test_file_iptc.py

80 lines
1.6 KiB
Python
Raw Normal View History

2014-07-30 20:34:20 +04:00
from helper import unittest, PillowTestCase, lena
from PIL import Image, IptcImagePlugin
TEST_FILE = "Tests/images/iptc.jpg"
class TestFileIptc(PillowTestCase):
# Helpers
def dummy_IptcImagePlugin(self):
# Create an IptcImagePlugin object without initializing it
class FakeImage:
pass
im = FakeImage()
im.__class__ = IptcImagePlugin.IptcImageFile
return im
# Tests
def test_getiptcinfo_jpg_none(self):
# Arrange
im = lena()
# Act
iptc = IptcImagePlugin.getiptcinfo(im)
# Assert
self.assertIsNone(iptc)
def test_getiptcinfo_jpg_found(self):
# Arrange
im = Image.open(TEST_FILE)
# Act
iptc = IptcImagePlugin.getiptcinfo(im)
# Assert
self.assertIsInstance(iptc, dict)
2014-07-30 21:43:34 +04:00
self.assertEqual(iptc[(2, 90)], b"Budapest")
self.assertEqual(iptc[(2, 101)], b"Hungary")
2014-07-30 20:34:20 +04:00
def test_i(self):
# Arrange
2014-07-30 21:43:34 +04:00
c = b"a"
2014-07-30 20:34:20 +04:00
# Act
ret = IptcImagePlugin.i(c)
# Assert
self.assertEqual(ret, 97)
2014-08-01 12:56:21 +04:00
def test_dump(self):
# Arrange
c = b"abc"
# Temporarily redirect stdout
try:
from cStringIO import StringIO
except ImportError:
from io import StringIO
import sys
old_stdout = sys.stdout
sys.stdout = mystdout = StringIO()
# Act
IptcImagePlugin.dump(c)
# Reset stdout
sys.stdout = old_stdout
# Assert
2014-08-01 13:11:03 +04:00
self.assertEqual(mystdout.getvalue(), "61 62 63 \n")
2014-08-01 12:56:21 +04:00
2014-07-30 20:34:20 +04:00
if __name__ == '__main__':
unittest.main()
# End of file