# -*- coding: utf-8 -*- """ Python Markdown A Python implementation of John Gruber's Markdown. Documentation: https://python-markdown.github.io/ GitHub: https://github.com/Python-Markdown/markdown/ PyPI: https://pypi.org/project/Markdown/ Started by Manfred Stienstra (http://www.dwerg.net/). Maintained for a few years by Yuri Takhteyev (http://www.freewisdom.org). Currently maintained by Waylan Limberg (https://github.com/waylan), Dmitry Shachnev (https://github.com/mitya57) and Isaac Muse (https://github.com/facelessuser). Copyright 2007-2018 The Python Markdown Project (v. 1.7 and later) Copyright 2004, 2005, 2006 Yuri Takhteyev (v. 0.2-1.6b) Copyright 2004 Manfred Stienstra (the original version) License: BSD (see LICENSE.md for details). """ from unittest import TestSuite from markdown.test_tools import TestCase from ..blocks.test_html_blocks import TestHTMLBlocks from markdown import Markdown from xml.etree.ElementTree import Element class TestMarkdownInHTMLPostProcessor(TestCase): """ Ensure any remaining elements in HTML stash are properly serialized. """ def test_stash_to_string(self): # There should be no known cases where this actually happens so we need to # forcefully pass an `etree` `Element` to the method to ensure proper behavior. element = Element('div') element.text = 'Foo bar.' md = Markdown(extensions=['md_in_html']) result = md.postprocessors['raw_html'].stash_to_string(element) self.assertEqual(result, '
*foo*
', 'foo
' ) def test_md1_p_linebreaks(self): self.assertMarkdownRenders( self.dedent( """*foo*
""" ), self.dedent( """foo
""" ) ) def test_md1_p_blank_lines(self): self.assertMarkdownRenders( self.dedent( """*foo*
""" ), self.dedent( """foo
""" ) ) def test_md1_div(self): self.assertMarkdownRenders( 'foo
foo
<h1>code span</h1>
<h1>code span</h1>
`
<p>