| // 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), |
| [ |
| ( |
| "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: "#titles" |
| 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 `<a>` container. |
| move-cursor-to: ".search-input" |
| focus: ".search-input" // To ensure the `<a>` 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: "#titles" |
| 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 `<a>` container. |
| move-cursor-to: ".search-input" |
| focus: ".search-input" // To ensure the `<a>` 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: "#titles" |
| 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 `<a>` container. |
| move-cursor-to: ".search-input" |
| focus: ".search-input" // To ensure the `<a>` 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), |
| [ |
| ("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", "#titles"), |
| // 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)", |
| }) |