rustdoc: fix corner case in search keyboard commands
This commit is contained in:
parent
96ddd32c4b
commit
7b00534952
2 changed files with 29 additions and 0 deletions
|
@ -1491,6 +1491,7 @@ function initSearch(rawSearchIndex) {
|
||||||
const target = searchState.focusedByTab[searchState.currentTab] ||
|
const target = searchState.focusedByTab[searchState.currentTab] ||
|
||||||
document.querySelectorAll(".search-results.active a").item(0) ||
|
document.querySelectorAll(".search-results.active a").item(0) ||
|
||||||
document.querySelectorAll("#titles > button").item(searchState.currentTab);
|
document.querySelectorAll("#titles > button").item(searchState.currentTab);
|
||||||
|
searchState.focusedByTab[searchState.currentTab] = null;
|
||||||
if (target) {
|
if (target) {
|
||||||
target.focus();
|
target.focus();
|
||||||
}
|
}
|
||||||
|
|
28
src/test/rustdoc-gui/search-keyboard.goml
Normal file
28
src/test/rustdoc-gui/search-keyboard.goml
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
// Checks that the search tab results work correctly with function signature syntax
|
||||||
|
// First, try a search-by-name
|
||||||
|
goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
|
||||||
|
write: (".search-input", "Foo")
|
||||||
|
// To be SURE that the search will be run.
|
||||||
|
press-key: 'Enter'
|
||||||
|
// Waiting for the search results to appear...
|
||||||
|
wait-for: "#titles"
|
||||||
|
|
||||||
|
// Now use the keyboard commands to switch to the third result.
|
||||||
|
press-key: "ArrowDown"
|
||||||
|
press-key: "ArrowDown"
|
||||||
|
press-key: "ArrowDown"
|
||||||
|
assert: ".search-results.active > a:focus:nth-of-type(3)"
|
||||||
|
|
||||||
|
// Now switch to the second tab, then back to the first one, then arrow back up.
|
||||||
|
press-key: "ArrowRight"
|
||||||
|
assert: ".search-results.active:nth-of-type(2) > a:focus:nth-of-type(1)"
|
||||||
|
press-key: "ArrowLeft"
|
||||||
|
assert: ".search-results.active:nth-of-type(1) > a:focus:nth-of-type(3)"
|
||||||
|
press-key: "ArrowUp"
|
||||||
|
assert: ".search-results.active > a:focus:nth-of-type(2)"
|
||||||
|
press-key: "ArrowUp"
|
||||||
|
assert: ".search-results.active > a:focus:nth-of-type(1)"
|
||||||
|
press-key: "ArrowUp"
|
||||||
|
assert: ".search-input:focus"
|
||||||
|
press-key: "ArrowDown"
|
||||||
|
assert: ".search-results.active > a:focus:nth-of-type(1)"
|
Loading…
Add table
Add a link
Reference in a new issue