[postprocessor:metadata] implement 'mode: delete' (#2640)
This commit is contained in:
@@ -339,6 +339,28 @@ class MetadataTest(BasePostprocessorTest):
|
||||
{"category": "test", "extension": "ext", "filename": "file"}
|
||||
""")
|
||||
|
||||
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.assertEqual(pdict["foo"], kwdict["foo"])
|
||||
self.assertEqual(pdict["bar"], kwdict["bar"])
|
||||
|
||||
self.assertIsNot(kwdict, pdict)
|
||||
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(
|
||||
|
||||
Reference in New Issue
Block a user