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):
[['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()