]> git.scottworley.com Git - paperdoorknob/blobdiff - glowfic_test.py
Show name of thread being processed
[paperdoorknob] / glowfic_test.py
index d84733382a52a4f63692060e1b746d3bf9849796..2d01c2a7e85b2d272fb60ed4dafcb657be72440e 100644 (file)
@@ -9,7 +9,9 @@ import unittest
 
 from bs4 import BeautifulSoup
 
-from glowfic import chunkDOMs
+from images import FakeImageStore
+from glowfic import chunkDOMs, makeChunk
+from texify import PandocTexifier
 
 
 class TestSplit(unittest.TestCase):
@@ -46,5 +48,29 @@ class TestSplit(unittest.TestCase):
                          [['The "post"'], ['1st reply'], ['2nd reply']])
 
 
+class TestMakeChunk(unittest.TestCase):
+
+    def testEmptyContent(self) -> None:
+        with open('testdata/empty-content.html', 'rb') as f:
+            soup = BeautifulSoup(f, 'html.parser')
+        c = makeChunk(next(iter(chunkDOMs(soup))), FakeImageStore())
+        self.assertEqual(
+            c.icon,
+            'stored:https://d1anwqy6ci9o1i.cloudfront.net/' +
+            'users%2F366%2Ficons%2Fxqmypqvflgdy28aorw9ml_shock.png')
+        assert c.character
+        assert c.screen_name
+        assert c.author
+        self.assertEqual(list(c.character.stripped_strings), ['Keltham'])
+        self.assertEqual(
+            list(c.screen_name.stripped_strings), ['lawful chaotic'])
+        self.assertEqual(list(c.author.stripped_strings), ['Iarwain'])
+        self.assertEqual(str(c.content),
+                         '<div class="post-content"><p></p></div>')
+
+        self.assertEqual(
+            PandocTexifier("pandoc").texify(c.character), b'{Keltham}\n')
+
+
 if __name__ == '__main__':
     unittest.main()