summaryrefslogtreecommitdiff
path: root/tests/test_markup.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_markup.py')
-rw-r--r--tests/test_markup.py27
1 files changed, 26 insertions, 1 deletions
diff --git a/tests/test_markup.py b/tests/test_markup.py
index 38dc243fa..d12138692 100644
--- a/tests/test_markup.py
+++ b/tests/test_markup.py
@@ -10,6 +10,7 @@
"""
import re
+import pickle
from docutils import frontend, utils, nodes
from docutils.parsers import rst
@@ -18,7 +19,7 @@ from sphinx.util import texescape
from sphinx.writers.html import HTMLWriter, SmartyPantsHTMLTranslator
from sphinx.writers.latex import LaTeXWriter, LaTeXTranslator
-from util import TestApp
+from util import TestApp, with_app, assert_node
app = settings = parser = None
@@ -142,3 +143,27 @@ def test_latex_escaping():
# in URIs
yield (verify_re, u'`test <http://example.com/~me/>`_', None,
r'\\href{http://example.com/~me/}{test}.*')
+
+
+@with_app(buildername='dummy', testroot='prolog')
+def test_rst_prolog(app, status, warning):
+ app.builder.build_all()
+ rst = pickle.loads((app.doctreedir / 'restructuredtext.doctree').bytes())
+ md = pickle.loads((app.doctreedir / 'markdown.doctree').bytes())
+
+ # rst_prolog
+ assert_node(rst[0], nodes.paragraph)
+ assert_node(rst[0][0], nodes.emphasis)
+ assert_node(rst[0][0][0], nodes.Text)
+ assert rst[0][0][0] == 'Hello world'
+
+ # rst_epilog
+ assert_node(rst[-1], nodes.section)
+ assert_node(rst[-1][-1], nodes.paragraph)
+ assert_node(rst[-1][-1][0], nodes.emphasis)
+ assert_node(rst[-1][-1][0][0], nodes.Text)
+ assert rst[-1][-1][0][0] == 'Good-bye world'
+
+ # rst_prolog & rst_epilog on exlucding reST parser
+ assert not md.rawsource.startswith('*Hello world*.')
+ assert not md.rawsource.endswith('*Good-bye world*.\n')