diff options
Diffstat (limited to 'src/test/rustdoc-gui/anchors.goml')
-rw-r--r-- | src/test/rustdoc-gui/anchors.goml | 247 |
1 files changed, 100 insertions, 147 deletions
diff --git a/src/test/rustdoc-gui/anchors.goml b/src/test/rustdoc-gui/anchors.goml index 3ad62c721..fb8e288fa 100644 --- a/src/test/rustdoc-gui/anchors.goml +++ b/src/test/rustdoc-gui/anchors.goml @@ -1,154 +1,107 @@ // This test is to ensure that the anchors (`ยง`) have the expected color and position. -goto: file://|DOC_PATH|/staged_api/struct.Foo.html -// This is needed to ensure that the text color is computed. -show-text: true - -// Set the theme to light. -local-storage: {"rustdoc-theme": "light", "rustdoc-use-system-theme": "false"} -// We reload the page so the local storage settings are being used. -reload: - -assert-css: ("#toggle-all-docs", {"color": "rgb(0, 0, 0)"}) -assert-css: (".fqn .in-band a:nth-of-type(1)", {"color": "rgb(0, 0, 0)"}) -assert-css: (".fqn .in-band a:nth-of-type(2)", {"color": "rgb(173, 55, 138)"}) -assert-css: ( - ".rightside .srclink", - {"color": "rgb(56, 115, 173)", "text-decoration": "none solid rgb(56, 115, 173)"}, - 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": "rgb(56, 115, 173)", "text-decoration": "underline solid rgb(56, 115, 173)"}, -) -move-cursor-to: ".impl-items .rightside .srclink" -assert-css: ( - ".impl-items .rightside .srclink", - {"color": "rgb(56, 115, 173)", "text-decoration": "none solid rgb(56, 115, 173)"}, -) -move-cursor-to: ".impl-items .rightside.srclink" -assert-css: ( - ".impl-items .rightside.srclink", - {"color": "rgb(56, 115, 173)", "text-decoration": "none solid rgb(56, 115, 173)"}, -) - -goto: file://|DOC_PATH|/test_docs/struct.HeavilyDocumentedStruct.html - -assert-css: ("#top-doc-prose-title", {"color": "rgb(0, 0, 0)"}) - -assert-css: (".sidebar a", {"color": "rgb(53, 109, 164)"}) -assert-css: (".in-band a", {"color": "rgb(0, 0, 0)"}) - -// 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": "rgb(0, 0, 0)"}) - -// Same thing with the impl block title. -move-cursor-to: "#impl-HeavilyDocumentedStruct" -assert-css: ("#impl-HeavilyDocumentedStruct a.anchor", {"color": "rgb(0, 0, 0)"}) - -assert-css: ("#title-for-struct-impl-item-doc", {"margin-left": "0px"}) - -// -// We do the same checks with the dark theme now. -// -local-storage: {"rustdoc-theme": "dark", "rustdoc-use-system-theme": "false"} -goto: file://|DOC_PATH|/staged_api/struct.Foo.html - -assert-css: ("#toggle-all-docs", {"color": "rgb(221, 221, 221)"}) -assert-css: (".fqn .in-band a:nth-of-type(1)", {"color": "rgb(221, 221, 221)"}) -assert-css: (".fqn .in-band a:nth-of-type(2)", {"color": "rgb(45, 191, 184)"}) -assert-css: ( - ".rightside .srclink", - {"color": "rgb(210, 153, 29)", "text-decoration": "none solid rgb(210, 153, 29)"}, - 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": "rgb(210, 153, 29)", "text-decoration": "underline solid rgb(210, 153, 29)"}, +define-function: ( + "check-colors", + (theme, main_color, title_color, fqn_color, fqn_type_color, src_link_color, sidebar_link_color), + [ + ("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", (".fqn a:nth-of-type(1)", {"color": |fqn_color|})), + ("assert-css", (".fqn a:nth-of-type(2)", {"color": |fqn_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", ("h1.fqn 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"})), + ], ) -move-cursor-to: ".impl-items .rightside .srclink" -assert-css: ( - ".impl-items .rightside .srclink", - {"color": "rgb(210, 153, 29)", "text-decoration": "none solid rgb(210, 153, 29)"}, -) -move-cursor-to: ".impl-items .rightside.srclink" -assert-css: ( - ".impl-items .rightside.srclink", - {"color": "rgb(210, 153, 29)", "text-decoration": "none solid rgb(210, 153, 29)"}, -) - -goto: file://|DOC_PATH|/test_docs/struct.HeavilyDocumentedStruct.html - -assert-css: ("#top-doc-prose-title", {"color": "rgb(221, 221, 221)"}) - -assert-css: (".sidebar a", {"color": "rgb(253, 191, 53)"}) -assert-css: (".in-band a", {"color": "rgb(221, 221, 221)"}) - -// 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": "rgb(221, 221, 221)"}) - -// Same thing with the impl block title. -move-cursor-to: "#impl-HeavilyDocumentedStruct" -assert-css: ("#impl-HeavilyDocumentedStruct a.anchor", {"color": "rgb(221, 221, 221)"}) - -assert-css: ("#title-for-struct-impl-item-doc", {"margin-left": "0px"}) - -// -// We do the same checks with the ayu theme now. -// -local-storage: {"rustdoc-theme": "ayu", "rustdoc-use-system-theme": "false"} -goto: file://|DOC_PATH|/staged_api/struct.Foo.html -assert-css: ("#toggle-all-docs", {"color": "rgb(197, 197, 197)"}) -assert-css: (".fqn .in-band a:nth-of-type(1)", {"color": "rgb(255, 255, 255)"}) -assert-css: (".fqn .in-band a:nth-of-type(2)", {"color": "rgb(255, 160, 165)"}) -assert-css: ( - ".rightside .srclink", - {"color": "rgb(57, 175, 215)", "text-decoration": "none solid rgb(57, 175, 215)"}, - ALL, +call-function: ( + "check-colors", + { + "theme": "ayu", + "main_color": "rgb(197, 197, 197)", + "title_color": "rgb(255, 255, 255)", + "fqn_color": "rgb(255, 255, 255)", + "fqn_type_color": "rgb(255, 160, 165)", + "src_link_color": "rgb(57, 175, 215)", + "sidebar_link_color": "rgb(83, 177, 219)", + }, ) -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": "rgb(57, 175, 215)", "text-decoration": "underline solid rgb(57, 175, 215)"}, -) -move-cursor-to: ".impl-items .rightside .srclink" -assert-css: ( - ".impl-items .rightside .srclink", - {"color": "rgb(57, 175, 215)", "text-decoration": "none solid rgb(57, 175, 215)"}, +call-function: ( + "check-colors", + { + "theme": "dark", + "main_color": "rgb(221, 221, 221)", + "title_color": "rgb(221, 221, 221)", + "fqn_color": "rgb(221, 221, 221)", + "fqn_type_color": "rgb(45, 191, 184)", + "src_link_color": "rgb(210, 153, 29)", + "sidebar_link_color": "rgb(253, 191, 53)", + }, ) -move-cursor-to: ".impl-items .rightside.srclink" -assert-css: ( - ".impl-items .rightside.srclink", - {"color": "rgb(57, 175, 215)", "text-decoration": "none solid rgb(57, 175, 215)"}, +call-function: ( + "check-colors", + { + "theme": "light", + "main_color": "rgb(0, 0, 0)", + "title_color": "rgb(0, 0, 0)", + "fqn_color": "rgb(0, 0, 0)", + "fqn_type_color": "rgb(173, 55, 138)", + "src_link_color": "rgb(56, 115, 173)", + "sidebar_link_color": "rgb(53, 109, 164)", + }, ) - -goto: file://|DOC_PATH|/test_docs/struct.HeavilyDocumentedStruct.html - -assert-css: ("#top-doc-prose-title", {"color": "rgb(255, 255, 255)"}) - -assert-css: (".sidebar a", {"color": "rgb(83, 177, 219)"}) -assert-css: (".in-band a", {"color": "rgb(255, 255, 255)"}) - -// 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": "rgb(197, 197, 197)"}) - -// Same thing with the impl block title. -move-cursor-to: "#impl-HeavilyDocumentedStruct" -assert-css: ("#impl-HeavilyDocumentedStruct a.anchor", {"color": "rgb(197, 197, 197)"}) - -assert-css: ("#title-for-struct-impl-item-doc", {"margin-left": "0px"}) |