From 39a19416397e26427195ee32bc5ebf596c4e7fa6 Mon Sep 17 00:00:00 2001 From: Aaron Ayres Date: Fri, 12 Mar 2021 13:57:26 -0600 Subject: [PATCH 1/8] add a failing test --- enable/tests/test_test_assistant.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/enable/tests/test_test_assistant.py b/enable/tests/test_test_assistant.py index 4fa1b686b..61ca00e9b 100644 --- a/enable/tests/test_test_assistant.py +++ b/enable/tests/test_test_assistant.py @@ -36,6 +36,16 @@ def test_mouse_down(self): test_assistant.mouse_down(component, x=0, y=0) component.normal_left_down.assert_called_once() + def test_mouse_move_while_down(self): + test_assistant = EnableTestAssistant() + component = Component(bounds=[100, 200]) + event = test_assistant.mouse_move(component, 10, 20, left_down=True) + + self.assertEqual(event.x, 10) + self.assertEqual(event.y, 20) + # left_down from calling mouse_dwn is carried into mouse move event + self.assertIs(event.left_down, True) + def test_mouse_dclick(self): test_assistant = EnableTestAssistant() component = Component(bounds=[100, 200]) From b63d4c22d6276a64e5449a866c4c2b37e582d9b8 Mon Sep 17 00:00:00 2001 From: Aaron Ayres Date: Fri, 12 Mar 2021 13:57:56 -0600 Subject: [PATCH 2/8] fix failing test by adding {lefft/right}_down kwargs to mouse_move --- enable/testing.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/enable/testing.py b/enable/testing.py index 249a20819..78cb63e24 100644 --- a/enable/testing.py +++ b/enable/testing.py @@ -298,7 +298,8 @@ def mouse_dclick(self, interactor, x, y, button="left", window=None, return event def mouse_move(self, interactor, x, y, window=None, alt_down=False, - control_down=False, shift_down=False): + control_down=False, shift_down=False, left_down=False, + right_down=False): """ Send a mouse move event to the interactor. Parameters @@ -320,14 +321,22 @@ def mouse_move(self, interactor, x, y, window=None, alt_down=False, get_pointer_position() or should use a mock for the method. alt_down : boolean, optional - The button is pressed while `alt` is down. Default value is False. + The mouse is moved while `alt` is down. Default value is False. control_down : boolean, optional - The button is pressed while `control` is down. Default value is + The mouse is moved while `control` is down. Default value is False. shift_down : boolean, optional - The button is pressed while `shift` is down. Default value is + The mouse is moved while `shift` is down. Default value is + False. + + left_down : boolean, optional + The mouse is moved while `left` is down. Default value is + False. + + right_down : boolean, optional + The mouse is moved while `right` is down. Default value is False. Returns @@ -343,6 +352,8 @@ def mouse_move(self, interactor, x, y, window=None, alt_down=False, alt_down=alt_down, control_down=control_down, shift_down=shift_down, + left_down=left_down, + right_down=right_down, ) if hasattr(window.get_pointer_position, "return_value"): # Note: Non-mock windows shouldn't try to get pointer position From f421faad20c596a37989852dda62a2c1b8b46b49 Mon Sep 17 00:00:00 2001 From: Aaron Ayres Date: Fri, 12 Mar 2021 14:25:12 -0600 Subject: [PATCH 3/8] use new mouse_move functionality in press_move_release --- enable/testing.py | 1 + 1 file changed, 1 insertion(+) diff --git a/enable/testing.py b/enable/testing.py index 78cb63e24..95841c541 100644 --- a/enable/testing.py +++ b/enable/testing.py @@ -89,6 +89,7 @@ def press_move_release(self, interactor, points, window=None, alt_down=alt_down, control_down=control_down, shift_down=shift_down, + left_down=True, ) x, y = points[-1] self.mouse_up( From 1e86b3e9d06cb8efcc2db8d245df2b14910d3bc0 Mon Sep 17 00:00:00 2001 From: Aaron Ayres Date: Fri, 12 Mar 2021 14:31:55 -0600 Subject: [PATCH 4/8] remove old comment --- enable/tests/test_test_assistant.py | 1 - 1 file changed, 1 deletion(-) diff --git a/enable/tests/test_test_assistant.py b/enable/tests/test_test_assistant.py index 61ca00e9b..27d5b27d6 100644 --- a/enable/tests/test_test_assistant.py +++ b/enable/tests/test_test_assistant.py @@ -43,7 +43,6 @@ def test_mouse_move_while_down(self): self.assertEqual(event.x, 10) self.assertEqual(event.y, 20) - # left_down from calling mouse_dwn is carried into mouse move event self.assertIs(event.left_down, True) def test_mouse_dclick(self): From 60d6deaab6098d87190766683fb026de23bb7941 Mon Sep 17 00:00:00 2001 From: Aaron Ayres Date: Mon, 15 Mar 2021 10:08:38 -0500 Subject: [PATCH 5/8] fix failing tests --- enable/tests/tools/pyface/test_move_command_tool.py | 12 ++++++------ .../tests/tools/pyface/test_resize_command_tool.py | 8 ++++---- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/enable/tests/tools/pyface/test_move_command_tool.py b/enable/tests/tools/pyface/test_move_command_tool.py index 3f4ced31e..eaa8a231e 100644 --- a/enable/tests/tools/pyface/test_move_command_tool.py +++ b/enable/tests/tools/pyface/test_move_command_tool.py @@ -47,13 +47,13 @@ def test_drag_component(self): # start moving the mouse mouse_move_event = self.mouse_move( - self.component, 145, 145, window=window + self.component, 145, 145, window=window, left_down=True ) self.assertTrue(mouse_move_event.handled) # move the mouse to the final location mouse_move_event = self.mouse_move( - self.component, 195, 95, window=window + self.component, 195, 95, window=window, left_down=True ) self.assertTrue(mouse_move_event.handled) @@ -87,13 +87,13 @@ def test_drag_cancel(self): # start moving the mouse mouse_move_event = self.mouse_move( - self.component, 145, 145, window=window + self.component, 145, 145, window=window, left_down=True ) self.assertTrue(mouse_move_event.handled) # move the mouse to the final location mouse_move_event = self.mouse_move( - self.component, 195, 95, window=window + self.component, 195, 95, window=window, left_down=True ) self.assertTrue(mouse_move_event.handled) @@ -121,13 +121,13 @@ def test_drag_resize_move_command(self): # start moving the mouse mouse_move_event = self.mouse_move( - self.component, 145, 145, window=window + self.component, 145, 145, window=window, left_down=True ) self.assertTrue(mouse_move_event.handled) # move the mouse to the final location mouse_move_event = self.mouse_move( - self.component, 195, 95, window=window + self.component, 195, 95, window=window, left_down=True ) self.assertTrue(mouse_move_event.handled) diff --git a/enable/tests/tools/pyface/test_resize_command_tool.py b/enable/tests/tools/pyface/test_resize_command_tool.py index 630ce6a9c..ef0f66f60 100644 --- a/enable/tests/tools/pyface/test_resize_command_tool.py +++ b/enable/tests/tools/pyface/test_resize_command_tool.py @@ -48,13 +48,13 @@ def test_drag_component(self): # start moving the mouse mouse_move_event = self.mouse_move( - self.component, 145, 145, window=window + self.component, 145, 145, window=window, left_down=True ) self.assertTrue(mouse_move_event.handled) # move the mouse to the final location mouse_move_event = self.mouse_move( - self.component, 195, 95, window=window + self.component, 195, 95, window=window, left_down=True ) self.assertTrue(mouse_move_event.handled) @@ -87,13 +87,13 @@ def test_drag_cancel(self): # start moving the mouse mouse_move_event = self.mouse_move( - self.component, 145, 145, window=window + self.component, 145, 145, window=window, left_down=True ) self.assertTrue(mouse_move_event.handled) # move the mouse to the final location mouse_move_event = self.mouse_move( - self.component, 195, 95, window=window + self.component, 195, 95, window=window, left_down=True ) self.assertTrue(mouse_move_event.handled) From f6ae653bf5795d37d4a9386b5b8f4c982d585b6e Mon Sep 17 00:00:00 2001 From: Aaron Ayres Date: Mon, 15 Mar 2021 10:45:14 -0500 Subject: [PATCH 6/8] use Undefined as default to avoid breaks --- enable/testing.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/enable/testing.py b/enable/testing.py index 95841c541..2af4db210 100644 --- a/enable/testing.py +++ b/enable/testing.py @@ -9,6 +9,8 @@ # Thanks for using Enthought open source! from unittest.mock import Mock +from traits.api import Undefined + from enable.abstract_window import AbstractWindow from enable.events import DragEvent, KeyEvent, MouseEvent from kiva.testing import KivaTestAssistant @@ -299,8 +301,8 @@ def mouse_dclick(self, interactor, x, y, button="left", window=None, return event def mouse_move(self, interactor, x, y, window=None, alt_down=False, - control_down=False, shift_down=False, left_down=False, - right_down=False): + control_down=False, shift_down=False, left_down=Undefined, + right_down=Undefined): """ Send a mouse move event to the interactor. Parameters From a1140b81052ed7b3e87a70979dec7dbde665ddac Mon Sep 17 00:00:00 2001 From: Aaron Ayres Date: Mon, 15 Mar 2021 10:45:47 -0500 Subject: [PATCH 7/8] add middle_down --- enable/testing.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/enable/testing.py b/enable/testing.py index 2af4db210..53746fdcb 100644 --- a/enable/testing.py +++ b/enable/testing.py @@ -302,7 +302,7 @@ def mouse_dclick(self, interactor, x, y, button="left", window=None, def mouse_move(self, interactor, x, y, window=None, alt_down=False, control_down=False, shift_down=False, left_down=Undefined, - right_down=Undefined): + middle_down=Undefined, right_down=Undefined): """ Send a mouse move event to the interactor. Parameters @@ -356,6 +356,7 @@ def mouse_move(self, interactor, x, y, window=None, alt_down=False, control_down=control_down, shift_down=shift_down, left_down=left_down, + middle_down=middle_down, right_down=right_down, ) if hasattr(window.get_pointer_position, "return_value"): From 1b6298232e9b0c44ca623dc4baac153baedf555a Mon Sep 17 00:00:00 2001 From: Aaron Ayres Date: Mon, 15 Mar 2021 11:15:12 -0500 Subject: [PATCH 8/8] update docstring for mouse_move --- enable/testing.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/enable/testing.py b/enable/testing.py index 53746fdcb..3f957082b 100644 --- a/enable/testing.py +++ b/enable/testing.py @@ -336,11 +336,15 @@ def mouse_move(self, interactor, x, y, window=None, alt_down=False, left_down : boolean, optional The mouse is moved while `left` is down. Default value is - False. + Undefined. + + middle_down : boolean, optional + The mouse is moved while `middle` is down. Default value is + Undefined. right_down : boolean, optional The mouse is moved while `right` is down. Default value is - False. + Undefined. Returns -------