aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_postprocessor.py
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2022-08-29 02:17:22 -0400
committerLibravatarUnit 193 <unit193@unit193.net>2022-08-29 02:17:22 -0400
commitba3ac631ac4e8820d3d701980782ab4a03c1276b (patch)
tree06eecd8b697bf84e96d8347453bb66ba8689fc8b /test/test_postprocessor.py
parent011fcf09a56e256bc5d78bcbc629e6f6f76b053d (diff)
parenta768930761f7f20587ae40a8cacca0e55c85290a (diff)
Update upstream source from tag 'upstream/1.23.0'
Update to upstream version '1.23.0' with Debian dir 8809d3b22d175263b51492e17e8298cdd52f7af1
Diffstat (limited to 'test/test_postprocessor.py')
-rw-r--r--test/test_postprocessor.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/test/test_postprocessor.py b/test/test_postprocessor.py
index 7a216bb..42babd3 100644
--- a/test/test_postprocessor.py
+++ b/test/test_postprocessor.py
@@ -339,6 +339,52 @@ class MetadataTest(BasePostprocessorTest):
{"category": "test", "extension": "ext", "filename": "file"}
""")
+ def test_metadata_modify(self):
+ kwdict = {"foo": 0, "bar": {"bax": 1, "bay": 2, "baz": 3}}
+ self._create({
+ "mode": "modify",
+ "fields": {
+ "foo" : "{filename}-{foo!s}",
+ "foo2" : "\fE bar['bax'] + 122",
+ "bar[baz]": "{_now}",
+ "bar[ba2]": "test",
+ },
+ }, kwdict)
+ pdict = self.pathfmt.kwdict
+
+ self.assertIsNot(kwdict, pdict)
+ self.assertEqual(pdict["foo"], kwdict["foo"])
+ self.assertEqual(pdict["bar"], kwdict["bar"])
+
+ self._trigger()
+
+ self.assertEqual(pdict["foo"] , "file-0")
+ self.assertEqual(pdict["foo2"] , 123)
+ self.assertEqual(pdict["bar"]["ba2"], "test")
+ self.assertIsInstance(pdict["bar"]["baz"], datetime)
+
+ def test_metadata_delete(self):
+ kwdict = {"foo": 0, "bar": {"bax": 1, "bay": 2, "baz": 3}}
+ self._create({"mode": "delete", "fields": ["foo", "bar[baz]"]}, kwdict)
+ pdict = self.pathfmt.kwdict
+
+ self.assertIsNot(kwdict, pdict)
+ self.assertEqual(pdict["foo"], kwdict["foo"])
+ self.assertEqual(pdict["bar"], kwdict["bar"])
+
+ del kwdict["foo"]
+ del kwdict["bar"]["baz"]
+
+ self._trigger()
+ self.assertNotIn("foo", pdict)
+ self.assertNotIn("baz", pdict["bar"])
+ self.assertEqual(kwdict["bar"], pdict["bar"])
+
+ self._trigger()
+ self.assertNotIn("foo", pdict)
+ self.assertNotIn("baz", pdict["bar"])
+ self.assertEqual(kwdict["bar"], pdict["bar"])
+
@staticmethod
def _output(mock):
return "".join(