| // 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"}) |
| |
| // We check the borders color now: |
| |
| // Ayu theme |
| set-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 |
| set-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 |
| set-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. |
| 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" |