summaryrefslogtreecommitdiffstats
path: root/tests/test_util_docutils.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_util_docutils.py')
-rw-r--r--tests/test_util_docutils.py92
1 files changed, 0 insertions, 92 deletions
diff --git a/tests/test_util_docutils.py b/tests/test_util_docutils.py
deleted file mode 100644
index 69999eb..0000000
--- a/tests/test_util_docutils.py
+++ /dev/null
@@ -1,92 +0,0 @@
-"""Tests util.utils functions."""
-
-import os
-
-from docutils import nodes
-
-from sphinx.util.docutils import (
- SphinxFileOutput,
- SphinxTranslator,
- docutils_namespace,
- new_document,
- register_node,
-)
-
-
-def test_register_node():
- class custom_node(nodes.Element):
- pass
-
- with docutils_namespace():
- register_node(custom_node)
-
- # check registered
- assert hasattr(nodes.GenericNodeVisitor, 'visit_custom_node')
- assert hasattr(nodes.GenericNodeVisitor, 'depart_custom_node')
- assert hasattr(nodes.SparseNodeVisitor, 'visit_custom_node')
- assert hasattr(nodes.SparseNodeVisitor, 'depart_custom_node')
-
- # check unregistered outside namespace
- assert not hasattr(nodes.GenericNodeVisitor, 'visit_custom_node')
- assert not hasattr(nodes.GenericNodeVisitor, 'depart_custom_node')
- assert not hasattr(nodes.SparseNodeVisitor, 'visit_custom_node')
- assert not hasattr(nodes.SparseNodeVisitor, 'depart_custom_node')
-
-
-def test_SphinxFileOutput(tmpdir):
- content = 'Hello Sphinx World'
-
- # write test.txt at first
- filename = str(tmpdir / 'test.txt')
- output = SphinxFileOutput(destination_path=filename)
- output.write(content)
- os.utime(filename, (0, 0))
-
- # overwrite it again
- output.write(content)
- assert os.stat(filename).st_mtime != 0 # updated
-
- # write test2.txt at first
- filename = str(tmpdir / 'test2.txt')
- output = SphinxFileOutput(destination_path=filename, overwrite_if_changed=True)
- output.write(content)
- os.utime(filename, (0, 0))
-
- # overwrite it again
- output.write(content)
- assert os.stat(filename).st_mtime == 0 # not updated
-
- # overwrite 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']