fix parsing reST with code or code-block directives (closes #23063)

Patch by Marc Abramowitz.
This commit is contained in:
Benjamin Peterson 2015-01-14 23:56:35 -05:00
parent 29ad0111bd
commit 562b7cbff9
3 changed files with 38 additions and 4 deletions

View file

@ -1,4 +1,5 @@
"""Tests for distutils.command.check."""
import textwrap
import unittest
from test.support import run_unittest
@ -92,6 +93,36 @@ class CheckTestCase(support.LoggingSilencer,
cmd = self._run(metadata, strict=1, restructuredtext=1)
self.assertEqual(cmd._warnings, 0)
@unittest.skipUnless(HAS_DOCUTILS, "won't test without docutils")
def test_check_restructuredtext_with_syntax_highlight(self):
# Don't fail if there is a `code` or `code-block` directive
example_rst_docs = []
example_rst_docs.append(textwrap.dedent("""\
Here's some code:
.. code:: python
def foo():
pass
"""))
example_rst_docs.append(textwrap.dedent("""\
Here's some code:
.. code-block:: python
def foo():
pass
"""))
for rest_with_code in example_rst_docs:
pkg_info, dist = self.create_dist(long_description=rest_with_code)
cmd = check(dist)
cmd.check_restructuredtext()
self.assertEqual(cmd._warnings, 0)
msgs = cmd._check_rst_data(rest_with_code)
self.assertEqual(len(msgs), 0)
def test_check_all(self):
metadata = {'url': 'xxx', 'author': 'xxx'}