#! /usr/bin/env python3 # $Id: test_paragraphs.py 9425 2023-06-30 14:56:47Z milde $ # Author: David Goodger # Copyright: This module has been placed in the public domain. """ Tests for states.py. """ from pathlib import Path import sys import unittest if __name__ == '__main__': # prepend the "docutils root" to the Python library path # so we import the local `docutils` package. sys.path.insert(0, str(Path(__file__).resolve().parents[3])) from docutils.frontend import get_default_settings from docutils.parsers.recommonmark_wrapper import Parser from docutils.utils import new_document class RecommonmarkParserTestCase(unittest.TestCase): def test_parser(self): parser = Parser() settings = get_default_settings(Parser) for name, cases in totest.items(): for casenum, (case_input, case_expected) in enumerate(cases): with self.subTest(id=f'totest[{name!r}][{casenum}]'): document = new_document('test data', settings.copy()) parser.parse(case_input, document) output = document.pformat() self.assertEqual(case_expected, output) totest = {} totest['paragraphs'] = [ ["""\ A paragraph. """, """\ A paragraph. """], ["""\ Paragraph 1. Paragraph 2. """, """\ Paragraph 1. Paragraph 2. """], ["""\ Line 1. Line 2. Line 3. """, """\ Line 1. Line 2. Line 3. """], ["""\ Paragraph 1, Line 1. Line 2. Line 3. Paragraph 2, Line 1. Line 2. Line 3. """, """\ Paragraph 1, Line 1. Line 2. Line 3. Paragraph 2, Line 1. Line 2. Line 3. """], ] if __name__ == '__main__': unittest.main()