From 9b9d7647a43fe93681f57cede691cf71f335508d Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Wed, 7 Mar 2018 22:47:31 +0100 Subject: Show the keystring correctly when entering a count --- qutebrowser/keyinput/basekeyparser.py | 1 + tests/unit/keyinput/test_basekeyparser.py | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/qutebrowser/keyinput/basekeyparser.py b/qutebrowser/keyinput/basekeyparser.py index c527b3cde..1582a5485 100644 --- a/qutebrowser/keyinput/basekeyparser.py +++ b/qutebrowser/keyinput/basekeyparser.py @@ -166,6 +166,7 @@ class BaseKeyParser(QObject): assert len(txt) == 1, txt if not dry_run: self._count += txt + self.keystring_updated.emit(self._count + str(self._sequence)) return QKeySequence.ExactMatch if dry_run: diff --git a/tests/unit/keyinput/test_basekeyparser.py b/tests/unit/keyinput/test_basekeyparser.py index 947c50592..460d322c3 100644 --- a/tests/unit/keyinput/test_basekeyparser.py +++ b/tests/unit/keyinput/test_basekeyparser.py @@ -281,6 +281,14 @@ class TestCount: keyparser.execute.assert_called_once_with('message-info ccc', 23) assert not keyparser._sequence + def test_count_keystring_update(self, qtbot, handle_text, keyparser): + """Make sure the keystring is updated correctly when entering count.""" + with qtbot.waitSignals([keyparser.keystring_updated, keyparser.keystring_updated]) as blocker: + handle_text(Qt.Key_4, Qt.Key_2) + sig1, sig2 = blocker.all_signals_and_args + assert sig1.args == ('4',) + assert sig2.args == ('42',) + def test_clear_keystring(qtbot, keyparser): """Test that the keystring is cleared and the signal is emitted.""" -- cgit v1.2.3-54-g00ecf