2014-07-30 20:34:20 +04:00
|
|
|
from PIL import Image, IptcImagePlugin
|
|
|
|
|
2019-07-06 23:40:53 +03:00
|
|
|
from .helper import PillowTestCase, hopper
|
|
|
|
|
2014-07-30 20:34:20 +04:00
|
|
|
TEST_FILE = "Tests/images/iptc.jpg"
|
|
|
|
|
|
|
|
|
|
|
|
class TestFileIptc(PillowTestCase):
|
|
|
|
def test_getiptcinfo_jpg_none(self):
|
|
|
|
# Arrange
|
2014-09-05 13:36:24 +04:00
|
|
|
im = hopper()
|
2014-07-30 20:34:20 +04:00
|
|
|
|
|
|
|
# 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
|
|
|
|
2017-03-01 12:20:18 +03:00
|
|
|
def test_getiptcinfo_tiff_none(self):
|
|
|
|
# Arrange
|
|
|
|
im = Image.open("Tests/images/hopper.tif")
|
|
|
|
|
|
|
|
# Act
|
|
|
|
iptc = IptcImagePlugin.getiptcinfo(im)
|
|
|
|
|
|
|
|
# Assert
|
|
|
|
self.assertIsNone(iptc)
|
|
|
|
|
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
|
2019-06-13 18:54:11 +03:00
|
|
|
|
2014-08-01 12:56:21 +04:00
|
|
|
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")
|