summaryrefslogtreecommitdiff
path: root/tests/test_util_docutils.py
diff options
context:
space:
mode:
authorTakeshi KOMIYA <i.tkomiya@gmail.com>2020-01-19 22:47:02 +0900
committerTakeshi KOMIYA <i.tkomiya@gmail.com>2020-01-19 22:47:02 +0900
commit347e301727c3b2b08e277b0d8a72c33a1eba13d8 (patch)
tree8b0c32ac6d5bd84ce4a8746eff3ef54acec93830 /tests/test_util_docutils.py
parentad271f4ca33d298a880da8fdc75cc318b4a7842f (diff)
parenteb273fdc08840945b9c2419f20fb2e0220b0a004 (diff)
downloadsphinx-git-347e301727c3b2b08e277b0d8a72c33a1eba13d8.tar.gz
Merge branch '2.0'
Diffstat (limited to 'tests/test_util_docutils.py')
-rw-r--r--tests/test_util_docutils.py35
1 files changed, 34 insertions, 1 deletions
diff --git a/tests/test_util_docutils.py b/tests/test_util_docutils.py
index c1df3f7ca..a22cf277a 100644
--- a/tests/test_util_docutils.py
+++ b/tests/test_util_docutils.py
@@ -12,7 +12,9 @@ import os
from docutils import nodes
-from sphinx.util.docutils import SphinxFileOutput, docutils_namespace, register_node
+from sphinx.util.docutils import (
+ SphinxFileOutput, SphinxTranslator, docutils_namespace, new_document, register_node
+)
def test_register_node():
@@ -61,3 +63,34 @@ def test_SphinxFileOutput(tmpdir):
# overrite it again (content changed)
output.write(content + "; content change")
assert os.stat(filename).st_mtime != 0 # updated
+
+
+def test_SphinxTranslator(app):
+ class CustomNode(nodes.inline):
+ pass
+
+ class MyTranslator(SphinxTranslator):
+ def __init__(self, *args):
+ self.called = []
+ super().__init__(*args)
+
+ def visit_document(self, node):
+ pass
+
+ def depart_document(self, node):
+ pass
+
+ def visit_inline(self, node):
+ self.called.append('visit_inline')
+
+ def depart_inline(self, node):
+ self.called.append('depart_inline')
+
+ document = new_document('')
+ document += CustomNode()
+
+ translator = MyTranslator(document, app.builder)
+ document.walkabout(translator)
+
+ # MyTranslator does not have visit_CustomNode. But it calls visit_inline instead.
+ assert translator.called == ['visit_inline', 'depart_inline']