From c19b8fe982751bc7b807d84cd19d3ffa7b9c9f98 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Wed, 24 Sep 2014 23:11:17 +0200 Subject: [PATCH] Fix tests for object registry. --- .../test/keyinput/test_basekeyparser.py | 33 ++++++++++++------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/qutebrowser/test/keyinput/test_basekeyparser.py b/qutebrowser/test/keyinput/test_basekeyparser.py index 7f4c356c4..8f8dcf660 100644 --- a/qutebrowser/test/keyinput/test_basekeyparser.py +++ b/qutebrowser/test/keyinput/test_basekeyparser.py @@ -29,6 +29,7 @@ from PyQt5.QtCore import Qt from qutebrowser.keyinput import basekeyparser from qutebrowser.test import stubs, helpers +from qutebrowser.utils import objreg CONFIG = {'input': {'timeout': 100}} @@ -42,6 +43,10 @@ BINDINGS = {'test': {'': 'ctrla', 'test2': {'foo': 'bar', '': 'ctrlx'}} +fake_keyconfig = mock.Mock(spec=['get_bindings_for']) +fake_keyconfig.get_bindings_for.side_effect = lambda s: BINDINGS[s] + + def setUpModule(): """Mock out some imports in basekeyparser.""" basekeyparser.QObject = mock.Mock() @@ -53,14 +58,6 @@ def tearDownModule(): logging.disable(logging.NOTSET) -def _get_fake_application(): - """Construct a fake QApplication with a keyconfig.""" - app = stubs.FakeQApplication() - app.keyconfig = mock.Mock(spec=['get_bindings_for']) - app.keyconfig.get_bindings_for.side_effect = lambda s: BINDINGS[s] - return app - - class SplitCountTests(unittest.TestCase): """Test the _split_count method. @@ -109,9 +106,12 @@ class ReadConfigTests(unittest.TestCase): """Test reading the config.""" def setUp(self): - basekeyparser.QCoreApplication = _get_fake_application() + objreg.register('key-config', fake_keyconfig) basekeyparser.usertypes.Timer = mock.Mock() + def tearDown(self): + objreg.delete('key-config') + def test_read_config_invalid(self): """Test reading config without setting it before.""" kp = basekeyparser.BaseKeyParser() @@ -145,12 +145,15 @@ class SpecialKeysTests(unittest.TestCase): 'qutebrowser.keyinput.basekeyparser.usertypes.Timer', autospec=True) patcher.start() + objreg.register('key-config', fake_keyconfig) self.addCleanup(patcher.stop) - basekeyparser.QCoreApplication = _get_fake_application() self.kp = basekeyparser.BaseKeyParser() self.kp.execute = mock.Mock() self.kp.read_config('test') + def tearDown(self): + objreg.delete('key-config') + def test_valid_key(self): """Test a valid special keyevent.""" self.kp.handle(helpers.fake_keyevent(Qt.Key_A, Qt.ControlModifier)) @@ -181,7 +184,7 @@ class KeyChainTests(unittest.TestCase): def setUp(self): """Set up mocks and read the test config.""" - basekeyparser.QCoreApplication = _get_fake_application() + objreg.register('key-config', fake_keyconfig) self.timermock = mock.Mock() basekeyparser.usertypes.Timer = mock.Mock(return_value=self.timermock) self.kp = basekeyparser.BaseKeyParser(supports_chains=True, @@ -189,6 +192,9 @@ class KeyChainTests(unittest.TestCase): self.kp.execute = mock.Mock() self.kp.read_config('test') + def tearDown(self): + objreg.delete('key-config') + def test_valid_special_key(self): """Test valid special key.""" self.kp.handle(helpers.fake_keyevent(Qt.Key_A, Qt.ControlModifier)) @@ -246,7 +252,7 @@ class CountTests(unittest.TestCase): """Test execute() with counts.""" def setUp(self): - basekeyparser.QCoreApplication = _get_fake_application() + objreg.register('key-config', fake_keyconfig) basekeyparser.usertypes.Timer = mock.Mock() self.kp = basekeyparser.BaseKeyParser(supports_chains=True, supports_count=True) @@ -296,6 +302,9 @@ class CountTests(unittest.TestCase): self.kp.execute.assert_called_once_with('ccc', self.kp.Type.chain, 23) self.assertEqual(self.kp._keystring, '') + def tearDown(self): + objreg.delete('key-config') + if __name__ == '__main__': unittest.main()