diff options
author | Isaac Muse <faceless.shop@gmail.com> | 2020-10-21 11:09:14 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-21 13:09:14 -0400 |
commit | 2a883a2931fd9cec63ec245c080760a15460a72c (patch) | |
tree | 9a1d1e0f92c5774afc456f582130d95fd2815c86 | |
parent | 6b6cd8bc2f0a870ed309f8b8036492af535e75a1 (diff) | |
download | python-markdown-2a883a2931fd9cec63ec245c080760a15460a72c.tar.gz |
Ensure when tag text is None that it is converted to empty string
Fixes #1049
-rw-r--r-- | docs/change_log/index.md | 1 | ||||
-rw-r--r-- | markdown/extensions/md_in_html.py | 2 | ||||
-rw-r--r-- | tests/test_syntax/extensions/test_md_in_html.py | 18 |
3 files changed, 21 insertions, 0 deletions
diff --git a/docs/change_log/index.md b/docs/change_log/index.md index 994e9a2..fffa216 100644 --- a/docs/change_log/index.md +++ b/docs/change_log/index.md @@ -6,6 +6,7 @@ Python-Markdown Change Log Under development: version 3.3.3 (a bug-fix release). * Unify all block-level tags (#1047). +* Fix issue where some empty elements would have text rendered as `None` when using `md_in_html` (#1049). Oct 19, 2020: version 3.3.2 (a bug-fix release). diff --git a/markdown/extensions/md_in_html.py b/markdown/extensions/md_in_html.py index 489c3fe..a2137c7 100644 --- a/markdown/extensions/md_in_html.py +++ b/markdown/extensions/md_in_html.py @@ -260,6 +260,8 @@ class MarkdownInHtmlProcessor(BlockProcessor): else: # Disable inline parsing for everything else + if element.text is None: + element.text = '' element.text = util.AtomicString(element.text) for child in list(element): self.parse_element_content(child) diff --git a/tests/test_syntax/extensions/test_md_in_html.py b/tests/test_syntax/extensions/test_md_in_html.py index 946e922..865007f 100644 --- a/tests/test_syntax/extensions/test_md_in_html.py +++ b/tests/test_syntax/extensions/test_md_in_html.py @@ -390,6 +390,24 @@ class TestMdInHTML(TestCase): ) ) + def test_empty_tags(self): + self.assertMarkdownRenders( + self.dedent( + """ + <div markdown="1"> + <div></div> + </div> + """ + ), + self.dedent( + """ + <div> + <div></div> + </div> + """ + ) + ) + def test_orphan_end_tag_in_raw_html(self): self.assertMarkdownRenders( self.dedent( |