1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
# 3rd party
from docutils import nodes
from sphinx import addnodes
from sphinx.events import EventListener
from sphinx.writers.latex import LaTeXTranslator
# this package
import sphinx_toolbox
from sphinx_toolbox import latex
from sphinx_toolbox.latex import layout, succinct_seealso, toc
from sphinx_toolbox.testing import run_setup
def test_setup():
setup_ret, directives, roles, additional_nodes, app = run_setup(latex.setup)
assert app.events.listeners == {
"config-inited": [EventListener(id=0, handler=latex.configure, priority=500)],
}
assert directives == {
"samepage": latex.SamepageDirective,
"clearpage": latex.ClearPageDirective,
"cleardoublepage": latex.ClearDoublePageDirective,
}
assert app.registry.source_parsers == {}
assert app.registry.translation_handlers["latex"]["footnote"] == (latex.visit_footnote, latex.depart_footnote)
assert app.registry.css_files == []
assert app.registry.js_files == []
def test_setup_succinct_seealso():
setup_ret, directives, roles, additional_nodes, app = run_setup(succinct_seealso.setup)
assert additional_nodes == {addnodes.seealso}
assert app.events.listeners == {}
assert directives == {}
assert app.registry.source_parsers == {}
assert app.registry.translation_handlers["latex"]["seealso"] == (
succinct_seealso.visit_seealso,
succinct_seealso.depart_seealso,
)
assert app.registry.css_files == []
assert app.registry.js_files == []
def test_setup_toc():
setup_ret, directives, roles, additional_nodes, app = run_setup(toc.setup)
assert setup_ret == {"version": sphinx_toolbox.__version__, "parallel_read_safe": True}
assert additional_nodes == set()
assert app.registry.translation_handlers == {}
assert app.events.listeners == {
"env-get-outdated": [EventListener(id=0, handler=toc.purge_outdated, priority=500)],
"config-inited": [EventListener(id=1, handler=toc.configure, priority=500)],
}
assert directives == {"toctree": toc.LatexTocTreeDirective}
assert app.registry.translators["latex"] == toc.LaTeXTranslator
def test_setup_layout():
setup_ret, directives, roles, additional_nodes, app = run_setup(layout.setup)
assert setup_ret == {"version": sphinx_toolbox.__version__, "parallel_read_safe": True}
assert additional_nodes == {addnodes.desc, nodes.field_list, nodes.paragraph}
assert app.registry.translation_handlers == {
"latex": {
"desc": (layout.visit_desc, LaTeXTranslator.depart_desc),
"field_list": (layout.visit_field_list, layout.depart_field_list),
"paragraph": (layout.visit_paragraph, LaTeXTranslator.depart_paragraph)
}
}
assert app.events.listeners == {
"config-inited": [EventListener(id=0, handler=layout.configure, priority=500)],
}
assert directives == {}
|