summaryrefslogtreecommitdiffstats
path: root/Lib/distutils/tests
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2015-01-15 04:56:35 (GMT)
committerBenjamin Peterson <benjamin@python.org>2015-01-15 04:56:35 (GMT)
commit562b7cbff9ec2a69694aabfb4845208c851bd08e (patch)
tree85f2cda8b98e438e2639a342eba6301da3404d5c /Lib/distutils/tests
parent29ad0111bd8c7edd049c964c66cfb9e9114c99d2 (diff)
downloadcpython-562b7cbff9ec2a69694aabfb4845208c851bd08e.zip
cpython-562b7cbff9ec2a69694aabfb4845208c851bd08e.tar.gz
cpython-562b7cbff9ec2a69694aabfb4845208c851bd08e.tar.bz2
fix parsing reST with code or code-block directives (closes #23063)
Patch by Marc Abramowitz.
Diffstat (limited to 'Lib/distutils/tests')
-rw-r--r--Lib/distutils/tests/test_check.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/Lib/distutils/tests/test_check.py b/Lib/distutils/tests/test_check.py
index 601b686..959fa90 100644
--- a/Lib/distutils/tests/test_check.py
+++ b/Lib/distutils/tests/test_check.py
@@ -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'}