File: test_latex.py

package info (click to toggle)
sphinx-toolbox 3.9.0-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 2,924 kB
  • sloc: python: 11,636; sh: 26; javascript: 25; makefile: 16
file content (88 lines) | stat: -rw-r--r-- 2,764 bytes parent folder | download | duplicates (2)
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 == {}