diff options
Diffstat (limited to 'tests/test_markup.py')
-rw-r--r-- | tests/test_markup.py | 27 |
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') |