From 911b2daebf5349b22de7b908058450fcd4ce635e Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Tue, 27 Feb 2018 09:07:20 +0100 Subject: [PATCH] Fix test_keyutils --- qutebrowser/keyinput/keyutils.py | 1 + tests/unit/keyinput/test_keyutils.py | 39 ++++++++++++++-------------- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/qutebrowser/keyinput/keyutils.py b/qutebrowser/keyinput/keyutils.py index e9abf476b..6a149a0a6 100644 --- a/qutebrowser/keyinput/keyutils.py +++ b/qutebrowser/keyinput/keyutils.py @@ -396,6 +396,7 @@ class KeySequence: new._sequences.append(sequence) if keystr: + # FIXME fails with " 0 new._validate(keystr) diff --git a/tests/unit/keyinput/test_keyutils.py b/tests/unit/keyinput/test_keyutils.py index 8a62071a3..db5b380d7 100644 --- a/tests/unit/keyinput/test_keyutils.py +++ b/tests/unit/keyinput/test_keyutils.py @@ -20,6 +20,7 @@ import pytest from PyQt5.QtCore import Qt +from qutebrowser.utils import utils from qutebrowser.keyinput import keyutils @@ -65,13 +66,13 @@ class TestKeyEventToString: """Test keyeevent when only control is pressed.""" evt = fake_keyevent_factory(key=Qt.Key_Control, modifiers=Qt.ControlModifier) - assert keyutils.keyevent_to_string(evt) is None + assert not keyutils.keyevent_to_string(evt) def test_only_hyper_l(self, fake_keyevent_factory): """Test keyeevent when only Hyper_L is pressed.""" evt = fake_keyevent_factory(key=Qt.Key_Hyper_L, modifiers=Qt.MetaModifier) - assert keyutils.keyevent_to_string(evt) is None + assert not keyutils.keyevent_to_string(evt) def test_only_key(self, fake_keyevent_factory): """Test with a simple key pressed.""" @@ -81,7 +82,7 @@ class TestKeyEventToString: def test_key_and_modifier(self, fake_keyevent_factory): """Test with key and modifier pressed.""" evt = fake_keyevent_factory(key=Qt.Key_A, modifiers=Qt.ControlModifier) - expected = 'meta+a' if keyutils.is_mac else 'ctrl+a' + expected = '' if utils.is_mac else '' assert keyutils.keyevent_to_string(evt) == expected def test_key_and_modifiers(self, fake_keyevent_factory): @@ -89,13 +90,13 @@ class TestKeyEventToString: evt = fake_keyevent_factory( key=Qt.Key_A, modifiers=(Qt.ControlModifier | Qt.AltModifier | Qt.MetaModifier | Qt.ShiftModifier)) - assert keyutils.keyevent_to_string(evt) == 'ctrl+alt+meta+shift+a' + assert keyutils.keyevent_to_string(evt) == '' @pytest.mark.fake_os('mac') def test_mac(self, fake_keyevent_factory): """Test with a simulated mac.""" evt = fake_keyevent_factory(key=Qt.Key_A, modifiers=Qt.ControlModifier) - assert keyutils.keyevent_to_string(evt) == 'meta+a' + assert keyutils.keyevent_to_string(evt) == '' @pytest.mark.parametrize('keystr, expected', [ @@ -115,21 +116,21 @@ class TestKeyEventToString: def test_parse(keystr, expected): if expected is keyutils.KeyParseError: with pytest.raises(keyutils.KeyParseError): - keyutils._parse_single_key(keystr) + keyutils.KeySequence.parse(keystr) else: - assert keyutils._parse_single_key(keystr) == expected + assert keyutils.KeySequence.parse(keystr) == expected -@pytest.mark.parametrize('orig, repl', [ - ('Control+x', 'ctrl+x'), - ('Windows+x', 'meta+x'), - ('Mod1+x', 'alt+x'), - ('Mod4+x', 'meta+x'), - ('Control--', 'ctrl+-'), - ('Windows++', 'meta++'), - ('ctrl-x', 'ctrl+x'), - ('control+x', 'ctrl+x') +@pytest.mark.parametrize('orig, normalized', [ + ('', ''), + ('', ''), + ('', ''), + ('', ''), + ('', ''), + ('', ''), + ('', ''), + ('', '') ]) -def test_normalize_keystr(orig, repl): - assert keyutils.KeySequence(orig) == repl - +def test_normalize_keystr(orig, normalized): + expected = keyutils.KeySequence.parse(normalized) + assert keyutils.KeySequence.parse(orig) == expected