def test_github_flavoured_markdown(self): convert = html.Markdown(extensions=("fenced-code", )) # without lang _in = textwrap.dedent("""\ Hello, World ``` #!/usr/bin/env python print("Hello, World")""") _out = textwrap.dedent("""\ <p>Hello, World</p> <pre><code>#!/usr/bin/env python print("Hello, World") </code></pre>""") self.assertEqual(convert(_in), _out) # w/ lang _in = textwrap.dedent("""\ Hello, World ```python #!/usr/bin/env python print("Hello, World")""") _out = textwrap.dedent("""\ <p>Hello, World</p> <pre><code class="python">#!/usr/bin/env python print("Hello, World") </code></pre>""")
def test_markdown_extensions(self): convert = html.Markdown(extensions=("strikethrough", "superscript")) examples = [("~~strike~~ through", "<p><del>strike</del> through</p>"), ("sup^(script)", "<p>sup<sup>script</sup></p>")] for (input, expected) in examples: self.assertEqual(convert(input), expected)
def test_markdown(self): convert = html.Markdown(extensions=()) examples = [("*Ohai!*", "<p><em>Ohai!</em></p>"), ("<em>Hi</em>", "<p><em>Hi</em></p>"), ("http://example.org/", '<p>http://example.org/</p>')] for (input, expected) in examples: self.assertEqual(convert(input), expected)
def test_code_blocks(self): convert = html.Markdown(extensions=('fenced-code',)) examples = [ ("```\nThis is a code-fence. <hello>\n```", "<p><pre><code>This is a code-fence. <hello>\n</code></pre></p>"), ("```c++\nThis is a code-fence. <hello>\n```", "<p><pre><code class=\"c++\">This is a code-fence. <hello>\n</code></pre></p>"), (" This is a four-character indent. <hello>", "<p><pre><code>This is a four-character indent. <hello>\n</code></pre></p>")] for (input, expected) in examples: self.assertEqual(convert(input), expected)