// This test ensures that the "pocket menus" are working as expected. goto: "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"}) // We check the borders color now: // Ayu theme local-storage: { "rustdoc-theme": "ayu", "rustdoc-use-system-theme": "false", } reload: click: "#help-button" assert-css: ( "#help-button .popover", {"display": "block", "border-color": "rgb(92, 103, 115)"}, ) compare-elements-css: ("#help-button .popover", "#help-button .top", ["border-color"]) compare-elements-css: ("#help-button .popover", "#help-button .bottom", ["border-color"]) // Dark theme local-storage: { "rustdoc-theme": "dark", "rustdoc-use-system-theme": "false", } reload: click: "#help-button" assert-css: ( "#help-button .popover", {"display": "block", "border-color": "rgb(224, 224, 224)"}, ) compare-elements-css: ("#help-button .popover", "#help-button .top", ["border-color"]) compare-elements-css: ("#help-button .popover", "#help-button .bottom", ["border-color"]) // Light theme local-storage: { "rustdoc-theme": "light", "rustdoc-use-system-theme": "false", } reload: click: "#help-button" assert-css: ( "#help-button .popover", {"display": "block", "border-color": "rgb(224, 224, 224)"}, ) compare-elements-css: ("#help-button .popover", "#help-button .top", ["border-color"]) compare-elements-css: ("#help-button .popover", "#help-button .bottom", ["border-color"]) // Opening the mobile sidebar should close the settings popover. 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"