Mercurial > p > roundup > code
diff test/test_templating.py @ 6279:9ec3a9bc4ea5
issue2551097 - fix call to markdown2 - fix fenced code blocks.
The invocation of fenced codeblock support in markdown2 was wrong.
With this fixed the code that was used to test markdown processor
exception handling no longer works. Fixed test case to make it pass.
Added new test with invalid markdown that tests markdown exception
handling.
Also renamed test to include markdown. Makes using -k option in
run_tests easier.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Thu, 29 Oct 2020 17:08:44 -0400 |
| parents | 957a0fc20021 |
| children | 6ed5152a92d0 |
line wrap: on
line diff
--- a/test/test_templating.py Mon Oct 26 20:27:23 2020 -0400 +++ b/test/test_templating.py Thu Oct 29 17:08:44 2020 -0400 @@ -473,11 +473,17 @@ self.assertEqual(m.replace('\n\n','\n'), '<p>embedded code block <pre></p>\n<pre><code class="lang-python">line 1\nline 2\n</code></pre>\n<p>new </pre> paragraph</p>') elif type(self) == MarkdownTestCase: self.assertEqual(m.replace('\n\n','\n'), '<p>embedded code block <pre></p>\n<pre><code class="language-python">line 1\nline 2\n</code></pre>\n<p>new </pre> paragraph</p>') - else: # markdown2 doesn't handle attributes with code blocks - # so processing it returns original text - self.assertEqual(m.replace('\n\n', '\n'), u2s(u'embedded code block <pre>\n``` python\nline 1\nline 2\n```\nnew </pre> paragraph')) + else: + self.assertEqual(m.replace('\n\n', '\n'), '<p>embedded code block <pre></p>\n<div class="codehilite"><pre><span></span><code><span class="n">line</span> <span class="mi">1</span>\n<span class="n">line</span> <span class="mi">2</span>\n</code></pre></div>\n<p>new </pre> paragraph</p>') - def test_break_on_newline(self): + def test_markdown_return_text_on_exception(self): + ''' string is invalid markdown. missing end of fenced code block ''' + p = StringHTMLProperty(self.client, 'test', '1', None, 'test', u2s(u'embedded code block <pre>\n\n``` python\nline 1\nline 2\n\n\nnew </pre> paragraph')) + m = p.markdown().strip() + print(m) + self.assertEqual(m.replace('\n\n','\n'), '<p>embedded code block <pre></p>\n<p>``` python\nline 1\nline 2</p>\n<p>new </pre> paragraph</p>') + + def test_markdown_break_on_newline(self): self.client.db.config['MARKDOWN_BREAK_ON_NEWLINE'] = True p = StringHTMLProperty(self.client, 'test', '1', None, 'test', u2s(u'A string with\nline break\ntwice.')) m = p.markdown()
