summaryrefslogtreecommitdiffstats
path: root/tests/rustdoc-gui/anchors.goml
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--tests/rustdoc-gui/anchors.goml109
1 files changed, 109 insertions, 0 deletions
diff --git a/tests/rustdoc-gui/anchors.goml b/tests/rustdoc-gui/anchors.goml
new file mode 100644
index 000000000..85cb72274
--- /dev/null
+++ b/tests/rustdoc-gui/anchors.goml
@@ -0,0 +1,109 @@
+// This test is to ensure that the anchors (`ยง`) have the expected color and position.
+
+define-function: (
+ "check-colors",
+ (theme, main_color, title_color, main_heading_color, main_heading_type_color, src_link_color, sidebar_link_color),
+ block {
+ goto: "file://" + |DOC_PATH| + "/staged_api/struct.Foo.html"
+ // This is needed to ensure that the text color is computed.
+ show-text: true
+
+ // Setting the theme.
+ local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
+ // We reload the page so the local storage settings are being used.
+ reload:
+
+ assert-css: ("#toggle-all-docs", {"color": |main_color|})
+ assert-css: (".main-heading h1 a:nth-of-type(1)", {"color": |main_heading_color|})
+ assert-css: (".main-heading a:nth-of-type(2)", {"color": |main_heading_type_color|})
+ assert-css: (
+ ".rightside .srclink",
+ {"color": |src_link_color|, "text-decoration": "none solid " + |src_link_color|},
+ ALL,
+ )
+ compare-elements-css: (
+ ".rightside .srclink",
+ ".rightside.srclink",
+ ["color", "text-decoration"],
+ )
+ compare-elements-css: (
+ ".main-heading .srclink",
+ ".rightside.srclink",
+ ["color", "text-decoration"],
+ )
+
+ move-cursor-to: ".main-heading .srclink"
+ assert-css: (
+ ".main-heading .srclink",
+ {"color": |src_link_color|, "text-decoration": "underline solid " + |src_link_color|},
+ )
+ move-cursor-to: ".impl-items .rightside .srclink"
+ assert-css: (
+ ".impl-items .rightside .srclink",
+ {"color": |src_link_color|, "text-decoration": "none solid " + |src_link_color|},
+ )
+ move-cursor-to: ".impl-items .rightside.srclink"
+ assert-css: (
+ ".impl-items .rightside.srclink",
+ {"color": |src_link_color|, "text-decoration": "none solid " + |src_link_color|},
+ )
+
+ goto: "file://" + |DOC_PATH| + "/test_docs/struct.HeavilyDocumentedStruct.html"
+ // Since we changed page, we need to set the theme again.
+ local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"}
+ // We reload the page so the local storage settings are being used.
+ reload:
+
+ assert-css: ("#top-doc-prose-title", {"color": |title_color|})
+
+ assert-css: (".sidebar a", {"color": |sidebar_link_color|})
+ assert-css: (".main-heading h1 a", {"color": |title_color|})
+
+ // We move the cursor over the "Implementations" title so the anchor is displayed.
+ move-cursor-to: "h2#implementations"
+ assert-css: ("h2#implementations a.anchor", {"color": |main_color|})
+
+ // Same thing with the impl block title.
+ move-cursor-to: "#impl-HeavilyDocumentedStruct"
+ assert-css: ("#impl-HeavilyDocumentedStruct a.anchor", {"color": |main_color|})
+
+ assert-css: ("#title-for-struct-impl-item-doc", {"margin-left": "0px"})
+ },
+)
+
+call-function: (
+ "check-colors",
+ {
+ "theme": "ayu",
+ "main_color": "rgb(197, 197, 197)",
+ "title_color": "rgb(255, 255, 255)",
+ "main_heading_color": "rgb(255, 255, 255)",
+ "main_heading_type_color": "rgb(255, 160, 165)",
+ "src_link_color": "rgb(57, 175, 215)",
+ "sidebar_link_color": "rgb(83, 177, 219)",
+ },
+)
+call-function: (
+ "check-colors",
+ {
+ "theme": "dark",
+ "main_color": "rgb(221, 221, 221)",
+ "title_color": "rgb(221, 221, 221)",
+ "main_heading_color": "rgb(221, 221, 221)",
+ "main_heading_type_color": "rgb(45, 191, 184)",
+ "src_link_color": "rgb(210, 153, 29)",
+ "sidebar_link_color": "rgb(253, 191, 53)",
+ },
+)
+call-function: (
+ "check-colors",
+ {
+ "theme": "light",
+ "main_color": "rgb(0, 0, 0)",
+ "title_color": "rgb(0, 0, 0)",
+ "main_heading_color": "rgb(0, 0, 0)",
+ "main_heading_type_color": "rgb(173, 55, 138)",
+ "src_link_color": "rgb(56, 115, 173)",
+ "sidebar_link_color": "rgb(53, 109, 164)",
+ },
+)