| // This test ensures that the "Escape" shortcut is handled correctly based on the |
| // current content displayed. |
| go-to: "file://" + |DOC_PATH| + "/test_docs/index.html" |
| // First, we check that the search results are hidden when the Escape key is pressed. |
| write-into: (".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"}) |