rust/tests/rustdoc-gui/search-form-elements.goml
2024-04-05 21:38:55 +02:00

146 lines
4.4 KiB
Plaintext

// This test ensures that the elements in ".search-form" have the expected display.
include: "utils.goml"
go-to: "file://" + |DOC_PATH| + "/test_docs/index.html"
show-text: true
define-function: (
"check-search-colors",
[
theme, border, background, search_input_color, search_input_border_focus,
menu_button_border, menu_button_a_color, menu_button_a_border_hover, menu_a_color,
],
block {
call-function: ("switch-theme", {"theme": |theme|})
assert-css: (
".search-input",
{
"border-color": |border|,
"background-color": |background|,
"color": |search_input_color|,
},
)
// Focus on search input.
focus: ".search-input"
assert-css: (
".search-input",
{
"border-color": |search_input_border_focus|,
"background-color": |background|,
"color": |search_input_color|,
},
)
assert-css: (
"#help-button",
{"border-color": |menu_button_border|},
)
assert-css: (
"#help-button > a",
{
"color": |menu_button_a_color|,
"border-color": |border|,
"background-color": |background|,
},
)
// Hover help button.
move-cursor-to: "#help-button"
assert-css: (
"#help-button:hover",
{"border-color": |menu_button_border|},
)
assert-css: (
"#help-button > a",
{
"color": |menu_button_a_color|,
"border-color": |menu_button_a_border_hover|,
"background-color": |background|,
},
)
// Link color inside
click: "#help-button"
assert-css: (
"#help a",
{
"color": |menu_a_color|,
},
)
assert-css: (
"#settings-menu",
{"border-color": |menu_button_border|},
)
assert-css: (
"#settings-menu > a",
{
"color": |menu_button_a_color|,
"border-color": |border|,
"background-color": |background|,
},
)
// Hover settings menu.
move-cursor-to: "#settings-menu"
assert-css: (
"#settings-menu:hover",
{"border-color": |menu_button_border|},
)
assert-css: (
"#settings-menu:hover > a",
{
"color": |menu_button_a_color|,
"border-color": |menu_button_a_border_hover|,
"background-color": |background|,
},
)
},
)
call-function: (
"check-search-colors",
{
"theme": "ayu",
"border": "#5c6773",
"background": "#141920",
"search_input_color": "#fff",
"search_input_border_focus": "#5c6773",
"menu_button_border": "#c5c5c5",
"menu_button_a_color": "#fff",
"menu_button_a_border_hover": "#e0e0e0",
"menu_a_color": "#39afd7",
}
)
call-function: (
"check-search-colors",
{
"theme": "dark",
"border": "#e0e0e0",
"background": "#f0f0f0",
"search_input_color": "#111",
"search_input_border_focus": "#008dfd",
"menu_button_border": "#ddd",
"menu_button_a_color": "#000",
"menu_button_a_border_hover": "#ffb900",
"menu_a_color": "#d2991d",
}
)
call-function: (
"check-search-colors",
{
"theme": "light",
"border": "#e0e0e0",
"background": "#fff",
"search_input_color": "#000",
"search_input_border_focus": "#66afe9",
"menu_button_border": "#000",
"menu_button_a_color": "#000",
"menu_button_a_border_hover": "#717171",
"menu_a_color": "#3873ad",
}
)
// Check that search input correctly decodes form encoding.
go-to: "file://" + |DOC_PATH| + "/test_docs/index.html?search=a+b"
wait-for: "#search-tabs" // Waiting for the search.js to load.
assert-property: (".search-input", { "value": "a b" })
// Check that literal + is not treated as space.
go-to: "file://" + |DOC_PATH| + "/test_docs/index.html?search=a%2Bb"
wait-for: "#search-tabs" // Waiting for the search.js to load.
assert-property: (".search-input", { "value": "a+b" })