+ @pytest.fixture
+ def string_io(self, const1, text=None):
+ return StringIO(text or const1)
+
+ def test_do_massage_basic(self, const1, string_io, capsys):
+ def converter(drafttext, draftpath, extensions):
+ return Part("text", "plain", draftpath, orig=True)
+
+ do_massage(
+ draft_f=string_io,
+ draftpath=const1,
+ cmd_f=sys.stdout,
+ converter=converter,
+ )
+
+ captured = capsys.readouterr()
+ lines = captured.out.splitlines()
+ assert '="$my_editor"' in lines.pop(0)
+ assert '="$my_edit_headers"' in lines.pop(0)
+ assert "unset my_editor" == lines.pop(0)
+ assert "unset my_edit_headers" == lines.pop(0)
+ assert "update-encoding" in lines.pop(0)
+ assert "source 'rm -f " in lines.pop(0)
+ assert "unset my_mdwn_postprocess_cmd_file" == lines.pop(0)
+
+ def test_do_massage_fulltree(
+ self, string_io, const1, basic_mime_tree, capsys
+ ):
+ def converter(drafttext, draftpath, extensions):
+ return basic_mime_tree
+
+ do_massage(
+ draft_f=string_io,
+ draftpath=const1,
+ cmd_f=sys.stdout,
+ converter=converter,
+ )
+
+ captured = capsys.readouterr()
+ lines = captured.out.splitlines()[4:][::-1]
+ assert "Related" in lines.pop()
+ assert "group-related" in lines.pop()
+ assert "tag-entry" in lines.pop()
+ assert "Logo" in lines.pop()
+ assert "content-id" in lines.pop()
+ assert "toggle-unlink" in lines.pop()
+ assert "logo.png" in lines.pop()
+ assert "tag-entry" in lines.pop()
+ assert "Alternative" in lines.pop()
+ assert "group-alternatives" in lines.pop()
+ assert "tag-entry" in lines.pop()
+ assert "HTML" in lines.pop()
+ assert "toggle-unlink" in lines.pop()
+ assert "part.html" in lines.pop()
+ assert "tag-entry" in lines.pop()
+ assert "Plain" in lines.pop()
+