|
10 | 10 | """ |
11 | 11 |
|
12 | 12 | import re |
| 13 | +import pickle |
13 | 14 |
|
14 | 15 | from docutils import frontend, utils, nodes |
15 | 16 | from docutils.parsers import rst |
|
18 | 19 | from sphinx.writers.html import HTMLWriter, SmartyPantsHTMLTranslator |
19 | 20 | from sphinx.writers.latex import LaTeXWriter, LaTeXTranslator |
20 | 21 |
|
21 | | -from util import TestApp |
| 22 | +from util import TestApp, with_app, assert_node |
22 | 23 |
|
23 | 24 |
|
24 | 25 | app = settings = parser = None |
@@ -142,3 +143,22 @@ def test_latex_escaping(): |
142 | 143 | # in URIs |
143 | 144 | yield (verify_re, u'`test <http://example.com/~me/>`_', None, |
144 | 145 | r'\\href{http://example.com/~me/}{test}.*') |
| 146 | + |
| 147 | + |
| 148 | +@with_app(buildername='dummy', testroot='prolog') |
| 149 | +def test_rst_prolog(app, status, warning): |
| 150 | + app.builder.build_all() |
| 151 | + doctree = pickle.loads((app.doctreedir / 'index.doctree').bytes()) |
| 152 | + |
| 153 | + # rst_prolog |
| 154 | + assert_node(doctree[0], nodes.paragraph) |
| 155 | + assert_node(doctree[0][0], nodes.emphasis) |
| 156 | + assert_node(doctree[0][0][0], nodes.Text) |
| 157 | + assert doctree[0][0][0] == 'Hello world' |
| 158 | + |
| 159 | + # rst_epilog |
| 160 | + assert_node(doctree[-1], nodes.section) |
| 161 | + assert_node(doctree[-1][-1], nodes.paragraph) |
| 162 | + assert_node(doctree[-1][-1][0], nodes.emphasis) |
| 163 | + assert_node(doctree[-1][-1][0][0], nodes.Text) |
| 164 | + assert doctree[-1][-1][0][0] == 'Good-bye world' |
0 commit comments