class NotesMarkdownConverterTest(unittest.TestCase): def setUp(self): self.maxDiff = 1000 # настройка unittest, чтобы выводил различия в длинных текстах ниже self.dummy = ConverterMock() self.converter = NotesMarkdownConverter(self.dummy) def test_basic(self): ''' NotesMarkdownConverter должен запускать парсер markdown отдельно для каждого отрезка разметки markdown, начинающегося с заголовка первого уровня ''' source = \ "# Заголовок первого уровня\n\n" + \ "Второй абзац\n\n" + \ "## заголовок второго уровня (не учитывается)\n\n" + \ "Третий абзац\n" + \ "# Заголовок первого уровня сразу после текста (не учитывается)\n\n" + \ "# Второй заголовок первого уровня\n\n" + \ "# Заголовок первого уровня перед текстом (не учитывается)\n" + \ "Четвёртый абзац\n\n" + \ "#Какой-то подозрительный заголовок (не учитывается)\n\n" + \ "# Заголовок раздела без содержимого (учитывается)" expected = \ "{{{# Заголовок первого уровня\n\n" + \ "Второй абзац\n\n" + \ "## заголовок второго уровня (не учитывается)\n\n" + \ "Третий абзац\n" + \ "# Заголовок первого уровня сразу после текста (не учитывается)\n\n" + \ "}}}{{{# Второй заголовок первого уровня\n\n" + \ "# Заголовок первого уровня перед текстом (не учитывается)\n" + \ "Четвёртый абзац\n\n" + \ "#Какой-то подозрительный заголовок (не учитывается)\n\n" + \ "}}}{{{# Заголовок раздела без содержимого (учитывается)}}}"; self.assertEqual(expected, self.converter.convert(source)) def test_markup_before_first_heading_is_ignored(self): source = \ "Первый абзац\n\n" + \ "# Заголовок первого уровня\n" expected = \ "{{{# Заголовок первого уровня\n}}}" self.assertEqual(expected, self.converter.convert(source))
def setUp(self): self.maxDiff = 1000 # настройка unittest, чтобы выводил различия в длинных текстах ниже self.dummy = ConverterMock() self.converter = NotesMarkdownConverter(self.dummy)