def test_url_callback_constructor_kwargs(self): def rewrite_links_func(url): if url.startswith('/'): return 'http://example.com%s' % url md = Markdown( '[a](/a.html)', rewrite_links_func=rewrite_links_func ) html = md.get_html_content() self.assertEqual( html, '<p><a href="http://example.com/a.html">a</a></p>' ) def link_attrs_func(url): if url.startswith('http'): return 'target="_blank"' md = Markdown( '[a](/a.html)\n[b](http://example.com/b.html)', link_attrs_func=link_attrs_func ) html = md.get_html_content() self.assertEqual( html, '<p>' '<a href="/a.html">a</a>\n' '<a href="http://example.com/b.html" target="_blank">b</a>' '</p>' )
def transform(self, text, entry, *args): mkd = Markdown(text.encode(entry.encoding), autolink=True, safelink=True, ignore_header=True) return mkd.get_html_content().decode(entry.encoding, errors='replace')
def transform(self, text, entry, *args): mkd = Markdown(text.encode('utf-8'), autolink=True, safelink=True, ignore_header=True) return mkd.get_html_content().decode('utf-8')
def test_input_string_get_html_css(self): md = Markdown( '<style>\n *{color:red}\n</style>\n\n# header-1\n\n`test`') style = md.get_html_css() self.assertEqual(style, '<style> *{color:red}</style>\n')
def test_input_file_get_html_css(self): i = tempfile.TemporaryFile('r+w') i.write('<style>\n *{color:red}\n</style>\n\n# header-1\n\n`test`') i.seek(0) md = Markdown(i) style = md.get_html_css() self.assertEqual(style, '<style> *{color:red}</style>\n')
def test_input_file_get_html_content(self): i = tempfile.TemporaryFile('r+w') i.write('`test`') i.seek(0) md = Markdown(i) html = md.get_html_content() i.close() self.assertEqual(html, '<p><code>test</code></p>')
def test_input_string_write_html_content(self): o = tempfile.TemporaryFile('r+w') md = Markdown('`test`') md.write_html_content(o) o.seek(0) html = o.read() o.close() self.assertEqual(html, '<p><code>test</code></p>\n')
def test_input_string_write_html_css(self): o = tempfile.TemporaryFile('r+w') md = Markdown( '<style>\n *{color:red}\n</style>\n\n# header-1\n\n`test`') md.write_html_css(o) o.seek(0) style = o.read() o.close() self.assertEqual(style, '<style> *{color:red}</style>\n')
def test_rewrite_links_as_method(self): def rewrite_links_func(url): if url.startswith('/'): return 'http://example.com%s' % url md = Markdown('[a](/a.html)') md.rewrite_links(rewrite_links_func) html = md.get_html_content() self.assertEqual( html, '<p><a href="http://example.com/a.html">a</a></p>' )
def test_input_string_get_html_toc(self): md = Markdown('# header-1\n## header-2\n### header-3') html = md.get_html_toc() self.assertEqual( html, ( '\n ' '<ul>\n <li><a href="#header-1">header-1</a>\n ' '<ul>\n <li><a href="#header-2">header-2</a>\n ' '<ul>\n <li><a href="#header-3">header-3</a> </li>\n ' '</ul>\n </li>\n </ul>\n </li>\n </ul>\n' ) )
def test_input_file_get_pandoc_date(self): i = tempfile.TemporaryFile('r+w') i.write('`test`') i.seek(0) md = Markdown(i) self.assertEqual(md.get_pandoc_date(), None) i.close() i = tempfile.TemporaryFile('r+w') i.write('% abc\n') i.seek(0) md = Markdown(i) self.assertEqual(md.get_pandoc_date(), None) i.close() i = tempfile.TemporaryFile('r+w') i.write('% abc\n% def') i.seek(0) md = Markdown(i) self.assertEqual(md.get_pandoc_date(), None) i.close() i = tempfile.TemporaryFile('r+w') i.write('% abc\n% def\n% jhi\n') i.seek(0) md = Markdown(i) self.assertEqual(md.get_pandoc_date(), 'jhi') i.close()
def test_link_attrs_as_method(self): def link_attrs_func(url): if url.startswith('http'): return 'target="_blank"' md = Markdown('[a](/a.html)\n[b](http://example.com/b.html)') md.link_attrs(link_attrs_func) html = md.get_html_content() self.assertEqual( html, '<p>' '<a href="/a.html">a</a>\n' '<a href="http://example.com/b.html" target="_blank">b</a>' '</p>' )
def test_input_file_get_html_toc(self): i = tempfile.TemporaryFile('r+w') i.write('# header-1\n## header-2\n### header-3') i.seek(0) md = Markdown(i) html = md.get_html_toc() i.close() self.assertEqual( html, ( '\n ' '<ul>\n <li><a href="#header-1">header-1</a>\n ' '<ul>\n <li><a href="#header-2">header-2</a>\n ' '<ul>\n <li><a href="#header-3">header-3</a> </li>\n ' '</ul>\n </li>\n </ul>\n </li>\n </ul>\n' ) )
def test_input_string_write_html_toc(self): o = tempfile.TemporaryFile('r+w') md = Markdown('# header-1\n## header-2\n### header-3') md.write_html_toc(o) o.seek(0) html = o.read() o.close() self.assertEqual( html, ( '\n ' '<ul>\n <li><a href="#header-1">header-1</a>\n ' '<ul>\n <li><a href="#header-2">header-2</a>\n ' '<ul>\n <li><a href="#header-3">header-3</a> </li>\n ' '</ul>\n </li>\n </ul>\n </li>\n </ul>\n' ) )
def test_input_string_get_pandoc_date(self): md = Markdown('`test`') self.assertEqual(md.get_pandoc_date(), None) md = Markdown('% abc\n') self.assertEqual(md.get_pandoc_date(), None) md = Markdown('% abc\n% def') self.assertEqual(md.get_pandoc_date(), None) md = Markdown('% abc\n% def\n% jhi\n') self.assertEqual(md.get_pandoc_date(), 'jhi')
def test_empty_document_renders(self): md = Markdown('') html = md.get_html_content() self.assertEqual(html, '') md = Markdown(' \t \n ') html = md.get_html_content() self.assertEqual(html, '') i = tempfile.TemporaryFile('r+w') md = Markdown(i) html = md.get_html_content() i.close() self.assertEqual(html, '') i = tempfile.TemporaryFile('r+w') i.write(' \t \n ') i.seek(0) md = Markdown(i) html = md.get_html_content() i.close() self.assertEqual(html, '')
def test_input_string_get_html_content(self): md = Markdown('`test`') html = md.get_html_content() self.assertEqual(html, '<p><code>test</code></p>')