]> git.scottworley.com Git - paperdoorknob/blobdiff - paperdoorknob_test.py
Optionally have Thread.__init__ fetch the HTML
[paperdoorknob] / paperdoorknob_test.py
index 6481803805cde8da5fd1b76ab9a3aa3e099b65f7..f2cd5f1115e21576d9f771eacfd03d130b93082d 100644 (file)
@@ -14,9 +14,8 @@ import subprocess
 import paperdoorknob
 
 from testing.fakeserver import FakeGlowficServer
 import paperdoorknob
 
 from testing.fakeserver import FakeGlowficServer
-from domfilter import ApplyDOMFilters
 from fetch import DirectFetcher, FakeFetcher, Fetcher
 from fetch import DirectFetcher, FakeFetcher, Fetcher
-from glowfic import ContentOnlyLayout, BelowIconLayout
+from glowfic import ContentOnlyLayout, BesideIconLayout
 from images import FakeImageStore
 from spec import Spec
 from texify import DirectTexifier, PandocTexifier, VerifyingTexifier
 from images import FakeImageStore
 from spec import Spec
 from texify import DirectTexifier, PandocTexifier, VerifyingTexifier
@@ -36,26 +35,28 @@ class BaseTestProcess(ABC):
 
     def testProcess(self) -> None:
         buf = io.BytesIO()
 
     def testProcess(self) -> None:
         buf = io.BytesIO()
+        texifier = PandocTexifier('pandoc')
         spec = Spec(
             self.url(),
             self.fetcher(),
             FakeImageStore(),
             lambda x: x,
         spec = Spec(
             self.url(),
             self.fetcher(),
             FakeImageStore(),
             lambda x: x,
-            lambda x: ApplyDOMFilters('NoEdit,NoFooter', x),
+            lambda x: None,
+            texifier,
             lambda x: x,
             lambda x: x,
-            ContentOnlyLayout(PandocTexifier('pandoc')),
+            20,
+            ContentOnlyLayout,
             'margin=20mm',
             'margin=20mm',
-            buf)
+            buf,
+            lambda _: None)
         paperdoorknob.process(spec)
         assert re.match(br'''\\documentclass{article}
 (\\usepackage{[a-z]+}\n)+\\usepackage\[margin=20mm\]{geometry}
 \\begin{document}
         paperdoorknob.process(spec)
         assert re.match(br'''\\documentclass{article}
 (\\usepackage{[a-z]+}\n)+\\usepackage\[margin=20mm\]{geometry}
 \\begin{document}
-This is glowfic
-
-You \\emph{sure}\?
-
-Pretty sure.
-
+(.|\n)*
+\\glowhead{}{}{}{}This is \\href{https://glowfic.com}{glowfic}
+\\glowhead{}{}{}{}You \\emph{sure}\?
+\\glowhead{}{}{}{}Pretty sure.
 \\end{document}
 ''', buf.getvalue())
 
 \\end{document}
 ''', buf.getvalue())
 
@@ -68,25 +69,32 @@ Pretty sure.
             self.fetcher(),
             FakeImageStore(),
             lambda x: x,
             self.fetcher(),
             FakeImageStore(),
             lambda x: x,
-            lambda x: ApplyDOMFilters('NoEdit,NoFooter', x),
+            lambda x: None,
+            texifier,
             lambda x: x,
             lambda x: x,
-            ContentOnlyLayout(texifier),
+            20,
+            ContentOnlyLayout,
             None,
             None,
-            buf)
+            buf,
+            lambda _: None)
         paperdoorknob.process(spec)
 
     def testPDF(self) -> None:
         paperdoorknob.process(spec)
 
     def testPDF(self) -> None:
+        texifier = PandocTexifier('pandoc')
         with open("test.tex", 'wb') as out:
             spec = Spec(
                 self.url(),
                 self.fetcher(),
                 FakeImageStore(),
                 lambda x: x,
         with open("test.tex", 'wb') as out:
             spec = Spec(
                 self.url(),
                 self.fetcher(),
                 FakeImageStore(),
                 lambda x: x,
-                lambda x: ApplyDOMFilters('NoEdit,NoFooter', x),
+                lambda x: None,
+                texifier,
                 lambda x: x,
                 lambda x: x,
-                BelowIconLayout(PandocTexifier('pandoc'), 20),
+                20,
+                BesideIconLayout,
                 None,
                 None,
-                out)
+                out,
+                lambda _: None)
             paperdoorknob.process(spec)
         subprocess.run(['pdflatex', 'test.tex'],
                        stdin=subprocess.DEVNULL, check=True)
             paperdoorknob.process(spec)
         subprocess.run(['pdflatex', 'test.tex'],
                        stdin=subprocess.DEVNULL, check=True)