SF.net SVN: docutils:[9914] trunk/docutils/test
milde--- via Docutils-checkins <[email protected]>
| Newsgroups | gmane.text.docutils.cvs |
|---|---|
| Message-ID | <[email protected]> |
Revision: 9914
http://sourceforge.net/p/docutils/code/9914
Author: milde
Date: 2024-08-21 13:45:08 +0000 (Wed, 21 Aug 2024)
Log Message:
-----------
Use writer instances instead of names in test scripts.
Calling the publisher convenience functions with a component
instance instead of its name gives a slight speedup.
Also, don't specify a component argument if it is the default.
Modified Paths:
--------------
trunk/docutils/test/test_dependencies.py
trunk/docutils/test/test_parsers/test_docutils_xml/test_misc.py
trunk/docutils/test/test_publisher.py
trunk/docutils/test/test_traversals.py
trunk/docutils/test/test_writers/test_docutils_xml.py
trunk/docutils/test/test_writers/test_html4css1_misc.py
trunk/docutils/test/test_writers/test_html4css1_parts.py
trunk/docutils/test/test_writers/test_html4css1_template.py
trunk/docutils/test/test_writers/test_html5_polyglot.py
trunk/docutils/test/test_writers/test_html5_polyglot_misc.py
trunk/docutils/test/test_writers/test_latex2e.py
trunk/docutils/test/test_writers/test_latex2e_misc.py
trunk/docutils/test/test_writers/test_manpage.py
trunk/docutils/test/test_writers/test_null.py
trunk/docutils/test/test_writers/test_odt.py
trunk/docutils/test/test_writers/test_pseudoxml.py
trunk/docutils/test/test_writers/test_s5.py
Modified: trunk/docutils/test/test_dependencies.py
===================================================================
--- trunk/docutils/test/test_dependencies.py 2024-08-21 13:44:48 UTC (rev 9913)
+++ trunk/docutils/test/test_dependencies.py 2024-08-21 13:45:08 UTC (rev 9914)
@@ -23,6 +23,7 @@
import docutils.utils
import docutils.io
from docutils.parsers.rst.directives.images import PIL
+from docutils.writers import html4css1, html5_polyglot, latex2e, docutils_xml
TEST_ROOT = Path(__file__).parent # ./test/ from the docutils root
DATA_ROOT = TEST_ROOT / 'data'
@@ -76,7 +77,7 @@
if PIL and os.path.exists('../docs/user/rst/images/'):
keys += ['figure-image']
expected = [paths[key] for key in keys]
- record, _output = self.get_record(writer='xml')
+ record, _output = self.get_record(writer=docutils_xml.Writer())
# the order of the files is arbitrary
self.assertEqual(sorted(expected), sorted(record))
@@ -89,7 +90,7 @@
settings = {'stylesheet_path': None,
'stylesheet': None,
'report_level': 4} # drop warning if PIL is missing
- record, output = self.get_record(writer='html5',
+ record, output = self.get_record(writer=html5_polyglot.Writer(),
settings_overrides=settings)
# the order of the files is arbitrary
self.assertEqual(sorted(expected), sorted(record),
@@ -105,7 +106,7 @@
keys += ['figure-image']
expected = [paths[key] for key in keys]
record, output = self.get_record(
- writer='latex',
+ writer=latex2e.Writer(),
settings_overrides=latex_settings_overwrites)
# the order of the files is arbitrary
self.assertEqual(sorted(expected), sorted(record),
@@ -123,22 +124,22 @@
'stylesheet': None}
settings.update(latex_settings_overwrites)
settings['embed_stylesheet'] = False
- record, _output = self.get_record(writer='html',
+ record, _output = self.get_record(writer=html4css1.Writer(),
settings_overrides=settings)
self.assertTrue(stylesheet not in record,
f'{stylesheet!r} should not be in {record!r}')
- record, _output = self.get_record(writer='latex',
+ record, _output = self.get_record(writer=latex2e.Writer(),
settings_overrides=settings)
self.assertTrue(stylesheet not in record,
f'{stylesheet!r} should not be in {record!r}')
settings['embed_stylesheet'] = True
- record, _output = self.get_record(writer='html',
+ record, _output = self.get_record(writer=html4css1.Writer(),
settings_overrides=settings)
self.assertTrue(stylesheet in record,
f'{stylesheet!r} should be in {record!r}')
settings['embed_stylesheet'] = True
- record, _output = self.get_record(writer='latex',
+ record, _output = self.get_record(writer=latex2e.Writer(),
settings_overrides=settings)
self.assertTrue(stylesheet in record,
f'{stylesheet!r} should be in {record!r}')
Modified: trunk/docutils/test/test_parsers/test_docutils_xml/test_misc.py
===================================================================
--- trunk/docutils/test/test_parsers/test_docutils_xml/test_misc.py 2024-08-21 13:44:48 UTC (rev 9913)
+++ trunk/docutils/test/test_parsers/test_docutils_xml/test_misc.py 2024-08-21 13:45:08 UTC (rev 9914)
@@ -26,9 +26,7 @@
from docutils.core import publish_string
from docutils.parsers import docutils_xml
-parser = docutils_xml.Parser()
-
class XMLParserTests(unittest.TestCase):
maxDiff = None
@@ -42,7 +40,8 @@
settings = self.mysettings | settings
for casenum, (case_input, case_expected) in enumerate(cases):
with self.subTest(id=f'totest[{name!r}][{casenum}]'):
- output = publish_string(case_input, parser=parser,
+ output = publish_string(case_input,
+ parser=docutils_xml.Parser(),
settings_overrides=settings)
self.assertEqual(case_expected, output)
Modified: trunk/docutils/test/test_publisher.py
===================================================================
--- trunk/docutils/test/test_publisher.py 2024-08-21 13:44:48 UTC (rev 9913)
+++ trunk/docutils/test/test_publisher.py 2024-08-21 13:45:08 UTC (rev 9914)
@@ -18,8 +18,9 @@
sys.path.insert(0, str(Path(__file__).resolve().parents[1]))
import docutils
+import docutils.parsers.null
from docutils import core, nodes, parsers, readers, writers
-import docutils.parsers.null
+from docutils.writers import html4css1, odf_odt, pseudoxml
# DATA_ROOT is ./test/data/ from the docutils root
DATA_ROOT = Path(__file__).parent / 'data'
@@ -227,7 +228,7 @@
'warning_stream': ''}
with self.assertRaisesRegex(docutils.utils.SystemMessage,
'The ODT writer returns `bytes` '):
- core.publish_string('test', writer='odt',
+ core.publish_string('test', writer=odf_odt.Writer(),
settings_overrides=settings)
def test_publish_string_deprecation_warning(self):
@@ -253,7 +254,7 @@
# Produce the document tree.
with self.assertWarns(PendingDeprecationWarning):
doctree = core.publish_doctree(
- source=test_document, reader='standalone',
+ source=test_document,
parser_name='restructuredtext', settings_spec=self,
settings_overrides={'expose_internals':
['refnames', 'do_not_expose'],
@@ -274,7 +275,7 @@
# Write out the document:
output = core.publish_from_doctree(
doctree,
- writer='pseudoxml',
+ writer=pseudoxml.Writer(),
settings_spec=self,
settings_overrides={'expose_internals':
['refnames', 'do_not_expose'],
@@ -285,7 +286,7 @@
# Test publishing parts using document as the source.
parts = core.publish_parts(
reader='doctree', source_class=docutils.io.DocTreeInput,
- source=doctree, source_path='test', writer='html',
+ source=doctree, source_path='test', writer=html4css1.Writer(),
settings_spec=self)
self.assertTrue(isinstance(parts, dict))
@@ -295,8 +296,6 @@
# Produce the document tree.
doctree = core.publish_doctree(
source=test_document,
- reader='standalone',
- parser='restructuredtext',
settings_spec=self)
self.assertTrue(isinstance(doctree, nodes.document))
Modified: trunk/docutils/test/test_traversals.py
===================================================================
--- trunk/docutils/test/test_traversals.py 2024-08-21 13:44:48 UTC (rev 9913)
+++ trunk/docutils/test/test_traversals.py 2024-08-21 13:45:08 UTC (rev 9914)
@@ -68,8 +68,6 @@
# Load some document tree in memory.
doctree = core.publish_doctree(
source=stop_traversal_input,
- reader='standalone',
- parser='restructuredtext',
settings_spec=self)
self.assertTrue(isinstance(doctree, nodes.document))
Modified: trunk/docutils/test/test_writers/test_docutils_xml.py
===================================================================
--- trunk/docutils/test/test_writers/test_docutils_xml.py 2024-08-21 13:44:48 UTC (rev 9913)
+++ trunk/docutils/test/test_writers/test_docutils_xml.py 2024-08-21 13:45:08 UTC (rev 9914)
@@ -19,6 +19,7 @@
import docutils
import docutils.core
+from docutils.writers import docutils_xml
from io import StringIO
@@ -122,8 +123,7 @@
def publish_xml(settings, source):
return docutils.core.publish_string(source=source,
- reader='standalone',
- writer='docutils_xml',
+ writer=docutils_xml.Writer(),
settings_overrides=settings)
Modified: trunk/docutils/test/test_writers/test_html4css1_misc.py
===================================================================
--- trunk/docutils/test/test_writers/test_html4css1_misc.py 2024-08-21 13:44:48 UTC (rev 9913)
+++ trunk/docutils/test/test_writers/test_html4css1_misc.py 2024-08-21 13:45:08 UTC (rev 9914)
@@ -19,6 +19,7 @@
sys.path.insert(0, str(Path(__file__).resolve().parents[2]))
from docutils import core
+from docutils.writers import html4css1
# TEST_ROOT is ./test/ from the docutils root
TEST_ROOT = Path(__file__).parents[1]
@@ -36,11 +37,11 @@
# error handler.
settings_overrides = {
'output_encoding': 'latin1',
- 'stylesheet': '',
+ 'stylesheet-path': '',
'_disable_config': True,
}
result = bytes(core.publish_string(
- 'EUR = \u20ac', writer='html4css1',
+ 'EUR = \u20ac', writer=html4css1.Writer(),
settings_overrides=settings_overrides))
# Encoding a euro sign with latin1 doesn't work, so the
# xmlcharrefreplace handler is used.
@@ -49,10 +50,7 @@
class MovingArgsTestCase(unittest.TestCase):
- mys = {'stylesheet_path': '',
- # 'embed_stylesheet': False,
- '_disable_config': True,
- }
+ mys = {'_disable_config': True}
def test_definition_list_item_classes(self):
# Do not drop class arguments for the definition list item.
@@ -66,7 +64,7 @@
second term:
second def
"""
- result = core.publish_string(data, writer='html4css1',
+ result = core.publish_string(data, writer=html4css1.Writer(),
settings_overrides=self.mys)
self.assertIn(b'<dt class="for the second item">second term:</dt>',
result)
@@ -83,7 +81,7 @@
second term:
second def
"""
- result = core.publish_string(data, writer='html4css1',
+ result = core.publish_string(data, writer=html4css1.Writer(),
settings_overrides=self.mys)
self.assertIn(b'<dt id="second-item">second term:</dt>',
result)
@@ -98,7 +96,7 @@
def test_default_stylesheet(self):
# default style sheet, embedded
mys = {'_disable_config': True}
- styles = core.publish_parts(self.data, writer='html4css1',
+ styles = core.publish_parts(self.data, writer=html4css1.Writer(),
settings_overrides=mys)['stylesheet']
self.assertIn('Default cascading style sheet '
'for the HTML output of Docutils.', styles)
@@ -107,7 +105,7 @@
# default style sheet, linked
mys = {'_disable_config': True,
'embed_stylesheet': False}
- styles = core.publish_parts(self.data, writer='html4css1',
+ styles = core.publish_parts(self.data, writer=html4css1.Writer(),
settings_overrides=mys)['stylesheet']
self.assertIn('docutils/writers/html4css1/html4css1.css', styles)
@@ -116,7 +114,7 @@
mys = {'_disable_config': True,
'embed_stylesheet': False,
'stylesheet_path': 'html4css1.css, math.css'}
- styles = core.publish_parts(self.data, writer='html4css1',
+ styles = core.publish_parts(self.data, writer=html4css1.Writer(),
settings_overrides=mys)['stylesheet']
self.assertIn('docutils/writers/html4css1/html4css1.css', styles)
self.assertIn('docutils/writers/html5_polyglot/math.css', styles)
@@ -127,7 +125,7 @@
'embed_stylesheet': False,
'stylesheet_path': 'html4css1.css, '
'data/ham.css'}
- styles = core.publish_parts(self.data, writer='html4css1',
+ styles = core.publish_parts(self.data, writer=html4css1.Writer(),
settings_overrides=mys)['stylesheet']
self.assertIn('docutils/writers/html4css1/html4css1.css', styles)
self.assertIn('href="data/ham.css"', styles)
@@ -139,7 +137,7 @@
TEST_ROOT / '../docutils/writers/html4css1/',
DATA_ROOT),
'stylesheet_path': 'html4css1.css, ham.css'}
- styles = core.publish_parts(self.data, writer='html4css1',
+ styles = core.publish_parts(self.data, writer=html4css1.Writer(),
settings_overrides=mys)['stylesheet']
if (TEST_ROOT / '../docutils/writers/html4css1/').is_dir():
self.assertIn('docutils/writers/html4css1/html4css1.css', styles)
@@ -152,7 +150,7 @@
TEST_ROOT / '../docutils/writers/html4css1/',
DATA_ROOT),
'stylesheet_path': 'ham.css'}
- styles = core.publish_parts(self.data, writer='html4css1',
+ styles = core.publish_parts(self.data, writer=html4css1.Writer(),
settings_overrides=mys)['stylesheet']
self.assertIn('dl.docutils dd {\n margin-bottom: 0.5em }', styles)
@@ -175,7 +173,7 @@
def test_math_output_default(self):
# HTML with math.css stylesheet (since 0.11)
mys = {'_disable_config': True}
- styles = core.publish_parts(self.data, writer='html4css1',
+ styles = core.publish_parts(self.data, writer=html4css1.Writer(),
settings_overrides=mys)['stylesheet']
self.assertIn('convert LaTeX equations to HTML output.', styles)
@@ -185,7 +183,7 @@
mys = {'_disable_config': True,
'report_level': 3,
'math_output': 'MathJax'}
- head = core.publish_parts(self.data, writer='html4css1',
+ head = core.publish_parts(self.data, writer=html4css1.Writer(),
settings_overrides=mys)['head']
self.assertIn(self.mathjax_script % self.default_mathjax_url, head)
@@ -194,7 +192,7 @@
mys = {'_disable_config': True,
'math_output':
'mathjax %s' % self.custom_mathjax_url}
- head = core.publish_parts(self.data, writer='html4css1',
+ head = core.publish_parts(self.data, writer=html4css1.Writer(),
settings_overrides=mys)['head']
self.assertIn(self.mathjax_script % self.custom_mathjax_url, head)
@@ -201,7 +199,7 @@
def test_math_output_html(self):
mys = {'_disable_config': True,
'math_output': 'HTML'}
- head = core.publish_parts(self.data, writer='html4css1',
+ head = core.publish_parts(self.data, writer=html4css1.Writer(),
settings_overrides=mys)['head']
# There should be no MathJax script when math_output is not MathJax
self.assertNotIn('MathJax.js', head)
@@ -213,7 +211,7 @@
TEST_ROOT,
os.path.join(TEST_ROOT, 'functional/input/data')),
'embed_stylesheet': False}
- styles = core.publish_parts(self.data, writer='html4css1',
+ styles = core.publish_parts(self.data, writer=html4css1.Writer(),
settings_overrides=mys)['stylesheet']
self.assertEqual(f"""\
<link rel="stylesheet" href="{html4css1_css}" type="text/css" />
@@ -223,7 +221,7 @@
def test_math_output_mathjax_no_math(self):
# There should be no math script when text does not contain math
- head = core.publish_parts('No math.', writer='html4css1')['head']
+ head = core.publish_parts('No math.', writer=html4css1.Writer())['head']
self.assertNotIn('MathJax', head)
Modified: trunk/docutils/test/test_writers/test_html4css1_parts.py
===================================================================
--- trunk/docutils/test/test_writers/test_html4css1_parts.py 2024-08-21 13:44:48 UTC (rev 9913)
+++ trunk/docutils/test/test_writers/test_html4css1_parts.py 2024-08-21 13:45:08 UTC (rev 9914)
@@ -24,8 +24,8 @@
import docutils
import docutils.core
from docutils.parsers.rst.directives.images import PIL
+from docutils.writers import html4css1
-
ROOT_PREFIX = (Path(__file__).parent.parent/'functional'/'input').as_posix()
if PIL:
SCALING_OUTPUT = 'style="width: 32.0px; height: 32.0px;" '
@@ -41,17 +41,16 @@
maxDiff = None
def test_publish(self):
- writer = 'html4'
for name, (settings_overrides, cases) in totest.items():
for casenum, (case_input, case_expected) in enumerate(cases):
with self.subTest(id=f'totest[{name!r}][{casenum}]'):
parts = docutils.core.publish_parts(
source=case_input,
- writer=writer,
+ writer=html4css1.Writer(),
settings_overrides={
'_disable_config': True,
'strict_visitor': True,
- 'stylesheet': '',
+ 'stylesheet_path': '',
**settings_overrides,
}
)
@@ -110,8 +109,7 @@
totest = {}
-totest['title_promotion'] = ({'stylesheet_path': '',
- 'embed_stylesheet': False}, [
+totest['title_promotion'] = ({}, [
["""\
Simple String
""",
@@ -252,9 +250,7 @@
}]
])
-totest['no_title_promotion'] = ({'doctitle_xform': False,
- 'stylesheet_path': '',
- 'embed_stylesheet': False}, [
+totest['no_title_promotion'] = ({'doctitle_xform': False}, [
["""\
Simple String
""",
@@ -416,9 +412,7 @@
],
])
-totest['root_prefix'] = ({'root_prefix': ROOT_PREFIX,
- 'stylesheet_path': '',
- 'embed_stylesheet': False}, [
+totest['root_prefix'] = ({'root_prefix': ROOT_PREFIX}, [
["""\
.. image:: /data/blue%20square.png
Modified: trunk/docutils/test/test_writers/test_html4css1_template.py
===================================================================
--- trunk/docutils/test/test_writers/test_html4css1_template.py 2024-08-21 13:44:48 UTC (rev 9913)
+++ trunk/docutils/test/test_writers/test_html4css1_template.py 2024-08-21 13:45:08 UTC (rev 9914)
@@ -21,6 +21,7 @@
import docutils
from docutils.core import publish_string
+from docutils.writers import html4css1
# TEST_ROOT is ./test/ from the docutils root
TEST_ROOT = Path(__file__).parents[1]
@@ -29,7 +30,6 @@
class WriterPublishTestCase(unittest.TestCase):
# maxDiff = None
def test_publish(self):
- writer = 'html4'
template_path = TEST_ROOT / 'data/full-template.txt'
for name, cases in totest.items():
for casenum, (case_input, case_expected) in enumerate(cases):
@@ -36,7 +36,7 @@
with self.subTest(id=f'totest[{name!r}][{casenum}]'):
output = publish_string(
source=case_input,
- writer=writer,
+ writer=html4css1.Writer(),
settings_overrides={
'_disable_config': True,
'strict_visitor': True,
Modified: trunk/docutils/test/test_writers/test_html5_polyglot.py
===================================================================
--- trunk/docutils/test/test_writers/test_html5_polyglot.py 2024-08-21 13:44:48 UTC (rev 9913)
+++ trunk/docutils/test/test_writers/test_html5_polyglot.py 2024-08-21 13:45:08 UTC (rev 9914)
@@ -23,6 +23,7 @@
import docutils.core
from docutils.parsers.rst.directives.images import PIL
from docutils.utils.code_analyzer import with_pygments
+from docutils.writers import html5_polyglot
if with_pygments:
import pygments
@@ -71,13 +72,12 @@
def test_publish(self):
if not with_pygments:
del totest['syntax_highlight']
- writer = 'html5'
for name, (settings_overrides, cases) in totest.items():
for casenum, (case_input, case_expected) in enumerate(cases):
with self.subTest(id=f'totest[{name!r}][{casenum}]'):
parts = docutils.core.publish_parts(
source=case_input,
- writer=writer,
+ writer=html5_polyglot.Writer(),
settings_overrides={
'_disable_config': True,
'strict_visitor': True,
Modified: trunk/docutils/test/test_writers/test_html5_polyglot_misc.py
===================================================================
--- trunk/docutils/test/test_writers/test_html5_polyglot_misc.py 2024-08-21 13:44:48 UTC (rev 9913)
+++ trunk/docutils/test/test_writers/test_html5_polyglot_misc.py 2024-08-21 13:45:08 UTC (rev 9914)
@@ -19,6 +19,7 @@
sys.path.insert(0, str(Path(__file__).resolve().parents[2]))
from docutils import core
+from docutils.writers import html5_polyglot
# TEST_ROOT is ./test/ from the docutils root
TEST_ROOT = Path(__file__).parents[1]
@@ -39,7 +40,7 @@
'stylesheet_path': '',
'_disable_config': True}
result = core.publish_string(
- 'EUR = \u20ac', writer='html5_polyglot',
+ 'EUR = \u20ac', writer=html5_polyglot.Writer(),
settings_overrides=settings_overrides)
# Encoding a euro sign with latin1 doesn't work, so the
# xmlcharrefreplace handler is used.
@@ -64,7 +65,7 @@
second term:
second def
"""
- result = core.publish_string(data, writer='html5_polyglot',
+ result = core.publish_string(data, writer=html5_polyglot.Writer(),
settings_overrides=self.mys).decode()
self.assertIn('<dt class="for the second item">second term:</dt>',
result)
@@ -81,7 +82,7 @@
second term:
second def
"""
- result = core.publish_string(data, writer='html5_polyglot',
+ result = core.publish_string(data, writer=html5_polyglot.Writer(),
settings_overrides=self.mys).decode()
self.assertIn('<dt id="second-item">second term:</dt>',
result)
@@ -96,7 +97,7 @@
def test_default_stylesheet(self):
# default style sheet, embedded
mys = {'_disable_config': True}
- styles = core.publish_parts(self.data, writer='html5_polyglot',
+ styles = core.publish_parts(self.data, writer=html5_polyglot.Writer(),
settings_overrides=mys)['stylesheet']
self.assertIn('Minimal style sheet for the HTML output of Docutils.',
styles)
@@ -105,7 +106,7 @@
# default style sheet, linked
mys = {'_disable_config': True,
'embed_stylesheet': False}
- styles = core.publish_parts(self.data, writer='html5_polyglot',
+ styles = core.publish_parts(self.data, writer=html5_polyglot.Writer(),
settings_overrides=mys)['stylesheet']
self.assertIn('docutils/writers/html5_polyglot/minimal.css', styles)
@@ -114,7 +115,7 @@
mys = {'_disable_config': True,
'embed_stylesheet': False,
'stylesheet_path': 'minimal.css, math.css'}
- styles = core.publish_parts(self.data, writer='html5_polyglot',
+ styles = core.publish_parts(self.data, writer=html5_polyglot.Writer(),
settings_overrides=mys)['stylesheet']
self.assertIn('docutils/writers/html5_polyglot/minimal.css', styles)
self.assertIn('docutils/writers/html5_polyglot/math.css', styles)
@@ -125,7 +126,7 @@
'embed_stylesheet': False,
'stylesheet_path': 'minimal.css, '
'data/ham.css'}
- styles = core.publish_parts(self.data, writer='html5_polyglot',
+ styles = core.publish_parts(self.data, writer=html5_polyglot.Writer(),
settings_overrides=mys)['stylesheet']
self.assertIn('docutils/writers/html5_polyglot/minimal.css', styles)
self.assertIn('href="data/ham.css"', styles)
@@ -137,7 +138,7 @@
TEST_ROOT / '../docutils/writers/html5_polyglot/',
DATA_ROOT),
'stylesheet_path': 'minimal.css, ham.css'}
- styles = core.publish_parts(self.data, writer='html5_polyglot',
+ styles = core.publish_parts(self.data, writer=html5_polyglot.Writer(),
settings_overrides=mys)['stylesheet']
if (TEST_ROOT / '../docutils/writers/html5_polyglot/').is_dir():
self.assertIn('docutils/writers/html5_polyglot/minimal.css',
@@ -151,7 +152,7 @@
TEST_ROOT / '../docutils/writers/html5_polyglot/',
DATA_ROOT),
'stylesheet_path': 'ham.css'}
- styles = core.publish_parts(self.data, writer='html5_polyglot',
+ styles = core.publish_parts(self.data, writer=html5_polyglot.Writer(),
settings_overrides=mys)['stylesheet']
self.assertIn('dl.docutils dd {\n margin-bottom: 0.5em }', styles)
@@ -163,7 +164,8 @@
}
with self.assertWarnsRegex(FutureWarning,
'"embed_images"\n will be removed'):
- core.publish_string('warnings test', writer='html5',
+ core.publish_string('warnings test',
+ writer=html5_polyglot.Writer(),
settings_overrides=my_settings)
@@ -186,7 +188,7 @@
def test_math_output_default(self):
# default math output is MathML (since 0.22)
mys = {'_disable_config': True}
- fragment = core.publish_parts(self.data, writer='html5_polyglot',
+ fragment = core.publish_parts(self.data, writer=html5_polyglot.Writer(),
settings_overrides=mys)['fragment']
self.assertIn('<mn>42</mn>', fragment)
@@ -196,7 +198,7 @@
mys = {'_disable_config': True,
'report_level': 3,
'math_output': 'MathJax'}
- head = core.publish_parts(self.data, writer='html5_polyglot',
+ head = core.publish_parts(self.data, writer=html5_polyglot.Writer(),
settings_overrides=mys)['head']
self.assertIn(self.mathjax_script % self.default_mathjax_url, head)
@@ -205,7 +207,7 @@
mys = {'_disable_config': True,
'math_output':
'mathjax %s' % self.custom_mathjax_url}
- head = core.publish_parts(self.data, writer='html5_polyglot',
+ head = core.publish_parts(self.data, writer=html5_polyglot.Writer(),
settings_overrides=mys)['head']
self.assertIn(self.mathjax_script % self.custom_mathjax_url, head)
@@ -212,7 +214,7 @@
def test_math_output_html(self):
mys = {'_disable_config': True,
'math_output': 'HTML'}
- head = core.publish_parts(self.data, writer='html5_polyglot',
+ head = core.publish_parts(self.data, writer=html5_polyglot.Writer(),
settings_overrides=mys)['head']
# There should be no MathJax script when math_output is not MathJax
self.assertNotIn('MathJax.js', head)
@@ -224,7 +226,7 @@
TEST_ROOT,
TEST_ROOT / 'functional/input/data'),
'embed_stylesheet': False}
- styles = core.publish_parts(self.data, writer='html5_polyglot',
+ styles = core.publish_parts(self.data, writer=html5_polyglot.Writer(),
settings_overrides=mys)['stylesheet']
self.assertEqual(f"""\
<link rel="stylesheet" href="{minimal_css}" type="text/css" />
@@ -235,7 +237,7 @@
def test_math_output_mathjax_no_math(self):
# There should be no math script when text does not contain math
- head = core.publish_parts('No math.', writer='html5_polyglot')['head']
+ head = core.publish_parts('No math.', writer=html5_polyglot.Writer())['head']
self.assertNotIn('MathJax', head)
Modified: trunk/docutils/test/test_writers/test_latex2e.py
===================================================================
--- trunk/docutils/test/test_writers/test_latex2e.py 2024-08-21 13:44:48 UTC (rev 9913)
+++ trunk/docutils/test/test_writers/test_latex2e.py 2024-08-21 13:45:08 UTC (rev 9914)
@@ -19,6 +19,7 @@
sys.path.insert(0, str(Path(__file__).resolve().parents[2]))
from docutils.core import publish_string
+from docutils.writers import latex2e
# DATA_ROOT is ./test/data from the docutils root
DATA_ROOT = Path(__file__).resolve().parents[1] / 'data'
@@ -35,7 +36,6 @@
class WriterPublishTestCase(unittest.TestCase):
maxDiff = None
- writer = 'latex'
settings = {
'_disable_config': True,
'strict_visitor': True,
@@ -49,7 +49,7 @@
for casenum, (rst_input, expected) in enumerate(cases):
with self.subTest(id=f'samples_default[{name!r}][{casenum}]'):
output = publish_string(source=rst_input,
- writer=self.writer,
+ writer=latex2e.Writer(),
settings_overrides=settings)
output = output.decode()
self.assertEqual(expected, output)
Modified: trunk/docutils/test/test_writers/test_latex2e_misc.py
===================================================================
--- trunk/docutils/test/test_writers/test_latex2e_misc.py 2024-08-21 13:44:48 UTC (rev 9913)
+++ trunk/docutils/test/test_writers/test_latex2e_misc.py 2024-08-21 13:45:08 UTC (rev 9914)
@@ -27,6 +27,7 @@
sys.path.insert(0, str(Path(__file__).resolve().parents[2]))
from docutils import core
+from docutils.writers import latex2e
# TEST_ROOT is ./test/ from the docutils root
TEST_ROOT = Path(__file__).parents[1]
@@ -88,7 +89,7 @@
doctree = core.publish_doctree(sample_toc,
settings_overrides=settings)
result = core.publish_from_doctree(doctree,
- writer='latex',
+ writer=latex2e.Writer(),
settings_overrides=settings)
self.assertNotIn(r'\item \hyperref[foo]{foo}', result)
self.assertIn(r'\tableofcontents', result)
@@ -97,7 +98,7 @@
"""Check for the presence of documented parts.
"""
parts = core.publish_parts(sample_multiterm,
- writer='latex',
+ writer=latex2e.Writer(),
settings_overrides=self.settings)
documented_parts = [
'abstract',
@@ -135,11 +136,11 @@
}
with self.assertWarnsRegex(FutureWarning,
'"legacy_column_widths" will change'):
- core.publish_string('warnings test', writer='latex',
+ core.publish_string('warnings test', writer=latex2e.Writer(),
settings_overrides=settings)
with self.assertWarnsRegex(FutureWarning,
'"use_latex_citations" will change'):
- core.publish_string('warnings test', writer='latex',
+ core.publish_string('warnings test', writer=latex2e.Writer(),
settings_overrides=settings)
Modified: trunk/docutils/test/test_writers/test_manpage.py
===================================================================
--- trunk/docutils/test/test_writers/test_manpage.py 2024-08-21 13:44:48 UTC (rev 9913)
+++ trunk/docutils/test/test_writers/test_manpage.py 2024-08-21 13:45:08 UTC (rev 9914)
@@ -17,7 +17,7 @@
sys.path.insert(0, str(Path(__file__).resolve().parents[2]))
from docutils.core import publish_string
-from docutils.writers.manpage import insert_URI_breakpoints
+from docutils.writers import manpage
URI_tests = (
("///abc.de", r"///\:abc.de"),
@@ -35,7 +35,7 @@
def test_insert(self):
for t in URI_tests:
- got = insert_URI_breakpoints(t[0])
+ got = manpage.insert_URI_breakpoints(t[0])
self.assertEqual(t[1], got)
@@ -44,13 +44,12 @@
maxDiff = None
def test_publish(self):
- writer = 'manpage'
for name, cases in totest.items():
for casenum, (case_input, case_expected) in enumerate(cases):
with self.subTest(id=f'totest[{name!r}][{casenum}]'):
output = publish_string(
source=case_input,
- writer=writer,
+ writer=manpage.Writer(),
settings_overrides={
'_disable_config': True,
'strict_visitor': True,
@@ -58,13 +57,12 @@
self.assertEqual(case_expected, output)
def test_reference_macros(self):
- writer = 'manpage'
for name, cases in totest_refs.items():
for casenum, (case_input, case_expected) in enumerate(cases):
with self.subTest(id=f'totest_refs[{name!r}][{casenum}]'):
output = publish_string(
source=case_input,
- writer=writer,
+ writer=manpage.Writer(),
settings_overrides={
'_disable_config': True,
'strict_visitor': True,
@@ -117,7 +115,7 @@
document_start + indend_macros + """.TH "" "" "" ""
.SH Name
\\- \n\
-External hyperlinks, like
+External hyperlinks, like \n\
.UR https://www.python.org/
Python
.UE
Modified: trunk/docutils/test/test_writers/test_null.py
===================================================================
--- trunk/docutils/test/test_writers/test_null.py 2024-08-21 13:44:48 UTC (rev 9913)
+++ trunk/docutils/test/test_writers/test_null.py 2024-08-21 13:45:08 UTC (rev 9914)
@@ -18,17 +18,17 @@
sys.path.insert(0, str(Path(__file__).resolve().parents[2]))
from docutils.core import publish_string
+from docutils.writers import null
class WriterPublishTestCase(unittest.TestCase):
def test_publish(self):
- writer = 'null'
for name, cases in totest.items():
for casenum, (case_input, case_expected) in enumerate(cases):
with self.subTest(id=f'totest[{name!r}][{casenum}]'):
output = publish_string(
source=case_input,
- writer=writer,
+ writer=null.Writer(),
settings_overrides={
'_disable_config': True,
'strict_visitor': True,
Modified: trunk/docutils/test/test_writers/test_odt.py
===================================================================
--- trunk/docutils/test/test_writers/test_odt.py 2024-08-21 13:44:48 UTC (rev 9913)
+++ trunk/docutils/test/test_writers/test_odt.py 2024-08-21 13:45:08 UTC (rev 9914)
@@ -45,6 +45,7 @@
import docutils
import docutils.core
+from docutils.writers import odf_odt
# FUNCTIONAL_ROOT is ./test/functional/ from the docutils root
FUNCTIONAL_ROOT = os.path.abspath(os.path.join(__file__, '..', '..', 'functional'))
@@ -75,11 +76,10 @@
settings_overrides['language_code'] = 'en-US'
result = docutils.core.publish_string(
- source=source,
- source_path=input_path,
- reader='standalone',
- writer='odf_odt',
- settings_overrides=settings_overrides)
+ source=source,
+ source_path=input_path,
+ writer=odf_odt.Writer(),
+ settings_overrides=settings_overrides)
# msg = 'file length not equal: expected length: %d actual length: %d' % (
# len(expected), len(result), )
# self.assertEqual(str(len(result)), str(len(expected)))
Modified: trunk/docutils/test/test_writers/test_pseudoxml.py
===================================================================
--- trunk/docutils/test/test_writers/test_pseudoxml.py 2024-08-21 13:44:48 UTC (rev 9913)
+++ trunk/docutils/test/test_writers/test_pseudoxml.py 2024-08-21 13:45:08 UTC (rev 9914)
@@ -18,6 +18,7 @@
sys.path.insert(0, str(Path(__file__).resolve().parents[2]))
from docutils.core import publish_string
+from docutils.writers import pseudoxml
class WriterPublishTestCase(unittest.TestCase):
@@ -24,14 +25,12 @@
maxDiff = None
def test_publish(self):
- writer = 'pseudoxml'
-
for name, cases in totest.items():
for casenum, (case_input, case_expected) in enumerate(cases):
with self.subTest(id=f'totest[{name!r}][{casenum}]'):
output = publish_string(
source=case_input,
- writer=writer,
+ writer=pseudoxml.Writer(),
settings_overrides={
'_disable_config': True,
'strict_visitor': True,
@@ -43,7 +42,7 @@
with self.subTest(id=f'totest_detailed[{name!r}][{casenum}]'):
output = publish_string(
source=case_input,
- writer=writer,
+ writer=pseudoxml.Writer(),
settings_overrides={
'_disable_config': True,
'strict_visitor': True,
Modified: trunk/docutils/test/test_writers/test_s5.py
===================================================================
--- trunk/docutils/test/test_writers/test_s5.py 2024-08-21 13:44:48 UTC (rev 9913)
+++ trunk/docutils/test/test_writers/test_s5.py 2024-08-21 13:45:08 UTC (rev 9914)
@@ -21,11 +21,11 @@
import docutils
from docutils.core import publish_string
+from docutils.writers import s5_html
class WriterPublishTestCase(unittest.TestCase):
def test_publish(self):
- writer = 's5'
settings = {
'_disable_config': True,
'strict_visitor': True,
@@ -38,7 +38,7 @@
with self.subTest(id=f'totest_1[{name!r}][{casenum}]'):
output = publish_string(
source=case_input,
- writer=writer,
+ writer=s5_html.Writer(),
settings_overrides=settings.copy()
).decode()
self.assertEqual(case_expected, output)
@@ -50,7 +50,7 @@
with self.subTest(id=f'totest_2[{name!r}][{casenum}]'):
output = publish_string(
source=case_input,
- writer=writer,
+ writer=s5_html.Writer(),
settings_overrides=settings.copy()
).decode()
self.assertEqual(case_expected, output)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.