| // This test ensures that the "Escape" shortcut is handled correctly based on the |
| // current content displayed. |
| include: "utils.goml" |
| go-to: "file://" + |DOC_PATH| + "/test_docs/index.html" |
| // First, we check that the search results are hidden when the Escape key is pressed. |
| call-function: ("perform-search", {"query": "test"}) |
| // Check that the currently displayed element is 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 clicking the search button brings back the search results |
| click: "#search-button" |
| 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"}) |