diff options
Diffstat (limited to 'tests/unit/keyinput/test_modeparsers.py')
-rw-r--r-- | tests/unit/keyinput/test_modeparsers.py | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/tests/unit/keyinput/test_modeparsers.py b/tests/unit/keyinput/test_modeparsers.py index ff3758362..b997b0ab9 100644 --- a/tests/unit/keyinput/test_modeparsers.py +++ b/tests/unit/keyinput/test_modeparsers.py @@ -19,12 +19,13 @@ """Tests for mode parsers.""" -from PyQt5.QtCore import Qt -from PyQt5.QtGui import QKeySequence +from qutebrowser.qt.core import Qt +from qutebrowser.qt.gui import QKeySequence import pytest from qutebrowser.keyinput import modeparsers, keyutils +from qutebrowser.config import configexc @pytest.fixture @@ -65,7 +66,7 @@ class TestsNormalKeyParser: # Press 'b' for a partial match. # Then we check if the timer has been set up correctly - keyparser.handle(keyutils.KeyInfo(Qt.Key_B, Qt.NoModifier).to_event()) + keyparser.handle(keyutils.KeyInfo(Qt.Key.Key_B, Qt.KeyboardModifier.NoModifier).to_event()) assert timer.isSingleShot() assert timer.interval() == 100 assert timer.isActive() @@ -122,33 +123,36 @@ class TestHintKeyParser: ), ]) def test_match(self, keyparser, hintmanager, - bindings, keychain, prefix, hint): - keyparser.update_bindings(bindings) + bindings, keychain, prefix, hint, pyqt_enum_workaround): + with pyqt_enum_workaround(keyutils.KeyParseError): + keyparser.update_bindings(bindings) seq = keyutils.KeySequence.parse(keychain) assert len(seq) == 2 match = keyparser.handle(seq[0].to_event()) - assert match == QKeySequence.PartialMatch + assert match == QKeySequence.SequenceMatch.PartialMatch assert hintmanager.keystr == prefix match = keyparser.handle(seq[1].to_event()) - assert match == QKeySequence.ExactMatch + assert match == QKeySequence.SequenceMatch.ExactMatch assert hintmanager.keystr == hint - def test_match_key_mappings(self, config_stub, keyparser, hintmanager): - config_stub.val.bindings.key_mappings = {'α': 'a', 'σ': 's'} + def test_match_key_mappings(self, config_stub, keyparser, hintmanager, + pyqt_enum_workaround): + with pyqt_enum_workaround(configexc.ValidationError): + config_stub.val.bindings.key_mappings = {'α': 'a', 'σ': 's'} keyparser.update_bindings(['aa', 'as']) seq = keyutils.KeySequence.parse('ασ') assert len(seq) == 2 match = keyparser.handle(seq[0].to_event()) - assert match == QKeySequence.PartialMatch + assert match == QKeySequence.SequenceMatch.PartialMatch assert hintmanager.keystr == 'a' match = keyparser.handle(seq[1].to_event()) - assert match == QKeySequence.ExactMatch + assert match == QKeySequence.SequenceMatch.ExactMatch assert hintmanager.keystr == 'as' def test_command(self, keyparser, config_stub, hintmanager, commandrunner): @@ -159,17 +163,17 @@ class TestHintKeyParser: keyparser.update_bindings(['xabcy']) steps = [ - (Qt.Key_X, QKeySequence.PartialMatch, 'x'), - (Qt.Key_A, QKeySequence.PartialMatch, ''), - (Qt.Key_B, QKeySequence.PartialMatch, ''), - (Qt.Key_C, QKeySequence.ExactMatch, ''), + (Qt.Key.Key_X, QKeySequence.SequenceMatch.PartialMatch, 'x'), + (Qt.Key.Key_A, QKeySequence.SequenceMatch.PartialMatch, ''), + (Qt.Key.Key_B, QKeySequence.SequenceMatch.PartialMatch, ''), + (Qt.Key.Key_C, QKeySequence.SequenceMatch.ExactMatch, ''), ] for key, expected_match, keystr in steps: - info = keyutils.KeyInfo(key, Qt.NoModifier) + info = keyutils.KeyInfo(key, Qt.KeyboardModifier.NoModifier) match = keyparser.handle(info.to_event()) assert match == expected_match assert hintmanager.keystr == keystr - if key != Qt.Key_C: + if key != Qt.Key.Key_C: assert not commandrunner.commands assert commandrunner.commands == [('message-info abc', None)] |