summaryrefslogtreecommitdiff
path: root/tests/unit/keyinput/test_modeparsers.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/keyinput/test_modeparsers.py')
-rw-r--r--tests/unit/keyinput/test_modeparsers.py38
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)]