summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenry Castro <hcastro@collabora.com>2021-04-09 17:32:56 -0400
committerHenry Castro <hcastro@collabora.com>2021-06-07 20:13:04 +0200
commit7f49c4eea51c6c84ee7adacd5ba45e1e0fc4c1f7 (patch)
tree2b4a22e44836f9cf3020eef505649edf24b070df
parentsd: Use template for export test modules (diff)
downloadcore-7f49c4eea51c6c84ee7adacd5ba45e1e0fc4c1f7.tar.gz
core-7f49c4eea51c6c84ee7adacd5ba45e1e0fc4c1f7.zip
sw/qa/uitest: close the dialog if thrown an exception
if a unit test opens a dialog and exception is thrown if does not exist a control, the terminate() method fails, the unit test will wait indefinitely for the subprocess to terminate. Change-Id: I6dc77b2db8ce042ead78d13ce57e91892cd2db90 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113896 Tested-by: Jenkins Reviewed-by: Henry Castro <hcastro@collabora.com>
-rw-r--r--sw/qa/uitest/writer_tests2/fontworks.py36
-rw-r--r--uitest/uitest/uihelper/guarded.py10
2 files changed, 26 insertions, 20 deletions
diff --git a/sw/qa/uitest/writer_tests2/fontworks.py b/sw/qa/uitest/writer_tests2/fontworks.py
index 4d4044ab2bd0..d9ef76c10602 100644
--- a/sw/qa/uitest/writer_tests2/fontworks.py
+++ b/sw/qa/uitest/writer_tests2/fontworks.py
@@ -10,6 +10,7 @@
from uitest.framework import UITestCase
from uitest.uihelper.common import get_state_as_dict
from libreoffice.uno.propertyvalue import mkPropertyValues
+from uitest.uihelper import guarded
#test FontWorks dialog
class fontWorksDialog(UITestCase):
@@ -18,26 +19,21 @@ class fontWorksDialog(UITestCase):
xWriterDoc = self.xUITest.getTopFocusWindow()
xWriterEdit = xWriterDoc.getChild("writer_edit")
- self.ui_test.execute_dialog_through_command(".uno:FontworkGalleryFloater")
- xDialog = self.xUITest.getTopFocusWindow()
-
- FontWorkSelector = xDialog.getChild("ctlFavoriteswin")
- # Select element with id (3)
- element3 = FontWorkSelector.getChild("2")
- element3.executeAction("SELECT", mkPropertyValues({}))
- print(get_state_as_dict(FontWorkSelector))
- self.assertEqual(get_state_as_dict(FontWorkSelector)["SelectedItemPos"], "2")
- self.assertEqual(get_state_as_dict(FontWorkSelector)["SelectedItemId"], "3")
- self.assertEqual(get_state_as_dict(FontWorkSelector)["VisibleCount"], "36")
-
- # Select element with id (7)
- element7 = FontWorkSelector.getChild("6")
- element7.executeAction("SELECT", mkPropertyValues({}))
- self.assertEqual(get_state_as_dict(FontWorkSelector)["SelectedItemPos"], "6")
- self.assertEqual(get_state_as_dict(FontWorkSelector)["SelectedItemId"], "7")
-
- xCloseBtn = xDialog.getChild("cancel")
- self.ui_test.close_dialog_through_button(xCloseBtn)
+ with guarded.execute_dialog_through_command(self, ".uno:FontworkGalleryFloater", close_button="cancel") as xDialog:
+ FontWorkSelector = xDialog.getChild("ctlFavoriteswin")
+ # Select element with id (3)
+ element3 = FontWorkSelector.getChild("2")
+ element3.executeAction("SELECT", mkPropertyValues({}))
+ print(get_state_as_dict(FontWorkSelector))
+ self.assertEqual(get_state_as_dict(FontWorkSelector)["SelectedItemPos"], "2")
+ self.assertEqual(get_state_as_dict(FontWorkSelector)["SelectedItemId"], "3")
+ self.assertEqual(get_state_as_dict(FontWorkSelector)["VisibleCount"], "36")
+
+ # Select element with id (7)
+ element7 = FontWorkSelector.getChild("6")
+ element7.executeAction("SELECT", mkPropertyValues({}))
+ self.assertEqual(get_state_as_dict(FontWorkSelector)["SelectedItemPos"], "6")
+ self.assertEqual(get_state_as_dict(FontWorkSelector)["SelectedItemId"], "7")
self.ui_test.close_doc()
diff --git a/uitest/uitest/uihelper/guarded.py b/uitest/uitest/uihelper/guarded.py
index b7e5ce099d1e..871fa697d584 100644
--- a/uitest/uitest/uihelper/guarded.py
+++ b/uitest/uitest/uihelper/guarded.py
@@ -28,4 +28,14 @@ def execute_dialog_through_action(testCase, ui_object, action, parameters = None
finally:
testCase.ui_test.close_dialog_through_button(xDialog.getChild(close_button))
+# Calls UITest.close_dialog_through_button at exit
+@contextmanager
+def execute_dialog_through_command(testCase, unoCommand, close_button = "ok"):
+ testCase.ui_test.execute_dialog_through_command(unoCommand)
+ xDialog = testCase.xUITest.getTopFocusWindow()
+ try:
+ yield xDialog
+ finally:
+ testCase.ui_test.close_dialog_through_button(xDialog.getChild(close_button))
+
# vim: set shiftwidth=4 softtabstop=4 expandtab: