86 lines
2.9 KiB
Plaintext
86 lines
2.9 KiB
Plaintext
// This test ensures that the "pocket menus" are working as expected.
|
|
go-to: "file://" + |DOC_PATH| + "/test_docs/index.html"
|
|
// First we check that the help menu doesn't exist yet.
|
|
assert-false: "#help-button .popover"
|
|
// Then we display the help menu.
|
|
click: "#help-button"
|
|
assert: "#help-button .popover"
|
|
assert-css: ("#help-button .popover", {"display": "block"})
|
|
|
|
// Now we click somewhere else on the page to ensure it is handling the blur event
|
|
// correctly.
|
|
click: ".sidebar"
|
|
assert-css: ("#help-button .popover", {"display": "none"})
|
|
|
|
// Now we will check that we cannot have two "pocket menus" displayed at the same time.
|
|
click: "#help-button"
|
|
assert-css: ("#help-button .popover", {"display": "block"})
|
|
click: "#settings-menu"
|
|
assert-css: ("#help-button .popover", {"display": "none"})
|
|
assert-css: ("#settings-menu .popover", {"display": "block"})
|
|
|
|
// Now the other way.
|
|
click: "#help-button"
|
|
assert-css: ("#help-button .popover", {"display": "block"})
|
|
assert-css: ("#settings-menu .popover", {"display": "none"})
|
|
|
|
// Now verify that clicking the help menu again closes it.
|
|
click: "#help-button"
|
|
assert-css: ("#help-button .popover", {"display": "none"})
|
|
assert-css: ("#settings-menu .popover", {"display": "none"})
|
|
|
|
define-function: (
|
|
"check-popover-colors",
|
|
[theme, border_color],
|
|
block {
|
|
set-local-storage: {
|
|
"rustdoc-theme": |theme|,
|
|
"rustdoc-use-system-theme": "false",
|
|
}
|
|
reload:
|
|
|
|
click: "#help-button"
|
|
assert-css: (
|
|
"#help-button .popover",
|
|
{"display": "block", "border-color": |border_color|},
|
|
)
|
|
compare-elements-css: ("#help-button .popover", "#help-button .top", ["border-color"])
|
|
compare-elements-css: ("#help-button .popover", "#help-button .bottom", ["border-color"])
|
|
}
|
|
)
|
|
|
|
// We check the borders color now:
|
|
call-function: ("check-popover-colors", {
|
|
"theme": "ayu",
|
|
"border_color": "#5c6773",
|
|
})
|
|
call-function: ("check-popover-colors", {
|
|
"theme": "dark",
|
|
"border_color": "#e0e0e0",
|
|
})
|
|
call-function: ("check-popover-colors", {
|
|
"theme": "light",
|
|
"border_color": "#e0e0e0",
|
|
})
|
|
|
|
// Opening the mobile sidebar should close the settings popover.
|
|
set-window-size: (650, 600)
|
|
click: "#settings-menu a"
|
|
assert-css: ("#settings-menu .popover", {"display": "block"})
|
|
click: ".sidebar-menu-toggle"
|
|
assert: "//*[@class='sidebar shown']"
|
|
assert-css: ("#settings-menu .popover", {"display": "none"})
|
|
// Opening the settings popover should close the sidebar.
|
|
click: "#settings-menu a"
|
|
assert-css: ("#settings-menu .popover", {"display": "block"})
|
|
assert-false: "//*[@class='sidebar shown']"
|
|
|
|
// Opening the settings popover at start (which async loads stuff) should also close.
|
|
reload:
|
|
click: ".sidebar-menu-toggle"
|
|
assert: "//*[@class='sidebar shown']"
|
|
assert-false: "#settings-menu .popover"
|
|
click: "#settings-menu a"
|
|
assert-false: "//*[@class='sidebar shown']"
|
|
wait-for: "#settings-menu .popover"
|