@@ -460,8 +460,23 @@ def test_string_markdown_forced_line_break(self):
460460 self .assertEqual (3 , m .count ('<br' ))
461461
462462 def test_string_markdown_code_block (self ):
463- p = StringHTMLProperty (self .client , 'test' , '1' , None , 'test' , u2s (u'embedded code block\n \n ```\n line 1\n line 2\n ```\n \n new paragraph' ))
464- self .assertEqual (p .markdown ().strip ().replace ('\n \n ' , '\n ' ), u2s (u'<p>embedded code block</p>\n <pre><code>line 1\n line 2\n </code></pre>\n <p>new paragraph</p>' ))
463+ ''' also verify that embedded html is escaped '''
464+ p = StringHTMLProperty (self .client , 'test' , '1' , None , 'test' , u2s (u'embedded code block <pre>\n \n ```\n line 1\n line 2\n ```\n \n new </pre> paragraph' ))
465+ self .assertEqual (p .markdown ().strip ().replace ('\n \n ' , '\n ' ), u2s (u'<p>embedded code block <pre></p>\n <pre><code>line 1\n line 2\n </code></pre>\n <p>new </pre> paragraph</p>' ))
466+
467+ def test_string_markdown_code_block_attribute (self ):
468+ ''' also verify that embedded html is escaped '''
469+ p = StringHTMLProperty (self .client , 'test' , '1' , None , 'test' , u2s (u'embedded code block <pre>\n \n ``` python\n line 1\n line 2\n ```\n \n new </pre> paragraph' ))
470+ m = p .markdown ().strip ()
471+ print (m )
472+ if type (self ) == MistuneTestCase :
473+ self .assertEqual (m .replace ('\n \n ' ,'\n ' ), '<p>embedded code block <pre></p>\n <pre><code class="lang-python">line 1\n line 2\n </code></pre>\n <p>new </pre> paragraph</p>' )
474+ elif type (self ) == MarkdownTestCase :
475+ self .assertEqual (m .replace ('\n \n ' ,'\n ' ), '<p>embedded code block <pre></p>\n <pre><code class="language-python">line 1\n line 2\n </code></pre>\n <p>new </pre> paragraph</p>' )
476+ else : # markdown2 doesn't handle attributes with code blocks
477+ # so processing it returns original text
478+ self .assertEqual (m .replace ('\n \n ' , '\n ' ), u2s (u'embedded code block <pre>\n ``` python\n line 1\n line 2\n ```\n new </pre> paragraph' ))
479+
465480
466481@skip_mistune
467482class MistuneTestCase (TemplatingTestCase , MarkdownTests ) :
0 commit comments