Commit 7c0a87f2 authored by Nick Coghlan's avatar Nick Coghlan

Issue #12947: Better workaround for the problem with doctest directives being...

Issue #12947: Better workaround for the problem with doctest directives being stripped from code examples that are intended to illustrate those directives
parent a42709e6
...@@ -681,14 +681,15 @@ An example's doctest directives modify doctest's behavior for that single ...@@ -681,14 +681,15 @@ An example's doctest directives modify doctest's behavior for that single
example. Use ``+`` to enable the named behavior, or ``-`` to disable it. example. Use ``+`` to enable the named behavior, or ``-`` to disable it.
.. note:: .. note::
Due to an `unfortunate bug`_ in our documentation publishing process, the Due to an `unfortunate limitation`_ of our current documentation
directives in the following examples are not being displayed in the publishing process, syntax highlighting has been disabled in the examples
rendered HTML version. Please use the "Show Source" link in the sidebar below in order to ensure the doctest directives are correctly displayed.
to view the details of the directive usage examples.
.. _unfortunate bug: http://bugs.python.org/issue12947 .. _unfortunate limitation: http://bugs.python.org/issue12947
For example, this test passes:: For example, this test passes:
.. code-block:: text
>>> print range(20) #doctest: +NORMALIZE_WHITESPACE >>> print range(20) #doctest: +NORMALIZE_WHITESPACE
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
...@@ -697,18 +698,25 @@ For example, this test passes:: ...@@ -697,18 +698,25 @@ For example, this test passes::
Without the directive it would fail, both because the actual output doesn't have Without the directive it would fail, both because the actual output doesn't have
two blanks before the single-digit list elements, and because the actual output two blanks before the single-digit list elements, and because the actual output
is on a single line. This test also passes, and also requires a directive to do is on a single line. This test also passes, and also requires a directive to do
so:: so:
.. code-block:: text
>>> print range(20) # doctest:+ELLIPSIS >>> print range(20) # doctest: +ELLIPSIS
[0, 1, ..., 18, 19] [0, 1, ..., 18, 19]
Multiple directives can be used on a single physical line, separated by commas:: Multiple directives can be used on a single physical line, separated by
commas:
.. code-block:: text
>>> print range(20) # doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE >>> print range(20) # doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE
[0, 1, ..., 18, 19] [0, 1, ..., 18, 19]
If multiple directive comments are used for a single example, then they are If multiple directive comments are used for a single example, then they are
combined:: combined:
.. code-block:: text
>>> print range(20) # doctest: +ELLIPSIS >>> print range(20) # doctest: +ELLIPSIS
... # doctest: +NORMALIZE_WHITESPACE ... # doctest: +NORMALIZE_WHITESPACE
...@@ -716,7 +724,9 @@ combined:: ...@@ -716,7 +724,9 @@ combined::
As the previous example shows, you can add ``...`` lines to your example As the previous example shows, you can add ``...`` lines to your example
containing only directives. This can be useful when an example is too long for containing only directives. This can be useful when an example is too long for
a directive to comfortably fit on the same line:: a directive to comfortably fit on the same line:
.. code-block:: text
>>> print range(5) + range(10,20) + range(30,40) + range(50,60) >>> print range(5) + range(10,20) + range(30,40) + range(50,60)
... # doctest: +ELLIPSIS ... # doctest: +ELLIPSIS
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment