import paperdoorknob
from testing.fakeserver import FakeGlowficServer
from fetch import DirectFetcher
+from texify import DirectTexifier, PandocTexifier, VerifyingTexifier
TIMEOUT = 8
with DirectFetcher(TIMEOUT) as f:
replies = paperdoorknob.replies(
paperdoorknob.clean(
- paperdoorknob.fetch(f"http://localhost:{self._port}", f)))
+ paperdoorknob.parse(
+ f.fetch(f"http://localhost:{self._port}"))))
self.assertEqual([r.text.strip() for r in replies],
["This is glowfic", "You sure?", "Pretty sure."])
def testProcess(self) -> None:
+ texifier = PandocTexifier('pandoc')
with DirectFetcher(TIMEOUT) as f:
buf = io.BytesIO()
paperdoorknob.process(
- f"http://localhost:{self._port}", f, buf, 'pandoc')
+ f"http://localhost:{self._port}", f, texifier, buf)
self.assertEqual(buf.getvalue(), b'''\\documentclass{article}
\\begin{document}
This is glowfic
\\end{document}
''')
+ def testDirectTexifier(self) -> None:
+ texifier = VerifyingTexifier(
+ PandocTexifier('pandoc'), DirectTexifier())
+ with DirectFetcher(TIMEOUT) as f:
+ buf = io.BytesIO()
+ paperdoorknob.process(
+ f"http://localhost:{self._port}", f, texifier, buf)
+
def testPDF(self) -> None:
+ texifier = PandocTexifier('pandoc')
with DirectFetcher(TIMEOUT) as f:
with open("test.tex", 'wb') as out:
paperdoorknob.process(
- f"http://localhost:{self._port}", f, out, 'pandoc')
+ f"http://localhost:{self._port}", f, texifier, out)
subprocess.run(['pdflatex', 'test.tex'],
stdin=subprocess.DEVNULL, check=True)