diff options
Diffstat (limited to 'src/test/rustdoc-gui/escape-key.goml')
-rw-r--r-- | src/test/rustdoc-gui/escape-key.goml | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/test/rustdoc-gui/escape-key.goml b/src/test/rustdoc-gui/escape-key.goml new file mode 100644 index 000000000..a5afb037d --- /dev/null +++ b/src/test/rustdoc-gui/escape-key.goml @@ -0,0 +1,35 @@ +// This test ensures that the "Escape" shortcut is handled correctly based on the +// current content displayed. +goto: file://|DOC_PATH|/test_docs/index.html +// First, we check that the search results are hidden when the Escape key is pressed. +write: (".search-input", "test") +// To be SURE that the search will be run. +press-key: 'Enter' +wait-for: "#search h1" // The search element is empty before the first search +// Check that the currently displayed element is search. +wait-for: "#alternative-display #search" +assert-attribute: ("#main-content", {"class": "content hidden"}) +assert-document-property: ({"URL": "index.html?search=test"}, ENDS_WITH) +press-key: "Escape" +// Checks that search is no longer in the displayed content. +wait-for: "#not-displayed #search" +assert-false: "#alternative-display #search" +assert-attribute: ("#main-content", {"class": "content"}) +assert-document-property: ({"URL": "index.html"}, [ENDS_WITH]) + +// Check that focusing the search input brings back the search results +focus: ".search-input" +wait-for: "#alternative-display #search" +assert-attribute: ("#main-content", {"class": "content hidden"}) +assert-document-property: ({"URL": "index.html?search=test"}, ENDS_WITH) + +// Check that Escape hides the search results when a search result is focused. +focus: ".search-input" +assert: ".search-input:focus" +press-key: "ArrowDown" +assert-false: ".search-input:focus" +assert: "#results a:focus" +press-key: "Escape" +wait-for: "#not-displayed #search" +assert-false: "#alternative-display #search" +assert-attribute: ("#main-content", {"class": "content"}) |