summaryrefslogtreecommitdiff
path: root/docutils/test/test_transforms/test_class.py
diff options
context:
space:
mode:
Diffstat (limited to 'docutils/test/test_transforms/test_class.py')
-rwxr-xr-xdocutils/test/test_transforms/test_class.py34
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()