diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2018-04-19 13:48:25 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2018-04-19 16:04:41 +1000 |
commit | aca0e3729a42b76e06c78621163bb0ba9d23193c (patch) | |
tree | d735ff5e7e0ba57885fcf563c86fcf70cc2aa70d /tools/libinput-record-verify-yaml.py | |
parent | da02cdffd4b89b3568e3aa7e1f3d3a26d0cc2d2c (diff) | |
download | libinput-aca0e3729a42b76e06c78621163bb0ba9d23193c.tar.gz |
tools: libinput-record: add gesture support
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'tools/libinput-record-verify-yaml.py')
-rwxr-xr-x | tools/libinput-record-verify-yaml.py | 57 |
1 files changed, 55 insertions, 2 deletions
diff --git a/tools/libinput-record-verify-yaml.py b/tools/libinput-record-verify-yaml.py index c8f2f90f..f0661d89 100755 --- a/tools/libinput-record-verify-yaml.py +++ b/tools/libinput-record-verify-yaml.py @@ -58,7 +58,8 @@ class TestYaml(unittest.TestCase): continue for ev in libinput: - if filter is None or ev['type'] == filter: + if (filter is None or ev['type'] == filter or + isinstance(filter, list) and ev['type'] in filter): yield ev def test_sections_exist(self): @@ -224,7 +225,11 @@ class TestYaml(unittest.TestCase): def test_events_libinput_type(self): types = ['POINTER_MOTION', 'POINTER_MOTION_ABSOLUTE', 'POINTER_AXIS', 'POINTER_BUTTON', 'DEVICE_ADDED', 'KEYBOARD_KEY', - 'TOUCH_DOWN', 'TOUCH_MOTION', 'TOUCH_UP', 'TOUCH_FRAME'] + 'TOUCH_DOWN', 'TOUCH_MOTION', 'TOUCH_UP', 'TOUCH_FRAME', + 'GESTURE_SWIPE_BEGIN', 'GESTURE_SWIPE_UPDATE', + 'GESTURE_SWIPE_END', 'GESTURE_PINCH_BEGIN', + 'GESTURE_PINCH_UPDATE', 'GESTURE_PINCH_END', + ] for e in self.libinput_events(): self.assertIn('type', e) self.assertIn(e['type'], types) @@ -374,6 +379,54 @@ class TestYaml(unittest.TestCase): self.assertFalse(need_frame) + def test_events_libinput_gesture_pinch(self): + keys = ['type', 'time', 'nfingers', 'delta', + 'unaccel', 'angle_delta', 'scale'] + for e in self.libinput_events(['GESTURE_PINCH_BEGIN', + 'GESTURE_PINCH_UPDATE', + 'GESTURE_PINCH_END']): + self.dict_key_crosscheck(e, keys) + delta = e['delta'] + self.assertTrue(isinstance(delta, list)) + self.assertEqual(len(delta), 2) + for d in delta: + self.assertTrue(isinstance(d, float)) + unaccel = e['unaccel'] + self.assertTrue(isinstance(unaccel, list)) + self.assertEqual(len(unaccel), 2) + for d in unaccel: + self.assertTrue(isinstance(d, float)) + + adelta = e['angle_delta'] + self.assertTrue(isinstance(adelta, list)) + self.assertEqual(len(adelta), 2) + for d in adelta: + self.assertTrue(isinstance(d, float)) + + scale = e['scale'] + self.assertTrue(isinstance(scale, list)) + self.assertEqual(len(scale), 2) + for d in scale: + self.assertTrue(isinstance(d, float)) + + def test_events_libinput_gesture_swipe(self): + keys = ['type', 'time', 'nfingers', 'delta', + 'unaccel'] + for e in self.libinput_events(['GESTURE_SWIPE_BEGIN', + 'GESTURE_SWIPE_UPDATE', + 'GESTURE_SWIPE_END']): + self.dict_key_crosscheck(e, keys) + delta = e['delta'] + self.assertTrue(isinstance(delta, list)) + self.assertEqual(len(delta), 2) + for d in delta: + self.assertTrue(isinstance(d, float)) + unaccel = e['unaccel'] + self.assertTrue(isinstance(unaccel, list)) + self.assertEqual(len(unaccel), 2) + for d in unaccel: + self.assertTrue(isinstance(d, float)) + if __name__ == '__main__': parser = argparse.ArgumentParser(description='Verify a YAML recording') |