import unittest
from markdownify import markdownify as md
class BasicTests(unittest.TestCase):
def test_single_tag(self):
self.assertEqual(md('Hello'), 'Hello')
def test_soup(self):
self.assertEqual(md('
Hello
'), 'Hello')
def test_whitespace(self):
self.assertEqual(md(' a b \n\n c '), ' a b c ')
class ArgTests(unittest.TestCase):
def test_strip(self):
self.assertEqual(
md('Some Text', strip=['a']),
'Some Text')
def test_do_not_strip(self):
self.assertEqual(
md('Some Text', strip=[]),
'[Some Text](https://github.com/matthewwithanm)')
def test_convert(self):
self.assertEqual(
md('Some Text', convert=['a']),
'[Some Text](https://github.com/matthewwithanm)')
def test_do_not_convert(self):
self.assertEqual(
md('Some Text', convert=[]),
'Some Text')
class EscapeTests(unittest.TestCase):
def test_underscore(self):
self.assertEqual(md('_hey_dude_'), '\_hey\_dude\_')
class ConversionTests(unittest.TestCase):
def test_a(self):
self.assertEqual(
md('Google'),
'[Google](http://google.com)'
)
def test_a_with_title(self):
self.assertEqual(
md('Google'),
r'[Google](http://google.com "The \"Goog\"")'
)
def test_b(self):
self.assertEqual(md('Hello'), '**Hello**')
def test_blockquote(self):
self.assertEqual(md('Hello
').strip(), '> Hello')
def test_nested_blockquote(self):
self.assertEqual(
md('And she was like Hello
').strip(),
'> And she was like \n> > Hello'
)
def test_br(self):
self.assertEqual(md('a
b
c'), 'a \nb \nc')
def test_em(self):
self.assertEqual(md('Hello'), '*Hello*')
def test_h1(self):
self.assertEqual(md('Hello
'), 'Hello\n=====\n\n')
def test_h2(self):
self.assertEqual(md('Hello
'), 'Hello\n-----\n\n')
def test_hn(self):
self.assertEqual(md('Hello
'), '### Hello\n\n')
self.assertEqual(md('Hello
'), '###### Hello\n\n')
def test_i(self):
self.assertEqual(md('Hello'), '*Hello*')
def test_ol(self):
self.assertEqual(md('- a
- b
'), '1. a\n2. b\n')
def test_p(self):
self.assertEqual(md('hello
'), 'hello\n\n')
def test_strong(self):
self.assertEqual(md('Hello'), '**Hello**')
def test_ul(self):
self.assertEqual(md(''), '* a\n* b\n')
class AdvancedTests(unittest.TestCase):
def test_nested(self):
self.assertEqual(
md('This is an example link.
'),
'This is an [example link](http://example.com/).\n\n'
)