summaryrefslogtreecommitdiffstats
path: root/tests/rustdoc-gui/rust-logo.goml
blob: 696cab34dcc10750398acb90ddf7986bdd52cbc9 (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
// This test ensures that the correct style is applied to the rust logo in the sidebar.
go-to: "file://" + |DOC_PATH| + "/staged_api/index.html"

define-function: (
    "check-logo",
    (theme, filter),
    block {
        // Going to the doc page.
        go-to: "file://" + |DOC_PATH| + "/staged_api/index.html"
        // Changing theme.
        set-local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
        reload:
        assert-css: (".rust-logo", {"filter": |filter|})
        // Going to the source code page.
        go-to: "file://" + |DOC_PATH| + "/src/staged_api/lib.rs.html"
        // Changing theme (since it's local files, the local storage works by folder).
        set-local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
        reload:
        assert-css: (".rust-logo", {"filter": |filter|})
        // Now we check that the non-rust logos don't have a CSS filter set.
        go-to: "file://" + |DOC_PATH| + "/huge_logo/index.html"
        // Changing theme on the new page (again...).
        set-local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
        reload:
        // Check there is no rust logo
        assert-false: ".rust-logo"
        // Check there is no filter.
        assert-css: (".sidebar .logo-container img", {"filter": "none"})
        // Now we check that this page has no logo at all
        go-to: "file://" + |DOC_PATH| + "/test_docs/index.html"
        assert-false: ".rust-logo"
        assert-false: ".logo-container"
        assert-false: ".sub-logo-container"
        go-to: "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html"
        assert-false: ".rust-logo"
        assert-false: ".logo-container"
        assert-false: ".sub-logo-container"
    },
)

call-function: (
    "check-logo",
    {
        "theme": "ayu",
        "filter": "drop-shadow(#fff 1px 0px 0px) " +
            "drop-shadow(#fff 0px 1px 0px) " +
            "drop-shadow(#fff -1px 0px 0px) " +
            "drop-shadow(#fff 0px -1px 0px)",
    },
)
call-function: (
    "check-logo",
    {
        "theme": "dark",
        "filter": "drop-shadow(#fff 1px 0px 0px) " +
            "drop-shadow(#fff 0px 1px 0px) " +
            "drop-shadow(#fff -1px 0px 0px) " +
            "drop-shadow(#fff 0px -1px 0px)",
    },
)
call-function: (
    "check-logo",
    {
        "theme": "light",
        "filter": "none",
    },
)