// This test ensures that code blocks buttons are displayed on hover and when you click on them.
go-to: "file://" + |DOC_PATH| + "/test_docs/fn.foo.html"
include: "utils.goml"

// First we check we "hover".
move-cursor-to: ".example-wrap"
assert-css: (".example-wrap .copy-button", { "visibility": "visible" })
move-cursor-to: "#search-button"
assert-css: (".example-wrap .copy-button", { "visibility": "hidden" })

// Now we check the click.
assert-count: (".example-wrap:not(:hover) .button-holder.keep-visible", 0)
click: ".example-wrap"
move-cursor-to: "#search-button"
// It should have a new class and be visible.
wait-for-count: (".example-wrap:not(:hover) .button-holder.keep-visible", 1)
wait-for-css: (".example-wrap:not(:hover) .button-holder.keep-visible", { "visibility": "visible" })
// Clicking again will remove the class.
click: ".example-wrap"
move-cursor-to: "rustdoc-toolbar #search-button"
assert-count: (".example-wrap:not(:hover) .button-holder.keep-visible", 0)
assert-css: (".example-wrap .copy-button", { "visibility": "hidden" })

// Clicking on the "copy code" button shouldn't make the buttons stick.
click: ".example-wrap .copy-button"
move-cursor-to: "#search-button"
assert-count: (".example-wrap:not(:hover) .button-holder.keep-visible", 0)
assert-css: (".example-wrap .copy-button", { "visibility": "hidden" })
// Since we clicked on the copy button, the clipboard content should have been updated.
assert-clipboard: 'println!("nothing fancy");\nprintln!("but with two lines!");'

define-function: (
    "check-buttons",
    [theme, background, filter, filter_hover],
    block {
        call-function: ("switch-theme", {"theme": |theme|})

        assert-css: (".example-wrap .test-arrow", {"visibility": "hidden"})
        assert-css: (".example-wrap .copy-button", {"visibility": "hidden"})

        move-cursor-to: ".example-wrap"
        assert-css: (".example-wrap .test-arrow", {
            "visibility": "visible",
            "background-color": |background|,
            "border-radius": "2px",
        })
        assert-css: (".example-wrap .test-arrow::before", {
            "filter": |filter|,
        })
        assert-css: (".example-wrap .copy-button", {
            "visibility": "visible",
            "background-color": |background|,
            "border-radius": "2px",
        })
        assert-css: (".example-wrap .copy-button::before", {
            "filter": |filter|,
        })

        move-cursor-to: ".example-wrap .test-arrow"
        assert-css: (".example-wrap .test-arrow:hover", {
            "visibility": "visible",
            "background-color": |background|,
            "border-radius": "2px",
        })
        assert-css: (".example-wrap .test-arrow:hover::before", {
            "filter": |filter_hover|,
        })

        move-cursor-to: ".example-wrap .copy-button"
        assert-css: (".example-wrap .copy-button:hover", {
            "visibility": "visible",
            "background-color": |background|,
            "border-radius": "2px",
        })
        assert-css: (".example-wrap .copy-button:hover::before", {
            "filter": |filter_hover|,
        })
    },
)

call-function: ("check-buttons",{
    "theme": "ayu",
    "background": "#0f1419",
    "filter": "invert(0.7)",
    "filter_hover": "invert(1)",
})
call-function: ("check-buttons",{
    "theme": "dark",
    "background": "#353535",
    "filter": "invert(0.5)",
    "filter_hover": "invert(0.65)",
})
call-function: ("check-buttons",{
    "theme": "light",
    "background": "#fff",
    "filter": "invert(0.5)",
    "filter_hover": "invert(0.35)",
})

define-function: (
    "check-buttons-position",
    [pre_selector],
    block {
        move-cursor-to: |pre_selector| + " .rust:not(.item-decl)"
        store-position: (|pre_selector| + " .rust:not(.item-decl)", {"x": x, "y": y})
        assert-position: (|pre_selector| + " .rust:not(.item-decl) + .button-holder", {
            "y": |y| + 4,
        })
    }
)

call-function: ("check-buttons-position", {"pre_selector": ".example-wrap"})

go-to: "file://" + |DOC_PATH| + "/scrape_examples/fn.test_many.html"
// We should work as well for scraped examples.
call-function: ("check-buttons-position", {"pre_selector": ".scraped-example .example-wrap"})
// And also when the scraped example "title" goes above.
set-window-size: (600, 600)
call-function: ("check-buttons-position", {"pre_selector": ".scraped-example .example-wrap"})
