From: Scott Worley Date: Fri, 26 Jan 2024 06:46:43 +0000 (-0800) Subject: Test emit() X-Git-Url: http://git.scottworley.com/paperdoorknob/commitdiff_plain/d6e27f4bb8ab56ca2545a72ab3433a12b1eb4a7f?ds=inline Test emit() --- diff --git a/glowfic_test.py b/glowfic_test.py index 898aafb..befd0b5 100644 --- a/glowfic_test.py +++ b/glowfic_test.py @@ -4,10 +4,12 @@ # under the terms of the GNU General Public License as published by the # Free Software Foundation, version 3. - +from io import BytesIO from sys import stderr import unittest +from typing import Optional + from fetch import FakeFetcher from images import FakeImageStore from glowfic import makeChunk, Thread @@ -15,7 +17,7 @@ from spec import Spec from texify import PandocTexifier -def spec_for_testing(html: bytes) -> Spec: +def spec_for_testing(html: bytes, outbuf: Optional[BytesIO] = None) -> Spec: return Spec('https://fake/test', FakeFetcher({'https://fake/test': html, 'https://fake/test?view=flat': html}), @@ -27,7 +29,7 @@ def spec_for_testing(html: bytes) -> Spec: 20, b'', None, - stderr.buffer, + stderr.buffer if outbuf is None else outbuf, lambda x: None) @@ -143,5 +145,25 @@ class TestThread(unittest.TestCase): self.assertEqual(t.next_thread(), 'https://elsewhere/posts/4567') +class TestEmit(unittest.TestCase): + + def testEmit(self) -> None: + buf = BytesIO() + Thread(spec_for_testing(b''' + +
+
A
+
+
+
+
B
+
+
+ ''', buf)).emit() + self.assertEqual(buf.getvalue(), rb'''\glowhead{}{}{}{}A +\glowhead{}{}{}{}B +''') + + if __name__ == '__main__': unittest.main()