summaryrefslogtreecommitdiffstats
path: root/tests/rustdoc-gui/anchors.goml
blob: 0904aa90e1bcc4307eb8a03a3b0bfd2344470fb7 (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
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
// This test is to ensure that the anchors (`§`) have the expected color and position.

define-function: (
    "check-colors",
    (theme, main_color, title_color, main_heading_color, main_heading_type_color, src_link_color, sidebar_link_color),
    block {
        go-to: "file://" + |DOC_PATH| + "/staged_api/struct.Foo.html"
        // This is needed to ensure that the text color is computed.
        show-text: true

        // Setting the theme.
        set-local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
        // We reload the page so the local storage settings are being used.
        reload:

        assert-css: ("#toggle-all-docs", {"color": |main_color|})
        assert-css: (".main-heading h1 a:nth-of-type(1)", {"color": |main_heading_color|})
        assert-css: (".main-heading a:nth-of-type(2)", {"color": |main_heading_type_color|})
        assert-css: (
             ".rightside .srclink",
             {"color": |src_link_color|, "text-decoration": "none solid " + |src_link_color|},
             ALL,
        )
        compare-elements-css: (
            ".rightside .srclink",
            ".rightside.srclink",
            ["color", "text-decoration"],
        )
        compare-elements-css: (
            ".main-heading .srclink",
            ".rightside.srclink",
            ["color", "text-decoration"],
        )

        move-cursor-to: ".main-heading .srclink"
        assert-css: (
             ".main-heading .srclink",
             {"color": |src_link_color|, "text-decoration": "underline solid " + |src_link_color|},
        )
        move-cursor-to: ".impl-items .rightside .srclink"
        assert-css: (
             ".impl-items .rightside .srclink",
             {"color": |src_link_color|, "text-decoration": "none solid " + |src_link_color|},
        )
        move-cursor-to: ".impl-items .rightside.srclink"
        assert-css: (
             ".impl-items .rightside.srclink",
             {"color": |src_link_color|, "text-decoration": "none solid " + |src_link_color|},
        )

        go-to: "file://" + |DOC_PATH| + "/test_docs/struct.HeavilyDocumentedStruct.html"
        // Since we changed page, we need to set the theme again.
        set-local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
        // We reload the page so the local storage settings are being used.
        reload:

        assert-css: ("#top-doc-prose-title", {"color": |title_color|})

        assert-css: (".sidebar a", {"color": |sidebar_link_color|})
        assert-css: (".main-heading h1 a", {"color": |title_color|})

        // We move the cursor over the "Implementations" title so the anchor is displayed.
        move-cursor-to: "h2#implementations"
        assert-css: ("h2#implementations a.anchor", {"color": |main_color|})

        // Same thing with the impl block title.
        move-cursor-to: "#impl-HeavilyDocumentedStruct"
        assert-css: ("#impl-HeavilyDocumentedStruct a.anchor", {"color": |main_color|})

        assert-css: ("#title-for-struct-impl-item-doc", {"margin-left": "0px"})
    },
)

call-function: (
    "check-colors",
    {
        "theme": "ayu",
        "main_color": "rgb(197, 197, 197)",
        "title_color": "rgb(255, 255, 255)",
        "main_heading_color": "rgb(255, 255, 255)",
        "main_heading_type_color": "rgb(255, 160, 165)",
        "src_link_color": "rgb(57, 175, 215)",
        "sidebar_link_color": "rgb(83, 177, 219)",
    },
)
call-function: (
    "check-colors",
    {
        "theme": "dark",
        "main_color": "rgb(221, 221, 221)",
        "title_color": "rgb(221, 221, 221)",
        "main_heading_color": "rgb(221, 221, 221)",
        "main_heading_type_color": "rgb(45, 191, 184)",
        "src_link_color": "rgb(210, 153, 29)",
        "sidebar_link_color": "rgb(253, 191, 53)",
    },
)
call-function: (
    "check-colors",
    {
        "theme": "light",
        "main_color": "rgb(0, 0, 0)",
        "title_color": "rgb(0, 0, 0)",
        "main_heading_color": "rgb(0, 0, 0)",
        "main_heading_type_color": "rgb(173, 55, 138)",
        "src_link_color": "rgb(56, 115, 173)",
        "sidebar_link_color": "rgb(53, 109, 164)",
    },
)