summaryrefslogtreecommitdiff
path: root/tests/unit/keyinput/test_bindingtrie.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/keyinput/test_bindingtrie.py')
-rw-r--r--tests/unit/keyinput/test_bindingtrie.py66
1 files changed, 41 insertions, 25 deletions
diff --git a/tests/unit/keyinput/test_bindingtrie.py b/tests/unit/keyinput/test_bindingtrie.py
index 0a45a03c4..388be0f42 100644
--- a/tests/unit/keyinput/test_bindingtrie.py
+++ b/tests/unit/keyinput/test_bindingtrie.py
@@ -79,26 +79,43 @@ def test_str():
assert str(trie) == textwrap.dedent(expected).lstrip('\n')
-@pytest.mark.parametrize('configured, expected', [
- ([],
- # null match
- [('a', QtGui.QKeySequence.NoMatch),
- ('', QtGui.QKeySequence.NoMatch)]),
- (['abcd'],
- [('abcd', QtGui.QKeySequence.ExactMatch),
- ('abc', QtGui.QKeySequence.PartialMatch)]),
- (['aa', 'ab', 'ac', 'ad'],
- [('ac', QtGui.QKeySequence.ExactMatch),
- ('a', QtGui.QKeySequence.PartialMatch),
- ('f', QtGui.QKeySequence.NoMatch),
- ('acd', QtGui.QKeySequence.NoMatch)]),
- (['aaaaaaab', 'aaaaaaac', 'aaaaaaad'],
- [('aaaaaaab', QtGui.QKeySequence.ExactMatch),
- ('z', QtGui.QKeySequence.NoMatch)]),
- (string.ascii_letters,
- [('a', QtGui.QKeySequence.ExactMatch),
- ('!', QtGui.QKeySequence.NoMatch)]),
-])
+@pytest.mark.parametrize(
+ 'configured, expected',
+ [
+ (
+ [],
+ # null match
+ [('a', QtGui.QKeySequence.NoMatch), ('', QtGui.QKeySequence.NoMatch)],
+ ),
+ (
+ ['abcd'],
+ [
+ ('abcd', QtGui.QKeySequence.ExactMatch),
+ ('abc', QtGui.QKeySequence.PartialMatch),
+ ],
+ ),
+ (
+ ['aa', 'ab', 'ac', 'ad'],
+ [
+ ('ac', QtGui.QKeySequence.ExactMatch),
+ ('a', QtGui.QKeySequence.PartialMatch),
+ ('f', QtGui.QKeySequence.NoMatch),
+ ('acd', QtGui.QKeySequence.NoMatch),
+ ],
+ ),
+ (
+ ['aaaaaaab', 'aaaaaaac', 'aaaaaaad'],
+ [
+ ('aaaaaaab', QtGui.QKeySequence.ExactMatch),
+ ('z', QtGui.QKeySequence.NoMatch),
+ ],
+ ),
+ (
+ string.ascii_letters,
+ [('a', QtGui.QKeySequence.ExactMatch), ('!', QtGui.QKeySequence.NoMatch)],
+ ),
+ ],
+)
def test_matches_tree(configured, expected, benchmark):
trie = basekeyparser.BindingTrie()
trie.update({keyutils.KeySequence.parse(keys): "eeloo"
@@ -107,11 +124,10 @@ def test_matches_tree(configured, expected, benchmark):
def run():
for entered, match_type in expected:
sequence = keyutils.KeySequence.parse(entered)
- command = ("eeloo" if match_type == QtGui.QKeySequence.ExactMatch
- else None)
- result = basekeyparser.MatchResult(match_type=match_type,
- command=command,
- sequence=sequence)
+ command = "eeloo" if match_type == QtGui.QKeySequence.ExactMatch else None
+ result = basekeyparser.MatchResult(
+ match_type=match_type, command=command, sequence=sequence
+ )
assert trie.matches(sequence) == result
benchmark(run)