diff options
Diffstat (limited to 'tests/test_util_docutils.py')
-rw-r--r-- | tests/test_util_docutils.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/test_util_docutils.py b/tests/test_util_docutils.py new file mode 100644 index 000000000..31a1d9bd2 --- /dev/null +++ b/tests/test_util_docutils.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- +""" + test_util_docutils + ~~~~~~~~~~~~~~~~~~ + + Tests util.utils functions. + + :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS. + :license: BSD, see LICENSE for details. +""" + +from docutils import nodes + +from sphinx.util.docutils import docutils_namespace, 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') |