// 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 "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: "#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 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: "#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 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 more specifically in the dark theme.
goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
// We set the theme so we're sure that the correct values will be used, whatever the computer
// this test is running on.
local-storage: {
"rustdoc-theme": "dark",
"rustdoc-use-system-theme": "false",
}
// If the text isn't displayed, the browser doesn't compute color style correctly...
show-text: true
// We reload the page so the local storage settings are being used.
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": "rgb(255, 255, 255)"})
assert-css: (".result-name > .alias > .grey", {"color": "rgb(204, 204, 204)"})