// This test ensures that the elements in ".search-form" have the expected display. 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 { set-local-storage: { "rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false", } reload: 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" })