diff options
author | Jason Rosenzweig <mail4jasonr@gmail.com> | 2021-06-04 09:58:50 +0800 |
---|---|---|
committer | Jason Rosenzweig <mail4jasonr@gmail.com> | 2021-06-04 09:58:50 +0800 |
commit | 4fc17293b02ee8e27f31143364545e1b23991257 (patch) | |
tree | 2358dd4d55cfa112f79f2283b53c60ad64b87794 | |
parent | e3c3580ab653c4cf517d95097c2bf04342ba3ed2 (diff) | |
download | qutebrowser-4fc17293b02ee8e27f31143364545e1b23991257.tar.gz qutebrowser-4fc17293b02ee8e27f31143364545e1b23991257.zip |
All tests should pass now
-rw-r--r-- | qutebrowser/mainwindow/prompt.py | 24 | ||||
-rw-r--r-- | tests/unit/mainwindow/test_prompt.py | 14 |
2 files changed, 21 insertions, 17 deletions
diff --git a/qutebrowser/mainwindow/prompt.py b/qutebrowser/mainwindow/prompt.py index db8d79235..2581831f6 100644 --- a/qutebrowser/mainwindow/prompt.py +++ b/qutebrowser/mainwindow/prompt.py @@ -632,16 +632,16 @@ class FilenamePrompt(_BasePrompt): def _directories_hide_show_model(self, path): """Get rid of non-matching directories.""" - dirs = self._get_dirs(path) - for dir in dirs['invalid']: - dir = os.path.join(path, dir) - index = self._file_model.index(dir) + dirs = self._get_dirs() + for directory in dirs['invalid']: + directory = os.path.join(path, directory) + index = self._file_model.index(directory) self._file_view.setRowHidden(index.row(), index.parent(), True) - for dir in dirs['valid']: - dir = os.path.join(path, dir) - index = self._file_model.index(dir) - self._file_view.setRowHidden(index.row(), index.parent(), False) + for directory in dirs['valid']: + directory = os.path.join(path, directory) + index = self._file_model.index(directory) + self._file_view.setRowHidden(index.row(), index.parent(), False) @pyqtSlot(str) def _set_fileview_root(self, path, *, tabbed=False): @@ -730,8 +730,8 @@ class FilenamePrompt(_BasePrompt): self._file_model.directoryLoaded.connect( lambda: self._file_model.sort(0)) - def _get_dirs(self, path): - dirs = {"valid": [], "invalid": []} + def _get_dirs(self): + dirs = {"valid": [], "invalid": []} # type: dict[list[str]] try: num_rows = self._file_model.rowCount(self._root_index) for row in range(num_rows): @@ -749,8 +749,8 @@ class FilenamePrompt(_BasePrompt): def _do_completion(self, idx, which): filename = self._file_model.fileName(idx) - valid_dirs = self._get_dirs(self._current_path) - while not filename in valid_dirs['valid'] and idx.isValid(): + valid_dirs = self._get_dirs() + while filename not in valid_dirs['valid'] and idx.isValid(): if which == 'prev': idx = self._file_view.indexAbove(idx) else: diff --git a/tests/unit/mainwindow/test_prompt.py b/tests/unit/mainwindow/test_prompt.py index 337de36d6..48bc703a7 100644 --- a/tests/unit/mainwindow/test_prompt.py +++ b/tests/unit/mainwindow/test_prompt.py @@ -96,8 +96,8 @@ class TestFileCompletion: prompt.item_focus('next') assert prompt._lineedit.text() == str(testdir / 'bar') - @pytest.mark.parametrize("keys,expected", - [([], ['bar', 'foo', 'bat'].sort()), + @pytest.mark.parametrize("keys,expected", + [([], ['bar', 'foo', 'bat'].sort()), (['F'], ['foo'].sort()), (['Backspace', 'A'], ['bar', 'bat'].sort())]) def test_filtering_path(self, qtbot, tmp_path, get_prompt, keys, expected): @@ -111,15 +111,19 @@ class TestFileCompletion: for _ in range(len(keys)): for key in keys: eval("qtbot.keyPress(prompt._lineedit, Qt.Key_{})".format(key)) - + num_rows = prompt._file_model.rowCount(prompt._root_index) visible = [] for row in range(num_rows): - parent = prompt._file_model.index(os.path.basename(prompt._lineedit.text())) + parent = prompt._file_model.index( + os.path.basename( + prompt._lineedit.text() + ) + ) index = prompt._file_model.index(row, 0, parent) if prompt._file_view.isRowHidden(index.row(), index.parent()): visible.append(index.data()) - + assert visible.sort() == expected @pytest.mark.linux |