aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_postprocessor.py
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2022-08-29 02:17:16 -0400
committerLibravatarUnit 193 <unit193@unit193.net>2022-08-29 02:17:16 -0400
commita768930761f7f20587ae40a8cacca0e55c85290a (patch)
tree5a4163db912b93fc45f717e5e43fd5be3e66f16c /test/test_postprocessor.py
parentae2a0f5622beaa6f402526f8a7b939419283a090 (diff)
New upstream version 1.23.0.upstream/1.23.0
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(