summaryrefslogtreecommitdiff
path: root/tests/test_directive_patch.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_directive_patch.py')
-rw-r--r--tests/test_directive_patch.py54
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/test_directive_patch.py b/tests/test_directive_patch.py
new file mode 100644
index 000000000..4f61f2d0b
--- /dev/null
+++ b/tests/test_directive_patch.py
@@ -0,0 +1,54 @@
+"""
+ test_directive_patch
+ ~~~~~~~~~~~~~~~~~~~
+
+ Test the patched directives.
+
+ :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
+ :license: BSD, see LICENSE for details.
+"""
+
+from docutils import nodes
+
+from sphinx.testing import restructuredtext
+from sphinx.testing.util import assert_node
+
+
+def test_code_directive(app):
+ # normal case
+ text = ('.. code::\n'
+ '\n'
+ ' print("hello world")\n')
+
+ doctree = restructuredtext.parse(app, text)
+ assert_node(doctree, [nodes.document, nodes.literal_block, 'print("hello world")'])
+ assert_node(doctree[0], language="default", highlight_args={})
+
+ # with language
+ text = ('.. code:: python\n'
+ '\n'
+ ' print("hello world")\n')
+
+ doctree = restructuredtext.parse(app, text)
+ assert_node(doctree, [nodes.document, nodes.literal_block, 'print("hello world")'])
+ assert_node(doctree[0], language="python", highlight_args={})
+
+ # :number-lines: option
+ text = ('.. code:: python\n'
+ ' :number-lines:\n'
+ '\n'
+ ' print("hello world")\n')
+
+ doctree = restructuredtext.parse(app, text)
+ assert_node(doctree, [nodes.document, nodes.literal_block, 'print("hello world")'])
+ assert_node(doctree[0], language="python", linenos=True, highlight_args={})
+
+ # :number-lines: option
+ text = ('.. code:: python\n'
+ ' :number-lines: 5\n'
+ '\n'
+ ' print("hello world")\n')
+
+ doctree = restructuredtext.parse(app, text)
+ assert_node(doctree, [nodes.document, nodes.literal_block, 'print("hello world")'])
+ assert_node(doctree[0], language="python", linenos=True, highlight_args={'linenostart': 5})