sw/qa/uitest/writer_tests5/xwindow.py | 62 +++++++++++++++++++++------------- 1 file changed, 39 insertions(+), 23 deletions(-)
New commits: commit edeb858b57d5b45dbc20e04d323085cf9ce95f55 Author: Stephan Bergmann <[email protected]> AuthorDate: Thu May 16 22:08:44 2019 +0200 Commit: Stephan Bergmann <[email protected]> CommitDate: Thu May 16 22:52:44 2019 +0200 Make xwindow.py test more robust ...by waiting for all events to be processed before the listeners are removed Change-Id: I1aa4f6c43de97a567877a499c4c8fb51ef53eeea Reviewed-on: https://gerrit.libreoffice.org/72432 Reviewed-by: Stephan Bergmann <[email protected]> Tested-by: Stephan Bergmann <[email protected]> diff --git a/sw/qa/uitest/writer_tests5/xwindow.py b/sw/qa/uitest/writer_tests5/xwindow.py index 7e561fe8de2f..29a89bb5809c 100644 --- a/sw/qa/uitest/writer_tests5/xwindow.py +++ b/sw/qa/uitest/writer_tests5/xwindow.py @@ -140,6 +140,10 @@ class XWindow(UITestCase): xToolkitRobot.keyPress(xKeyEvent) xToolkitRobot.keyRelease(xKeyEvent) + # Wait for async events to be processed + xToolkit = self.xContext.ServiceManager.createInstance('com.sun.star.awt.Toolkit') + xToolkit.processEventsToIdle() + # remove mouse listener xWindow.removeMouseListener(xMouseListener) self.assertEqual(1, mouseListenerCount) @@ -149,10 +153,6 @@ class XWindow(UITestCase): xWindow.removeKeyListener(xKeyListener) del xKeyListener - # Wait for async events to be processed - xToolkit = self.xContext.ServiceManager.createInstance('com.sun.star.awt.Toolkit') - xToolkit.processEventsToIdle() - global keymousePressedEventsIntercepted # Not expected any interceptions self.assertEqual(0, keymousePressedEventsIntercepted) commit 141c75847a0fc470915a16c83e80f8effb7a22b6 Author: Stephan Bergmann <[email protected]> AuthorDate: Thu May 16 20:59:37 2019 +0200 Commit: Stephan Bergmann <[email protected]> CommitDate: Thu May 16 22:52:37 2019 +0200 More precisely count different event types in xwindow.py Change-Id: I6872684292b4e7ef04f4c590012f1af25243f22f Reviewed-on: https://gerrit.libreoffice.org/72426 Reviewed-by: Stephan Bergmann <[email protected]> Tested-by: Stephan Bergmann <[email protected]> diff --git a/sw/qa/uitest/writer_tests5/xwindow.py b/sw/qa/uitest/writer_tests5/xwindow.py index bdfbfecff17e..7e561fe8de2f 100644 --- a/sw/qa/uitest/writer_tests5/xwindow.py +++ b/sw/qa/uitest/writer_tests5/xwindow.py @@ -17,8 +17,12 @@ from com.sun.star.awt import XKeyListener mouseListenerCount = 0 -mouseEventsIntercepted = 0 -keymouseEventsIntercepted = 0 +mousePressedEventsIntercepted = 0 +mouseReleasedEventsIntercepted = 0 +mouseEnteredEventsIntercepted = 0 +mouseExitedEventsIntercepted = 0 +keymousePressedEventsIntercepted = 0 +keymouseReleasedEventsIntercepted = 0 class XMouseListenerExtended(unohelper.Base, XMouseListener): @@ -30,41 +34,41 @@ class XMouseListenerExtended(unohelper.Base, XMouseListener): # is invoked when a mouse button has been pressed on a window. @classmethod def mousePressed(self, xMouseEvent): - global mouseEventsIntercepted - mouseEventsIntercepted += 1 + global mousePressedEventsIntercepted + mousePressedEventsIntercepted += 1 # is invoked when a mouse button has been released on a window. @classmethod def mouseReleased(self, xMouseEvent): - global mouseEventsIntercepted - mouseEventsIntercepted += 1 + global mouseReleasedEventsIntercepted + mouseReleasedEventsIntercepted += 1 # is invoked when the mouse enters a window. @classmethod def mouseEntered(self, xMouseEvent): - global mouseEventsIntercepted - mouseEventsIntercepted += 1 + global mouseEnteredEventsIntercepted + mouseEnteredEventsIntercepted += 1 # is invoked when the mouse exits a window. @classmethod def mouseExited(self, xMouseEvent): - global mouseEventsIntercepted - mouseEventsIntercepted += 1 + global mouseExitedEventsIntercepted + mouseExitedEventsIntercepted += 1 class XKeyListenerExtended(unohelper.Base, XKeyListener): # is invoked when a key has been pressed @classmethod def keyPressed(self, xKeyEvent): - global keymouseEventsIntercepted - keymouseEventsIntercepted += 1 + global keymousePressedEventsIntercepted + keymousePressedEventsIntercepted += 1 return super(XKeyListenerExtended, self).keyPressed(xKeyEvent) # is invoked when a key has been released @classmethod def keyReleased(self, xKeyEvent): - global keymouseEventsIntercepted - keymouseEventsIntercepted += 1 + global keymouseReleasedEventsIntercepted + keymouseReleasedEventsIntercepted += 1 return super(XKeyListenerExtended, self).keyReleased(xKeyEvent) # Test that registered mouse/key listeners for top window receive mouse/key events @@ -149,13 +153,25 @@ class XWindow(UITestCase): xToolkit = self.xContext.ServiceManager.createInstance('com.sun.star.awt.Toolkit') xToolkit.processEventsToIdle() - global keymouseEventsIntercepted - # Not expected 2 interceptions - self.assertEqual(0, keymouseEventsIntercepted) + global keymousePressedEventsIntercepted + # Not expected any interceptions + self.assertEqual(0, keymousePressedEventsIntercepted) - global mouseEventsIntercepted - # mousePressed (2x), mouseReleased (2x) and mouseEntered (1x) should be triggered - self.assertEqual(5, mouseEventsIntercepted) + global keymouseReleasedEventsIntercepted + # Not expected any interceptions + self.assertEqual(0, keymouseReleasedEventsIntercepted) + + global mousePressedEventsIntercepted + self.assertEqual(2, mousePressedEventsIntercepted) + + global mouseReleasedEventsIntercepted + self.assertEqual(2, mouseReleasedEventsIntercepted) + + global mouseEnteredEventsIntercepted + self.assertEqual(1, mouseEnteredEventsIntercepted) + + global mouseExitedEventsIntercepted + self.assertEqual(0, mouseExitedEventsIntercepted) # close document self.ui_test.close_doc() _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
