]> git.scottworley.com Git - paperdoorknob/blobdiff - paperdoorknob_test.py
Handle Unicode characters ≈ and ◁
[paperdoorknob] / paperdoorknob_test.py
index bafce174a1f0af81b46796297cd813d5adf14c57..571dda6847abb40b59855b9c90d81d28ce12f95a 100644 (file)
@@ -15,7 +15,7 @@ import paperdoorknob
 
 from testing.fakeserver import FakeGlowficServer
 from fetch import DirectFetcher, FakeFetcher, Fetcher
 
 from testing.fakeserver import FakeGlowficServer
 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
@@ -35,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,
             lambda x: None,
         spec = Spec(
             self.url(),
             self.fetcher(),
             FakeImageStore(),
             lambda x: 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,13 +70,17 @@ Pretty sure.
             FakeImageStore(),
             lambda x: x,
             lambda x: None,
             FakeImageStore(),
             lambda x: 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(),
         with open("test.tex", 'wb') as out:
             spec = Spec(
                 self.url(),
@@ -82,10 +88,13 @@ Pretty sure.
                 FakeImageStore(),
                 lambda x: x,
                 lambda x: None,
                 FakeImageStore(),
                 lambda x: 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)
@@ -112,7 +121,8 @@ class TestProcessFromFakeFetcher(BaseTestProcess, unittest.TestCase):
 
     def fetcher(self) -> Fetcher:
         with open('testdata/this-is-glowfic.html', 'rb') as f:
 
     def fetcher(self) -> Fetcher:
         with open('testdata/this-is-glowfic.html', 'rb') as f:
-            return FakeFetcher({'fic?view=flat': f.read(9999)})
+            html = f.read(9999)
+            return FakeFetcher({'fic': html, 'fic?view=flat': html})
 
 
 if __name__ == '__main__':
 
 
 if __name__ == '__main__':