summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIsaac Muse <faceless.shop@gmail.com>2020-10-21 11:09:14 -0600
committerGitHub <noreply@github.com>2020-10-21 13:09:14 -0400
commit2a883a2931fd9cec63ec245c080760a15460a72c (patch)
tree9a1d1e0f92c5774afc456f582130d95fd2815c86
parent6b6cd8bc2f0a870ed309f8b8036492af535e75a1 (diff)
downloadpython-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.md1
-rw-r--r--markdown/extensions/md_in_html.py2
-rw-r--r--tests/test_syntax/extensions/test_md_in_html.py18
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(