From 38eb33b305bb7ac5203704b6e09fab7b9829a4c0 Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Wed, 24 Aug 2022 20:25:12 +0200 Subject: [PATCH] Add color test for anchors in all themes --- src/test/rustdoc-gui/anchors.goml | 101 +++++++++++++++++++++++++++++- 1 file changed, 100 insertions(+), 1 deletion(-) diff --git a/src/test/rustdoc-gui/anchors.goml b/src/test/rustdoc-gui/anchors.goml index 44047e81dac96..3ad62c721b4b8 100644 --- a/src/test/rustdoc-gui/anchors.goml +++ b/src/test/rustdoc-gui/anchors.goml @@ -1,6 +1,5 @@ // This test is to ensure that the anchors (`ยง`) have the expected color and position. goto: file://|DOC_PATH|/staged_api/struct.Foo.html -show-text: true // This is needed to ensure that the text color is computed. show-text: true @@ -53,3 +52,103 @@ 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)"}, +) +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, +) +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)"}, +) +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)"}, +) + +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"})