about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-07-01 00:52:41 +0000
committerbors <bors@rust-lang.org>2024-07-01 00:52:41 +0000
commitad12a2a5fcf8200943a52eceda1868fd8c590449 (patch)
treecfc58bc77bf554f9b142d5f8a35fab0ee12760e0
parentb8d7dd8d69273feb9abdbd7866106fa7c57e0be6 (diff)
parentc8bbeef12ff7499aa163aef79447677b47499006 (diff)
downloadrust-ad12a2a5fcf8200943a52eceda1868fd8c590449.tar.gz
rust-ad12a2a5fcf8200943a52eceda1868fd8c590449.zip
Auto merge of #127082 - GuillaumeGomez:help-gui-test, r=notriddle
Add back `help-page.goml` rustdoc GUI test

Since https://github.com/rust-lang/rust/pull/127010 was merged, let's see if we can revert https://github.com/rust-lang/rust/pull/126445...

r? `@notriddle`
-rw-r--r--tests/rustdoc-gui/help-page.goml70
1 files changed, 70 insertions, 0 deletions
diff --git a/tests/rustdoc-gui/help-page.goml b/tests/rustdoc-gui/help-page.goml
new file mode 100644
index 00000000000..f1a2675128c
--- /dev/null
+++ b/tests/rustdoc-gui/help-page.goml
@@ -0,0 +1,70 @@
+// This test ensures that opening the help page in its own tab works.
+go-to: "file://" + |DOC_PATH| + "/help.html"
+set-window-size: (1000, 1000) // Try desktop size first.
+wait-for: "#help"
+assert-css: ("#help", {"display": "block"})
+assert-css: ("#help dd", {"font-size": "16px"})
+click: "#help-button > a"
+assert-css: ("#help", {"display": "block"})
+compare-elements-property: (".sub", "#help", ["offsetWidth"])
+compare-elements-position: (".sub", "#help", ["x"])
+set-window-size: (500, 1000) // Try mobile next.
+assert-css: ("#help", {"display": "block"})
+compare-elements-property: (".sub", "#help", ["offsetWidth"])
+compare-elements-position: (".sub", "#help", ["x"])
+
+// Checking the color of the elements of the help menu.
+show-text: true
+define-function: (
+    "check-colors",
+    [theme, color, background, box_shadow],
+    block {
+        // FIXME: no clue why we can't call the `switch-theme` function here...
+        set-local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
+        reload:
+        assert-css: ("#help kbd", {
+            "color": |color|,
+            "background-color": |background|,
+            "box-shadow": |box_shadow| + " 0px -1px 0px 0px inset",
+        }, ALL)
+    },
+)
+
+call-function: ("check-colors", {
+    "theme": "ayu",
+    "color": "#c5c5c5",
+    "background": "#314559",
+    "box_shadow": "#5c6773",
+})
+call-function: ("check-colors", {
+    "theme": "dark",
+    "color": "#000",
+    "background": "#fafbfc",
+    "box_shadow": "#c6cbd1",
+})
+call-function: ("check-colors", {
+    "theme": "light",
+    "color": "#000",
+    "background": "#fafbfc",
+    "box_shadow": "#c6cbd1",
+})
+
+// This test ensures that opening the help popover without switching pages works.
+go-to: "file://" + |DOC_PATH| + "/test_docs/index.html"
+set-window-size: (1000, 1000) // Only supported on desktop.
+assert-false: "#help"
+click: "#help-button > a"
+assert-css: ("#help", {"display": "block"})
+assert-css: ("#help dd", {"font-size": "16px"})
+click: "#help-button > a"
+assert-css: ("#help", {"display": "none"})
+compare-elements-property-false: (".sub", "#help", ["offsetWidth"])
+compare-elements-position-false: (".sub", "#help", ["x"])
+
+// This test ensures that the "the rustdoc book" anchor link within the help popover works.
+go-to: "file://" + |DOC_PATH| + "/test_docs/index.html"
+set-window-size: (1000, 1000) // Popover only appears when the screen width is >700px.
+assert-false: "#help"
+click: "#help-button > a"
+click: "//*[@id='help']//a[text()='the rustdoc book']"
+wait-for-document-property: ({"URL": "https://doc.rust-lang.org/"}, STARTS_WITH)