diff options
Diffstat (limited to 'docutils/test/test_transforms/test_class.py')
-rwxr-xr-x | docutils/test/test_transforms/test_class.py | 34 |
1 files changed, 26 insertions, 8 deletions
diff --git a/docutils/test/test_transforms/test_class.py b/docutils/test/test_transforms/test_class.py index a8eef8f27..5f6f24e92 100755 --- a/docutils/test/test_transforms/test_class.py +++ b/docutils/test/test_transforms/test_class.py @@ -8,15 +8,33 @@ Tests for `docutils.transforms.misc.ClassAttribute`. """ -from test import DocutilsTestSupport -from docutils.parsers.rst import Parser +import unittest +from test import DocutilsTestSupport # NoQA: F401 -def suite(): - parser = Parser() - s = DocutilsTestSupport.TransformTestSuite(parser) - s.generateTests(totest) - return s +from docutils.frontend import get_default_settings +from docutils.parsers.rst import Parser +from docutils.transforms.universal import TestMessages +from docutils.utils import new_document + + +class TransformTestCase(unittest.TestCase): + def test_transforms(self): + parser = Parser() + settings = get_default_settings(Parser) + settings.warning_stream = '' + for name, (transforms, 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) + # Don't do a ``populate_from_components()`` because that + # would enable the Transformer's default transforms. + document.transformer.add_transforms(transforms) + document.transformer.add_transform(TestMessages) + document.transformer.apply_transforms() + output = document.pformat() + self.assertEqual(output, case_expected) totest = {} @@ -187,4 +205,4 @@ A paragraph. if __name__ == '__main__': import unittest - unittest.main(defaultTest='suite') + unittest.main() |