summaryrefslogtreecommitdiffstats
path: root/test/test_postprocessor.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_postprocessor.py')
-rw-r--r--test/test_postprocessor.py47
1 files changed, 28 insertions, 19 deletions
diff --git a/test/test_postprocessor.py b/test/test_postprocessor.py
index c78d7b0..ac89b55 100644
--- a/test/test_postprocessor.py
+++ b/test/test_postprocessor.py
@@ -388,51 +388,60 @@ class MetadataTest(BasePostprocessorTest):
""")
def test_metadata_modify(self):
- kwdict = {"foo": 0, "bar": {"bax": 1, "bay": 2, "baz": 3}}
+ kwdict = {"foo": 0, "bar": {"bax": 1, "bay": 2, "baz": 3, "ba2": {}}}
self._create({
"mode": "modify",
"fields": {
- "foo" : "{filename}-{foo!s}",
- "foo2" : "\fE bar['bax'] + 122",
- "bar[baz]": "{_now}",
- "bar[ba2]": "test",
+ "foo" : "{filename}-{foo!s}",
+ "foo2" : "\fE bar['bax'] + 122",
+ "bar[\"baz\"]" : "{_now}",
+ "bar['ba2'][a]": "test",
},
}, kwdict)
- pdict = self.pathfmt.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.assertEqual(pdict["foo"] , "file-0")
+ self.assertEqual(pdict["foo2"], 123)
+ self.assertEqual(pdict["bar"]["ba2"]["a"], "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
+ kwdict = {
+ "foo": 0,
+ "bar": {
+ "bax": 1,
+ "bay": 2,
+ "baz": {"a": 3, "b": 4},
+ },
+ }
+ self._create({
+ "mode": "delete",
+ "fields": ["foo", "bar['bax']", "bar[\"baz\"][a]"],
+ }, 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.assertNotIn("bax", pdict["bar"])
+ self.assertNotIn("a", pdict["bar"]["baz"])
# no errors for deleted/undefined fields
self._trigger()
self.assertNotIn("foo", pdict)
- self.assertNotIn("baz", pdict["bar"])
- self.assertEqual(kwdict["bar"], pdict["bar"])
+ self.assertNotIn("bax", pdict["bar"])
+ self.assertNotIn("a", pdict["bar"]["baz"])
def test_metadata_option_skip(self):
self._create({"skip": True})