// The goal of this test is to ensure the color of the text is the one expected. define-function: ( "check-result-color", (result_kind, color, hover_color), block { assert-css: (".result-" + |result_kind| + " ." + |result_kind|, {"color": |color|}, ALL) assert-css: ( ".result-" + |result_kind|, {"color": |entry_color|, "background-color": |background_color|}, ) move-cursor-to: ".result-" + |result_kind| assert-css: ( ".result-" + |result_kind| + ":hover", {"color": |hover_entry_color|, "background-color": |hover_background_color|}, ) assert-css: ( ".result-" + |result_kind| + ":hover ." + |result_kind|, {"color": |hover_color|}, ) move-cursor-to: ".search-input" focus: ".result-" + |result_kind| assert-css: ( ".result-" + |result_kind| + ":focus", {"color": |hover_entry_color|, "background-color": |hover_background_color|}, ) assert-css: ( ".result-" + |result_kind| + ":focus ." + |result_kind|, {"color": |hover_color|}, ) }, ) goto: "file://" + |DOC_PATH| + "/test_docs/index.html?search=coo" // This is needed so that the text color is computed. show-text: true // Ayu theme local-storage: { "rustdoc-theme": "ayu", "rustdoc-use-system-theme": "false", } reload: // Waiting for the search results to appear... wait-for: "#search-tabs" assert-css: ( "#search-tabs > button > .count", {"color": "rgb(136, 136, 136)"}, ALL, ) assert-css: ( "//*[@class='desc'][text()='Just a normal struct.']", {"color": "rgb(197, 197, 197)"}, ) assert-css: ( "//*[@class='result-name']/*[text()='test_docs::']", {"color": "rgb(0, 150, 207)"}, ) // Checking the color of the bottom border. assert-css: ( ".search-results > a", {"border-bottom-color": "rgba(170, 170, 170, 0.2)"} ) // Checking the color of "keyword" text. assert-css: ( "//*[@class='result-name']//*[text()='(keyword)']", {"color": "rgb(120, 135, 151)"}, ) store-value: (entry_color, "rgb(0, 150, 207)") // color of the search entry store-value: (hover_entry_color, "rgb(255, 255, 255)") // color of the hovered/focused search entry store-value: (background_color, "rgba(0, 0, 0, 0)") // background color store-value: (hover_background_color, "rgb(60, 60, 60)") // hover background color call-function: ( "check-result-color", ( "keyword", // item kind "rgb(57, 175, 215)", // color of item kind "rgb(57, 175, 215)", // color of hovered/focused item kind ), ) call-function: ( "check-result-color", ( "struct", // item kind "rgb(255, 160, 165)", // color of item kind "rgb(255, 160, 165)", // color of hovered/focused item kind ), ) call-function: ( "check-result-color", ( "associatedtype", // item kind "rgb(57, 175, 215)", // color of item kind "rgb(57, 175, 215)", // color of hovered/focused item kind ), ) call-function: ( "check-result-color", ( "tymethod", // item kind "rgb(253, 214, 135)", // color of item kind "rgb(253, 214, 135)", // color of hovered/focused item kind ), ) call-function: ( "check-result-color", ( "method", // item kind "rgb(253, 214, 135)", // color of item kind "rgb(253, 214, 135)", // color of hovered/focused item kind ), ) call-function: ( "check-result-color", ( "structfield", // item kind "rgb(0, 150, 207)", // color of item kind "rgb(255, 255, 255)", // color of hovered/focused item kind ), ) call-function: ( "check-result-color", ( "macro", // item kind "rgb(163, 122, 204)", // color of item kind "rgb(163, 122, 204)", // color of hovered/focused item kind ), ) call-function: ( "check-result-color", ( "fn", // item kind "rgb(253, 214, 135)", // color of item kind "rgb(253, 214, 135)", // color of hovered/focused item kind ), ) // Checking the `` container. move-cursor-to: ".search-input" focus: ".search-input" // To ensure the `` container isnt focus or hover. assert-css: ( "//*[@class='result-name']/*[text()='test_docs::']/ancestor::a", {"color": "rgb(0, 150, 207)", "background-color": "rgba(0, 0, 0, 0)"}, ALL, ) // Checking color and background on hover. move-cursor-to: "//*[@class='desc'][text()='Just a normal struct.']" assert-css: ( "//*[@class='result-name']/*[text()='test_docs::']", {"color": "rgb(255, 255, 255)"}, ) assert-css: ( "//*[@class='result-name']/*[text()='test_docs::']/ancestor::a", {"color": "rgb(255, 255, 255)", "background-color": "rgb(60, 60, 60)"}, ) // Dark theme local-storage: { "rustdoc-theme": "dark", "rustdoc-use-system-theme": "false", } reload: // Waiting for the search results to appear... wait-for: "#search-tabs" assert-css: ( "#search-tabs > button > .count", {"color": "rgb(136, 136, 136)"}, ALL, ) assert-css: ( "//*[@class='desc'][text()='Just a normal struct.']", {"color": "rgb(221, 221, 221)"}, ) assert-css: ( "//*[@class='result-name']/*[text()='test_docs::']", {"color": "rgb(221, 221, 221)"}, ) // Checking the color of the bottom border. assert-css: ( ".search-results > a", {"border-bottom-color": "rgba(170, 170, 170, 0.2)"} ) // Checking the color for "keyword" text. assert-css: ( "//*[@class='result-name']//*[text()='(keyword)']", {"color": "rgb(221, 221, 221)"}, ) store-value: (entry_color, "rgb(221, 221, 221)") // color of the search entry store-value: (hover_entry_color, "rgb(221, 221, 221)") // color of the hovered/focused search entry store-value: (background_color, "rgba(0, 0, 0, 0)") // background color store-value: (hover_background_color, "rgb(97, 97, 97)") // hover background color call-function: ( "check-result-color", ( "keyword", // item kind "rgb(210, 153, 29)", // color of item kind "rgb(210, 153, 29)", // color of hovered/focused item kind ), ) call-function: ( "check-result-color", ( "struct", // item kind "rgb(45, 191, 184)", // color of item kind "rgb(45, 191, 184)", // color of hovered/focused item kind ), ) call-function: ( "check-result-color", ( "associatedtype", // item kind "rgb(210, 153, 29)", // color of item kind "rgb(210, 153, 29)", // color of hovered/focused item kind ), ) call-function: ( "check-result-color", ( "tymethod", // item kind "rgb(43, 171, 99)", // color of item kind "rgb(43, 171, 99)", // color of hovered/focused item kind ), ) call-function: ( "check-result-color", ( "method", // item kind "rgb(43, 171, 99)", // color of item kind "rgb(43, 171, 99)", // color of hovered/focused item kind ), ) call-function: ( "check-result-color", ( "structfield", // item kind "rgb(221, 221, 221)", // color of item kind "rgb(221, 221, 221)", // color of hovered/focused item kind ), ) call-function: ( "check-result-color", ( "macro", // item kind "rgb(9, 189, 0)", // color of item kind "rgb(9, 189, 0)", // color of hovered/focused item kind ), ) call-function: ( "check-result-color", ( "fn", // item kind "rgb(43, 171, 99)", // color of item kind "rgb(43, 171, 99)", // color of hovered/focused item kind ), ) // Checking the `` container. move-cursor-to: ".search-input" focus: ".search-input" // To ensure the `` container isnt focus or hover. assert-css: ( "//*[@class='result-name']/*[text()='test_docs::']/ancestor::a", {"color": "rgb(221, 221, 221)", "background-color": "rgba(0, 0, 0, 0)"}, ) // Light theme local-storage: {"rustdoc-theme": "light", "rustdoc-use-system-theme": "false"} reload: // Waiting for the search results to appear... wait-for: "#search-tabs" assert-css: ( "#search-tabs > button > .count", {"color": "rgb(136, 136, 136)"}, ALL, ) assert-css: ( "//*[@class='desc'][text()='Just a normal struct.']", {"color": "rgb(0, 0, 0)"}, ) assert-css: ( "//*[@class='result-name']/*[text()='test_docs::']", {"color": "rgb(0, 0, 0)"}, ) // Checking the color of the bottom border. assert-css: ( ".search-results > a", {"border-bottom-color": "rgba(170, 170, 170, 0.2)"} ) // Checking the color for "keyword" text. assert-css: ( "//*[@class='result-name']//*[text()='(keyword)']", {"color": "rgb(0, 0, 0)"}, ) store-value: (entry_color, "rgb(0, 0, 0)") // color of the search entry store-value: (hover_entry_color, "rgb(0, 0, 0)") // color of the hovered/focused search entry store-value: (background_color, "rgba(0, 0, 0, 0)") // background color store-value: (hover_background_color, "rgb(204, 204, 204)") // hover background color call-function: ( "check-result-color", ( "keyword", // item kind "rgb(56, 115, 173)", // color of item kind "rgb(56, 115, 173)", // color of hovered/focused item kind ), ) call-function: ( "check-result-color", ( "struct", // item kind "rgb(173, 55, 138)", // color of item kind "rgb(173, 55, 138)", // color of hovered/focused item kind ), ) call-function: ( "check-result-color", ( "associatedtype", // item kind "rgb(56, 115, 173)", // color of item kind "rgb(56, 115, 173)", // color of hovered/focused item kind ), ) call-function: ( "check-result-color", ( "tymethod", // item kind "rgb(173, 124, 55)", // color of item kind "rgb(173, 124, 55)", // color of hovered/focused item kind ), ) call-function: ( "check-result-color", ( "method", // item kind "rgb(173, 124, 55)", // color of item kind "rgb(173, 124, 55)", // color of hovered/focused item kind ), ) call-function: ( "check-result-color", ( "structfield", // item kind "rgb(0, 0, 0)", // color of item kind "rgb(0, 0, 0)", // color of hovered/focused item kind ), ) call-function: ( "check-result-color", ( "macro", // item kind "rgb(6, 128, 0)", // color of item kind "rgb(6, 128, 0)", // color of hovered/focused item kind ), ) call-function: ( "check-result-color", ( "fn", // item kind "rgb(173, 124, 55)", // color of item kind "rgb(173, 124, 55)", // color of hovered/focused item kind ), ) // Checking the `` container. move-cursor-to: ".search-input" focus: ".search-input" // To ensure the `` container isnt focus or hover. assert-css: ( "//*[@class='result-name']/*[text()='test_docs::']/ancestor::a", {"color": "rgb(0, 0, 0)", "background-color": "rgba(0, 0, 0, 0)"}, ) // Check the alias. goto: "file://" + |DOC_PATH| + "/test_docs/index.html" // If the text isn't displayed, the browser doesn't compute color style correctly... show-text: true define-function: ( "check-alias", (theme, alias, grey), block { local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"} reload: write: (".search-input", "thisisanalias") // To be SURE that the search will be run. press-key: 'Enter' // Waiting for the search results to appear... wait-for: "#search-tabs" // Checking that the colors for the alias element are the ones expected. assert-css: (".result-name > .alias", {"color": |alias|}) assert-css: (".result-name > .alias > .grey", {"color": |grey|}) // Leave the search results to prevent reloading with an already filled search input. press-key: "Escape" }, ) call-function: ("check-alias", { "theme": "ayu", "alias": "rgb(197, 197, 197)", "grey": "rgb(153, 153, 153)", }) call-function: ("check-alias", { "theme": "dark", "alias": "rgb(255, 255, 255)", "grey": "rgb(204, 204, 204)", }) call-function: ("check-alias", { "theme": "light", "alias": "rgb(0, 0, 0)", "grey": "rgb(153, 153, 153)", })