aboutsummaryrefslogtreecommitdiffstats
path: root/test/reader/test_exif.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/reader/test_exif.py')
-rw-r--r--test/reader/test_exif.py22
1 files changed, 21 insertions, 1 deletions
diff --git a/test/reader/test_exif.py b/test/reader/test_exif.py
index de6e801..1767f12 100644
--- a/test/reader/test_exif.py
+++ b/test/reader/test_exif.py
@@ -10,7 +10,7 @@ import pyexiv2
from bsie.utils import errors
# objects to test
-from bsie.reader.exif import Exif
+from bsie.reader.exif import Exif, Iptc
## code ##
@@ -44,6 +44,26 @@ class TestExif(unittest.TestCase):
})
+class TestIptc(unittest.TestCase):
+ def test_call(self):
+ rdr = Iptc()
+ # discards non-image files
+ self.assertRaises(errors.UnsupportedFileFormatError, rdr,
+ os.path.join(os.path.dirname(__file__), 'invalid.doc'))
+ # raises on invalid image files
+ self.assertRaises(errors.UnsupportedFileFormatError, rdr,
+ os.path.join(os.path.dirname(__file__), 'invalid.jpg'))
+ # raises on invalid image files
+ pyexiv2.set_log_level(3) # suppress log message
+ self.assertRaises(errors.ReaderError, rdr,
+ os.path.join(os.path.dirname(__file__), 'testimage_exif_corrupted.jpg'))
+ # returns dict with exif info
+ self.assertDictEqual(rdr(os.path.join(os.path.dirname(__file__), 'testimage_exif.jpg')), {
+ 'Iptc.Application2.Keywords': ['hello', 'world'],
+ 'Iptc.Application2.RecordVersion': '4',
+ })
+
+
## main ##
if __name__ == '__main__':