import unittest from dungeonsheets import spells, features, epub class MarkdownTestCase(unittest.TestCase): """Check that conversion of markdown formats to LaTeX code works correctly.""" def test_rst_bold(self): text = epub.rst_to_html("**hello**") self.assertEqual(text, "
hello
\n") def test_hit_dice(self): text = epub.rst_to_html("1d6+3") self.assertEqual(text.strip("\n"), '1d6+3
') def test_no_text(self): text = epub.rst_to_html(None) self.assertEqual(text, "") def test_verbatim(self): text = epub.rst_to_html("``hello, world``") self.assertIn('hello, world
', text) def test_literal_backslash(self): text = epub.rst_to_html(r"\\") self.assertEqual(r"\
", text.strip("\n")) @unittest.skip( "Headings are all screwed up because it treats them as the document title" ) def test_headings(self): # Simple heading by itself text = epub.rst_to_html("Hello, world\n------------\n\nGoodbye, world") self.assertEqual("\\section*{Hello, world}\n", text) # Simple heading with leading whitespace text = epub.rst_to_html(" Hello, world\n ============\n") self.assertEqual("\\section*{Hello, world}\n", text) # Heading with text after it text = epub.rst_to_html("Hello, world\n============\n\nThis is some text") self.assertEqual("\\section*{Hello, world}\n\nThis is some text", text) # Heading with text before it text = epub.rst_to_html("This is a paragraph\n\nHello, world\n============\n") self.assertEqual("This is a paragraph\n\n\\section*{Hello, world}\n", text) # Check that levels of headings are parsed appropriately text = epub.rst_to_html("Hello, world\n^^^^^^^^^^^^\n") self.assertEqual("\\subsubsection*{Hello, world}\n", text) text = epub.rst_to_html("Hello, world\n^^^^^^^^^^^^\n", top_heading_level=3) self.assertEqual("\\subparagraph*{Hello, world}\n", text) # This is a bad heading missing with all the underline on one line text = epub.rst_to_html("Hello, world^^^^^^^^^^^^\n") self.assertEqual("Hello, world\\^\\^\\^\\^\\^\\^\\^\\^\\^\\^\\^\\^\n", text) def test_bullet_list(self): tex = epub.rst_to_html("\n- Hello\n- World\n\n") expected_tex = 'Hello
World