Beispiel #1
0
 def test_nested_quotes(self):
     expected_output = self.load_md("nested_quote2")
     quotebox = md.MarkdownQuotebox()
     quotebox.add(md.MarkdownParagraph("Paragraph 1"))
     nested_quotebox = md.MarkdownQuotebox()
     nested_quotebox.add(md.MarkdownParagraph("Paragraph 2 (nested)"))
     quotebox.add(nested_quotebox)
     quotebox.add(md.MarkdownParagraph("Paragraph 3"))
     self.assertEqual(expected_output, str(quotebox))
     expected_output = self.load_md("nested_quote3")
     level_0 = md.MarkdownDocument()
     level_1 = md.MarkdownQuotebox()
     level_2 = md.MarkdownQuotebox()
     level_3 = md.MarkdownQuotebox()
     level_0.add(md.MarkdownParagraph("Outside quotes!"))
     level_1.add(md.MarkdownParagraph("First level"))
     level_2.add(md.MarkdownParagraph("Second level"))
     level_3.add(md.MarkdownParagraph("Third level"))
     level_0.add(level_1)
     level_1.add(level_2)
     level_2.add(level_3)
     level_1.add(md.MarkdownParagraph("Back on the first level"))
     level_0.add(
         md.MarkdownLink("Link at the end of the document",
                         "https://nowhere.com"))
     self.assertEqual(expected_output, str(level_0))
Beispiel #2
0
 def test_list_whitespace(self):
     expected_output = self.load_md("list_whitespace")
     doc = md.MarkdownDocument()
     doc.add(md.MarkdownListItem("List item 1"))
     doc.add(md.MarkdownListItem("List item 2"))
     doc.add(md.MarkdownParagraph("proceeding paragraph"))
     self.assertEqual(expected_output, str(doc))
Beispiel #3
0
def convert(html, parser='html.parser'):
    # filter out br tags because html.parser treats these incorrectly
    html = re.sub("<br\s*>", "<br/>", html)
    # remove whitespace from between tags
    soup = BeautifulSoup(re.sub(">\s*<", "><", html), parser)
    comment = md.MarkdownDocument()
    comment.add(process_tag(soup))
    return str(comment)
Beispiel #4
0
 def test_quoted_code_fence(self):
     expected_output = self.load_md("quoted_code_fence")
     qcf = md.MarkdownDocument()
     qcf.add(md.MarkdownParagraph("Outside quotes!"))
     quote = md.MarkdownQuotebox()
     code = md.MarkdownCodeBlock("int x = 5\nx++\n")
     quote.add(code)
     quote.add(md.MarkdownParagraph("Below the code fence"))
     qcf.add(quote)
     self.assertEqual(expected_output, str(qcf))
Beispiel #5
0
 def test_basic(self):
     expected_output = self.load_md("basic")
     doc = md.MarkdownDocument()
     doc.add(
         md.MarkdownParagraph("some words follow by more words after them"))
     self.assertEqual(expected_output, str(doc))
Beispiel #6
0
 def test_paragraphs(self):
     expected_output = self.load_md("paragraphs")
     doc = md.MarkdownDocument()
     doc.add(md.MarkdownParagraph("This is paragraph number 1"))
     doc.add(md.MarkdownParagraph("This is paragraph number 2"))
     self.assertEqual(expected_output, str(doc))