|  | // This test is to ensure that the anchors (`ยง`) have the expected color and position. | 
|  | include: "utils.goml" | 
|  |  | 
|  | define-function: ( | 
|  | "check-colors", | 
|  | [theme, main_color, title_color, main_heading_color, main_heading_type_color, src_link_color, sidebar_link_color], | 
|  | block { | 
|  | go-to: "file://" + |DOC_PATH| + "/staged_api/struct.Foo.html" | 
|  | // This is needed to ensure that the text color is computed. | 
|  | show-text: true | 
|  |  | 
|  | call-function: ("switch-theme", {"theme": |theme|}) | 
|  |  | 
|  | assert-css: ("#toggle-all-docs", {"color": |main_color|}) | 
|  | assert-css: (".main-heading h1 span", {"color": |main_heading_type_color|}) | 
|  | assert-css: ( | 
|  | ".rightside a.src", | 
|  | {"color": |src_link_color|, "text-decoration": "none solid " + |src_link_color|}, | 
|  | ALL, | 
|  | ) | 
|  | compare-elements-css: ( | 
|  | ".rightside a.src", | 
|  | "a.rightside.src", | 
|  | ["color", "text-decoration"], | 
|  | ) | 
|  | compare-elements-css: ( | 
|  | ".main-heading a.src", | 
|  | "a.rightside.src", | 
|  | ["color", "text-decoration"], | 
|  | ) | 
|  |  | 
|  | move-cursor-to: ".main-heading a.src" | 
|  | assert-css: ( | 
|  | ".main-heading a.src", | 
|  | {"color": |src_link_color|, "text-decoration": "underline solid " + |src_link_color|}, | 
|  | ) | 
|  | move-cursor-to: ".impl-items .rightside a.src" | 
|  | assert-css: ( | 
|  | ".impl-items .rightside a.src", | 
|  | {"color": |src_link_color|, "text-decoration": "none solid " + |src_link_color|}, | 
|  | ) | 
|  | move-cursor-to: ".impl-items a.rightside.src" | 
|  | assert-css: ( | 
|  | ".impl-items a.rightside.src", | 
|  | {"color": |src_link_color|, "text-decoration": "none solid " + |src_link_color|}, | 
|  | ) | 
|  |  | 
|  | go-to: "file://" + |DOC_PATH| + "/test_docs/struct.HeavilyDocumentedStruct.html" | 
|  | // Since we changed page, we need to set the theme again. | 
|  | set-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 .block a", {"color": |sidebar_link_color|}) | 
|  | assert-css: (".main-heading h1", {"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": "#c5c5c5", | 
|  | "title_color": "#fff", | 
|  | "main_heading_color": "#fff", | 
|  | "main_heading_type_color": "#ffa0a5", | 
|  | "src_link_color": "#39afd7", | 
|  | "sidebar_link_color": "#53b1db", | 
|  | }, | 
|  | ) | 
|  | call-function: ( | 
|  | "check-colors", | 
|  | { | 
|  | "theme": "dark", | 
|  | "main_color": "#ddd", | 
|  | "title_color": "#ddd", | 
|  | "main_heading_color": "#ddd", | 
|  | "main_heading_type_color": "#2dbfb8", | 
|  | "src_link_color": "#d2991d", | 
|  | "sidebar_link_color": "#fdbf35", | 
|  | }, | 
|  | ) | 
|  | call-function: ( | 
|  | "check-colors", | 
|  | { | 
|  | "theme": "light", | 
|  | "main_color": "black", | 
|  | "title_color": "black", | 
|  | "main_heading_color": "black", | 
|  | "main_heading_type_color": "#ad378a", | 
|  | "src_link_color": "#3873ad", | 
|  | "sidebar_link_color": "#356da4", | 
|  | }, | 
|  | ) |