From beee72431f459788d5b4ebeffc1fb4ab363cd924 Mon Sep 17 00:00:00 2001 From: sezanzeb Date: Thu, 19 Nov 2020 00:10:42 +0100 Subject: [PATCH] some more tests --- keymapper/injector.py | 3 --- keymapper/paths.py | 8 +------- tests/test.py | 9 +-------- tests/testcases/mapping.py | 29 +++++++++++++++++++++++++++++ 4 files changed, 31 insertions(+), 18 deletions(-) diff --git a/keymapper/injector.py b/keymapper/injector.py index c832a584..709cd790 100644 --- a/keymapper/injector.py +++ b/keymapper/injector.py @@ -70,7 +70,6 @@ class KeycodeInjector: def stop_injecting(self): """Stop injecting keycodes.""" - # TODO test logger.info('Stopping injecting keycodes') for i, process in enumerate(self.processes): if process is None: @@ -82,7 +81,6 @@ class KeycodeInjector: def _start_injecting_worker(self, path, pipe): """Inject keycodes for one of the virtual devices.""" - # TODO test loop = asyncio.new_event_loop() asyncio.set_event_loop(loop) device = evdev.InputDevice(path) @@ -157,7 +155,6 @@ class KeycodeInjector: event.code + 8, event.value, target_keycode, character ) - # TODO test for the stuff put into write keymapper_device.write( evdev.ecodes.EV_KEY, target_keycode - 8, diff --git a/keymapper/paths.py b/keymapper/paths.py index a04b4ebe..f2dd176c 100644 --- a/keymapper/paths.py +++ b/keymapper/paths.py @@ -24,14 +24,8 @@ import os -CONFIG = os.path.join('/home', os.getlogin(), '.config/key-mapper') -# the "identity mapping" -KEYCODES_PATH = '/usr/share/X11/xkb/keycodes/key-mapper' -# to make the device not write its default keys anymore -EMPTY_SYMBOLS = '/usr/share/X11/xkb/symbols/key-mapper-empty' -# to make key-mappers own /dev device have keys -SYMBOLS_PATH = '/usr/share/X11/xkb/symbols/key-mapper-dev' +CONFIG = os.path.join('/home', os.getlogin(), '.config/key-mapper') def get_config_path(device=None, preset=None): diff --git a/tests/test.py b/tests/test.py index e2535ab3..024e7517 100644 --- a/tests/test.py +++ b/tests/test.py @@ -71,14 +71,7 @@ class Event: def patch_paths(): from keymapper import paths - prefix = '/tmp/key-mapper-test/X11/' - paths.X11_SYMBOLS = prefix + 'symbols' - paths.CONFIG = prefix + 'symbols/key-mapper/user' - paths.DEFAULT_SYMBOLS = prefix + 'symbols/key-mapper/user/default' - paths.KEYCODES_PATH = prefix + 'keycodes/key-mapper' - - -# TODO patch for the injector or something idk? + paths.CONFIG = '/tmp/key-mapper-test/' def patch_evdev(): diff --git a/tests/testcases/mapping.py b/tests/testcases/mapping.py index bd11baf1..a7a9db1b 100644 --- a/tests/testcases/mapping.py +++ b/tests/testcases/mapping.py @@ -29,6 +29,22 @@ class TestMapping(unittest.TestCase): self.mapping = Mapping() self.assertFalse(self.mapping.changed) + def test_save_load(self): + self.mapping.change(10, '1') + self.mapping.change(11, '2') + self.mapping.change(12, '3') + self.mapping.save('device 1', 'test') + loaded = Mapping() + self.assertEqual(len(loaded), 0) + loaded.load('device 1', 'test') + self.assertEqual(len(loaded), 3) + self.assertEqual(loaded.get_character(10), '1') + self.assertEqual(loaded.get_character(11), '2') + self.assertEqual(loaded.get_character(12), '3') + self.assertEqual(loaded.get_keycode('1'), 10) + self.assertEqual(loaded.get_keycode('2'), 11) + self.assertEqual(loaded.get_keycode('3'), 12) + def test_change(self): # 1 is not assigned yet, ignore it self.mapping.change(2, 'a', 1) @@ -78,20 +94,33 @@ class TestMapping(unittest.TestCase): # does nothing self.mapping.clear(40) self.assertFalse(self.mapping.changed) + self.assertEqual(len(self.mapping), 0) self.mapping._mapping[40] = 'b' + self.assertEqual(len(self.mapping), 1) self.mapping.clear(40) + self.assertEqual(len(self.mapping), 0) self.assertTrue(self.mapping.changed) self.mapping.change(10, 'KP_1', None) self.assertTrue(self.mapping.changed) self.mapping.change(20, 'KP_2', None) self.mapping.change(30, 'KP_3', None) + self.assertEqual(len(self.mapping), 3) self.mapping.clear(20) + self.assertEqual(len(self.mapping), 2) self.assertEqual(self.mapping.get_character(10), 'KP_1') self.assertIsNone(self.mapping.get_character(20)) self.assertEqual(self.mapping.get_character(30), 'KP_3') + def test_empty(self): + self.mapping.change(10, '1') + self.mapping.change(11, '2') + self.mapping.change(12, '3') + self.assertEqual(len(self.mapping), 3) + self.mapping.empty() + self.assertEqual(len(self.mapping), 0) + if __name__ == "__main__": unittest.main()