// Checking the colors of the codeblocks tooltips.
goto: "file://" + |DOC_PATH| + "/test_docs/fn.foo.html"
show-text: true

define-function: (
    "check-colors",
    (theme),
    [
        // Setting the theme.
        ("local-storage", {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}),
        ("reload"),

        // compile_fail block
        ("assert-css", (
            ".docblock .example-wrap.compile_fail .tooltip",
            {"color": "rgba(255, 0, 0, 0.5)"},
        )),
        ("assert-css", (
            ".docblock .example-wrap.compile_fail",
            {"border-left": "2px solid rgba(255, 0, 0, 0.5)"},
        )),

        ("move-cursor-to", ".docblock .example-wrap.compile_fail"),

        ("assert-css", (
            ".docblock .example-wrap.compile_fail .tooltip",
            {"color": "rgb(255, 0, 0)"},
        )),
        ("assert-css", (
            ".docblock .example-wrap.compile_fail",
            {"border-left": "2px solid rgb(255, 0, 0)"},
        )),

        // should_panic block
        ("assert-css", (
            ".docblock .example-wrap.should_panic .tooltip",
            {"color": "rgba(255, 0, 0, 0.5)"},
        )),
        ("assert-css", (
            ".docblock .example-wrap.should_panic",
            {"border-left": "2px solid rgba(255, 0, 0, 0.5)"},
        )),

        ("move-cursor-to", ".docblock .example-wrap.should_panic"),

        ("assert-css", (
            ".docblock .example-wrap.should_panic .tooltip",
            {"color": "rgb(255, 0, 0)"},
        )),
        ("assert-css", (
            ".docblock .example-wrap.should_panic",
            {"border-left": "2px solid rgb(255, 0, 0)"},
        )),

        // ignore block
        ("assert-css", (
            ".docblock .example-wrap.ignore .tooltip",
            {"color": "rgba(255, 142, 0, 0.6)"},
        )),
        ("assert-css", (
            ".docblock .example-wrap.ignore",
            {"border-left": "2px solid rgba(255, 142, 0, 0.6)"},
        )),

        ("move-cursor-to", ".docblock .example-wrap.ignore"),

        ("assert-css", (
            ".docblock .example-wrap.ignore .tooltip",
            {"color": "rgb(255, 142, 0)"},
        )),
        ("assert-css", (
            ".docblock .example-wrap.ignore",
            {"border-left": "2px solid rgb(255, 142, 0)"},
        )),
    ],
)

call-function: ("check-colors", ("ayu"))
call-function: ("check-colors", ("dark"))
call-function: ("check-colors", ("light"))
