changeset 7399:ea46ff2a9404 stable

lib: some doctest coverage of markup rendering
author Mads Kiilerich <mads@kiilerich.com>
date Sun, 21 Oct 2018 17:42:00 +0200
parents ba444b73e01a
children 2927d568f714
files kallithea/lib/markup_renderer.py
diffstat 1 files changed, 17 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/kallithea/lib/markup_renderer.py	Sun Oct 21 15:19:56 2018 +0200
+++ b/kallithea/lib/markup_renderer.py	Sun Oct 21 17:42:00 2018 +0200
@@ -139,6 +139,23 @@
 
     @classmethod
     def markdown(cls, source, safe=True, flavored=False):
+        """
+        Convert Markdown (possibly GitHub Flavored) to HTML, possibly
+        with "safe" fall-back to plaintext.
+
+        >>> MarkupRenderer.markdown('''<img id="a" style="margin-top:-1000px;color:red" src="http://example.com/test.jpg">''')
+        u'<p><img id="a" style="margin-top:-1000px;color:red" src="http://example.com/test.jpg"></p>'
+        >>> MarkupRenderer.markdown('''<img class="c d" src="file://localhost/test.jpg">''')
+        u'<p><img class="c d" src="file://localhost/test.jpg"></p>'
+        >>> MarkupRenderer.markdown('''<a href="foo">foo</a>''')
+        u'<p><a href="foo">foo</a></p>'
+        >>> MarkupRenderer.markdown('''<script>alert(1)</script>''')
+        u'<script>alert(1)</script>'
+        >>> MarkupRenderer.markdown('''<div onclick="alert(2)">yo</div>''')
+        u'<div onclick="alert(2)">yo</div>'
+        >>> MarkupRenderer.markdown('''<a href="javascript:alert(3)">yo</a>''')
+        u'<p><a href="javascript:alert(3)">yo</a></p>'
+        """
         source = safe_unicode(source)
         try:
             import markdown as __markdown