summaryrefslogtreecommitdiffstats
path: root/tests/test_theming/test_templating.py
blob: bc02e9705fdccfd9003c528650df86ebab641b63 (plain)
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
"""Test templating."""

import pytest

from sphinx.ext.autosummary.generate import setup_documenters


@pytest.mark.sphinx('html', testroot='templating')
def test_layout_overloading(make_app, app_params):
    args, kwargs = app_params
    app = make_app(*args, **kwargs)
    setup_documenters(app)
    app.build()

    result = (app.outdir / 'index.html').read_text(encoding='utf8')
    assert '<!-- layout overloading -->' in result


@pytest.mark.sphinx('html', testroot='templating')
def test_autosummary_class_template_overloading(make_app, app_params):
    args, kwargs = app_params
    app = make_app(*args, **kwargs)
    setup_documenters(app)
    app.build()

    result = (app.outdir / 'generated' / 'sphinx.application.TemplateBridge.html').read_text(
        encoding='utf8'
    )
    assert 'autosummary/class.rst method block overloading' in result
    assert 'foobar' not in result


@pytest.mark.sphinx(
    'html',
    testroot='templating',
    confoverrides={'autosummary_context': {'sentence': 'foobar'}},
)
def test_autosummary_context(make_app, app_params):
    args, kwargs = app_params
    app = make_app(*args, **kwargs)
    setup_documenters(app)
    app.build()

    result = (app.outdir / 'generated' / 'sphinx.application.TemplateBridge.html').read_text(
        encoding='utf8'
    )
    assert 'autosummary/class.rst method block overloading' in result
    assert 'foobar' in result