diff options
| author | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2021-06-22 12:06:09 +0200 |
|---|---|---|
| committer | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2021-06-23 10:09:26 +0200 |
| commit | c4023c6ca31f80cb7fa3cbebc9f0095d5f649d53 (patch) | |
| tree | 9eaa76d7a2978abd8bc98f040309ea486518c8bb | |
| parent | 8cb207ae69700de3e782eec5cc9013c0987b2519 (diff) | |
| download | rust-c4023c6ca31f80cb7fa3cbebc9f0095d5f649d53.tar.gz rust-c4023c6ca31f80cb7fa3cbebc9f0095d5f649d53.zip | |
Fix search filter update
| -rw-r--r-- | src/librustdoc/html/static/search.js | 4 | ||||
| -rw-r--r-- | src/test/rustdoc-gui/search-filter.goml | 17 |
2 files changed, 21 insertions, 0 deletions
diff --git a/src/librustdoc/html/static/search.js b/src/librustdoc/html/static/search.js index 35be246b5bf..617c79a4579 100644 --- a/src/librustdoc/html/static/search.js +++ b/src/librustdoc/html/static/search.js @@ -1442,6 +1442,10 @@ window.initSearch = function(rawSearchIndex) { if (selectCrate) { selectCrate.onchange = function() { updateLocalStorage("rustdoc-saved-filter-crate", selectCrate.value); + // In case you "cut" the entry from the search input, then change the crate filter + // before paste back the previous search, you get the old search results without + // the filter. To prevent this, we need to remove the previous results. + currentResults = null; search(undefined, true); }; } diff --git a/src/test/rustdoc-gui/search-filter.goml b/src/test/rustdoc-gui/search-filter.goml new file mode 100644 index 00000000000..a098dbd9f12 --- /dev/null +++ b/src/test/rustdoc-gui/search-filter.goml @@ -0,0 +1,17 @@ +goto: file://|DOC_PATH|/test_docs/index.html +write: (".search-input", "test") +// Waiting for the search results to appear... +wait-for: "#titles" +assert-text: ("#results .externcrate", "test_docs") +text: (".search-input", "") +// We now want to change the crate filter. +click: "#crate-search" +// We select "lib2" option then press enter to change the filter. +press-key: "ArrowDown" +press-key: "Enter" +// We now make the search again. +write: (".search-input", "test") +// Waiting for the search results to appear... +wait-for: "#titles" +// We check that there is no more "test_docs" appearing. +assert-false: "#results .externcrate" |
