diff options
Diffstat (limited to 'unittest/metadata.py')
-rw-r--r-- | unittest/metadata.py | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/unittest/metadata.py b/unittest/metadata.py index 62918c5..6d106ec 100644 --- a/unittest/metadata.py +++ b/unittest/metadata.py @@ -82,6 +82,12 @@ class ImageMock(object): def setXmpTagValue(self, key, value): self.tags['xmp'][key] = value + def deleteXmpTag(self, key): + try: + del self.tags['xmp'][key] + except KeyError: + pass + class TestImageMetadata(unittest.TestCase): @@ -555,16 +561,31 @@ class TestImageMetadata(unittest.TestCase): self.assertEqual(self.metadata._image.tags['xmp'][key], value) def test_delete_xmp_tag_inexistent(self): - # TODO - raise(NotImplementedError()) + self.metadata.read() + self._set_xmp_tags() + key = 'Xmp.xmp.CreatorTool' + self.failUnlessRaises(KeyError, self.metadata._delete_xmp_tag, key) def test_delete_xmp_tag_not_cached(self): - # TODO - raise(NotImplementedError()) + self.metadata.read() + self._set_xmp_tags() + key = 'Xmp.dc.subject' + self.assertEqual(self.metadata._tags['xmp'], {}) + self.assert_(self.metadata._image.tags['xmp'].has_key(key)) + self.metadata._delete_xmp_tag(key) + self.assertEqual(self.metadata._tags['xmp'], {}) + self.failIf(self.metadata._image.tags['xmp'].has_key(key)) def test_delete_xmp_tag_cached(self): - # TODO - raise(NotImplementedError()) + self.metadata.read() + self._set_xmp_tags() + key = 'Xmp.dc.subject' + self.assert_(self.metadata._image.tags['xmp'].has_key(key)) + tag = self.metadata._get_xmp_tag(key) + self.assertEqual(self.metadata._tags['xmp'][key], tag) + self.metadata._delete_xmp_tag(key) + self.assertEqual(self.metadata._tags['xmp'], {}) + self.failIf(self.metadata._image.tags['xmp'].has_key(key)) ########################### # Test dictionary interface |