+class BaseTestProcess(ABC):
+
+ @abstractmethod
+ def url(self) -> str:
+ raise NotImplementedError()
+
+ @abstractmethod
+ def fetcher(self) -> Fetcher:
+ raise NotImplementedError()
+
+ def testProcess(self) -> None:
+ buf = io.BytesIO()
+ spec = Spec(
+ self.url(),
+ self.fetcher(),
+ FakeImageStore(),
+ lambda x: x,
+ lambda x: ApplyDOMFilters('NoEdit,NoFooter', x),
+ ContentOnlyLayout(PandocTexifier('pandoc')),
+ 'margin=20mm',
+ buf)
+ paperdoorknob.process(spec)
+ assert buf.getvalue() == b'''\\documentclass{article}
+\\usepackage{graphicx}
+\\usepackage{wrapfig}
+\\usepackage[margin=20mm]{geometry}
+\\begin{document}
+This is glowfic
+
+\\vspace{-.5\\ht\\strutbox}\\noindent\\hrulefill
+
+You \\emph{sure}?
+
+\\vspace{-.5\\ht\\strutbox}\\noindent\\hrulefill