File: test_layouts.py

package info (click to toggle)
sphinx-needs 5.1.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 11,924 kB
  • sloc: python: 21,132; javascript: 187; makefile: 89; sh: 29; xml: 10
file content (58 lines) | stat: -rw-r--r-- 1,916 bytes parent folder | download
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
import pytest

from tests.util import extract_needs_from_html


@pytest.mark.parametrize(
    "test_app",
    [{"buildername": "html", "srcdir": "doc_test/doc_layout", "no_plantuml": True}],
    indirect=True,
)
def test_doc_build_html(test_app):
    app = test_app
    app.build()

    assert len(app.warning_list) == 0

    html = (app.outdir / "index.html").read_text()
    assert "title_clean_layout" in html
    assert "title_complete_layout" in html
    assert "title_focus_layout" not in html
    assert "title_example_layout" in html

    needs = extract_needs_from_html(html)
    assert len(needs) == 7

    assert (
        '<span class="needs_label"><strong>author</strong>: </span><span class="needs_data">some author</span>'
        in html
    )
    assert '<tr class="footer row-even"><td class="footer_left" colspan="2">' in html

    # check simple_footer grid layout
    assert "custom footer for" in html

    # Check image is correctly referenced
    assert (
        '<img alt="_images/smile.png" class="needs_image align-center" src="_images/smile.png" />'
        in html
    )

    # Check a "root"-image is correctly referenced in subfolders
    html_subfolder_1 = (app.outdir / "subfolder_1/index.html").read_text()
    assert (
        '<img alt="../_images/smile.png" class="needs_image align-center" src="../_images/smile.png" />'
        in html_subfolder_1
    )
    assert '<span class="needs_data">_images/smile.png</span>' in html_subfolder_1

    # Check a "subfolder"-image is correctly referenced in subfolders
    html_subfolder_2 = (app.outdir / "subfolder_2/index.html").read_text()
    assert (
        '<img alt="../_images/subfolder_smile.png" class="needs_image align-center" src="../_images/subfolder_smile.png" />'
        in html_subfolder_2
    )
    assert (
        '<span class="needs_data">subfolder_2/subfolder_smile.png</span>'
        in html_subfolder_2
    )