]> git.lizzy.rs Git - rust.git/blob - tests/rustdoc-gui/pocket-menu.goml
Auto merge of #107778 - weihanglo:update-cargo, r=weihanglo
[rust.git] / tests / rustdoc-gui / pocket-menu.goml
1 // This test ensures that the "pocket menus" are working as expected.
2 goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
3 // First we check that the help menu doesn't exist yet.
4 assert-false: "#help-button .popover"
5 // Then we display the help menu.
6 click: "#help-button"
7 assert: "#help-button .popover"
8 assert-css: ("#help-button .popover", {"display": "block"})
9
10 // Now we click somewhere else on the page to ensure it is handling the blur event
11 // correctly.
12 click: ".sidebar"
13 assert-css: ("#help-button .popover", {"display": "none"})
14
15 // Now we will check that we cannot have two "pocket menus" displayed at the same time.
16 click: "#help-button"
17 assert-css: ("#help-button .popover", {"display": "block"})
18 click: "#settings-menu"
19 assert-css: ("#help-button .popover", {"display": "none"})
20 assert-css: ("#settings-menu .popover", {"display": "block"})
21
22 // Now the other way.
23 click: "#help-button"
24 assert-css: ("#help-button .popover", {"display": "block"})
25 assert-css: ("#settings-menu .popover", {"display": "none"})
26
27 // Now verify that clicking the help menu again closes it.
28 click: "#help-button"
29 assert-css: ("#help-button .popover", {"display": "none"})
30 assert-css: ("#settings-menu .popover", {"display": "none"})
31
32 // We check the borders color now:
33
34 // Ayu theme
35 local-storage: {
36     "rustdoc-theme": "ayu",
37     "rustdoc-use-system-theme": "false",
38 }
39 reload:
40
41 click: "#help-button"
42 assert-css: (
43     "#help-button .popover",
44     {"display": "block", "border-color": "rgb(92, 103, 115)"},
45 )
46 compare-elements-css: ("#help-button .popover", "#help-button .top", ["border-color"])
47 compare-elements-css: ("#help-button .popover", "#help-button .bottom", ["border-color"])
48
49 // Dark theme
50 local-storage: {
51     "rustdoc-theme": "dark",
52     "rustdoc-use-system-theme": "false",
53 }
54 reload:
55
56 click: "#help-button"
57 assert-css: (
58     "#help-button .popover",
59     {"display": "block", "border-color": "rgb(224, 224, 224)"},
60 )
61 compare-elements-css: ("#help-button .popover", "#help-button .top", ["border-color"])
62 compare-elements-css: ("#help-button .popover", "#help-button .bottom", ["border-color"])
63
64 // Light theme
65 local-storage: {
66     "rustdoc-theme": "light",
67     "rustdoc-use-system-theme": "false",
68 }
69 reload:
70
71 click: "#help-button"
72 assert-css: (
73     "#help-button .popover",
74     {"display": "block", "border-color": "rgb(224, 224, 224)"},
75 )
76 compare-elements-css: ("#help-button .popover", "#help-button .top", ["border-color"])
77 compare-elements-css: ("#help-button .popover", "#help-button .bottom", ["border-color"])
78
79 // Opening the mobile sidebar should close the settings popover.
80 size: (650, 600)
81 click: "#settings-menu a"
82 assert-css: ("#settings-menu .popover", {"display": "block"})
83 click: ".sidebar-menu-toggle"
84 assert: "//*[@class='sidebar shown']"
85 assert-css: ("#settings-menu .popover", {"display": "none"})
86 // Opening the settings popover should close the sidebar.
87 click: "#settings-menu a"
88 assert-css: ("#settings-menu .popover", {"display": "block"})
89 assert-false: "//*[@class='sidebar shown']"
90
91 // Opening the settings popover at start (which async loads stuff) should also close.
92 reload:
93 click: ".sidebar-menu-toggle"
94 assert: "//*[@class='sidebar shown']"
95 assert-false: "#settings-menu .popover"
96 click: "#settings-menu a"
97 assert-false: "//*[@class='sidebar shown']"
98 wait-for: "#settings-menu .popover"