diff options
author | Xisco Fauli <xiscofauli@libreoffice.org> | 2021-04-06 23:54:49 +0200 |
---|---|---|
committer | Xisco Fauli <xiscofauli@libreoffice.org> | 2021-04-07 09:49:36 +0200 |
commit | 795a3ad8efa8b418f3c6477379c13560c3b4b890 (patch) | |
tree | 32cf83a8722b3ad66bec5ecda7079f4b64fb4855 /sd/qa | |
parent | 9ac1d3ac65b198f739421f39ab3adc65d35a0908 (diff) |
tdf#141297: sd: Add UItest
Change-Id: I0e0a7869b77719d5080e6f4df83159251bed2f42
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113708
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Diffstat (limited to 'sd/qa')
-rw-r--r-- | sd/qa/uitest/impress_tests/data/LibreOffice.jpg | bin | 0 -> 18218 bytes | |||
-rw-r--r-- | sd/qa/uitest/impress_tests/tdf141297.py | 97 |
2 files changed, 97 insertions, 0 deletions
diff --git a/sd/qa/uitest/impress_tests/data/LibreOffice.jpg b/sd/qa/uitest/impress_tests/data/LibreOffice.jpg Binary files differnew file mode 100644 index 000000000000..23812dcfdd7e --- /dev/null +++ b/sd/qa/uitest/impress_tests/data/LibreOffice.jpg diff --git a/sd/qa/uitest/impress_tests/tdf141297.py b/sd/qa/uitest/impress_tests/tdf141297.py new file mode 100644 index 000000000000..4140f40aadb7 --- /dev/null +++ b/sd/qa/uitest/impress_tests/tdf141297.py @@ -0,0 +1,97 @@ +# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-offset: 4 -*- +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +from uitest.framework import UITestCase +from libreoffice.uno.propertyvalue import mkPropertyValues +from uitest.uihelper.common import get_state_as_dict, get_url_for_data_file +from org.libreoffice.unotest import systemPathToFileUrl +from tempfile import TemporaryDirectory +import os.path + +class tdf141297(UITestCase): + + def test_tdf141297(self): + + self.ui_test.create_doc_in_start_center("impress") + + xTemplateDlg = self.xUITest.getTopFocusWindow() + xCancelBtn = xTemplateDlg.getChild("close") + self.ui_test.close_dialog_through_button(xCancelBtn) + + self.ui_test.execute_dialog_through_command(".uno:InsertGraphic") + + xOpenDialog = self.xUITest.getTopFocusWindow() + + xFileName = xOpenDialog.getChild("file_name") + xFileName.executeAction("TYPE", mkPropertyValues({"TEXT": get_url_for_data_file("LibreOffice.jpg")})) + + xLink = xOpenDialog.getChild("link") + self.assertEqual("false", get_state_as_dict(xLink)['Selected']) + + xLink.executeAction("CLICK", tuple()) + + xOpenBtn = xOpenDialog.getChild("open") + xOpenBtn.executeAction("CLICK", tuple()) + + #Confirmation dialog is displayed + xWarnDialog = self.xUITest.getTopFocusWindow() + xOK = xWarnDialog.getChild("ok") + self.ui_test.close_dialog_through_button(xOK) + + self.ui_test.execute_dialog_through_command(".uno:ManageLinks") + + xDialog = self.xUITest.getTopFocusWindow() + + sLinks = "TB_LINKS" + xLinks = xDialog.getChild(sLinks) + self.assertEqual(1, len(xLinks.getChildren())) + + sFileName = "FULL_FILE_NAME" + xFileName = xDialog.getChild(sFileName) + self.assertTrue(get_state_as_dict(xFileName)["Text"].endswith("/LibreOffice.jpg")) + + sBreakLink = "BREAK_LINK" + xBreakLink = xDialog.getChild(sBreakLink) + + self.ui_test.execute_blocking_action(xBreakLink.executeAction, + args=("CLICK", tuple()), dialog_element="yes") + + xClose = xDialog.getChild("close") + self.ui_test.close_dialog_through_button(xClose) + + with TemporaryDirectory() as tempdir: + xFilePath = os.path.join(tempdir, "tdf141297-tmp.odp") + + # Save Copy as + self.ui_test.execute_dialog_through_command(".uno:SaveAs") + xDialog = self.xUITest.getTopFocusWindow() + + xFileName = xDialog.getChild("file_name") + xFileName.executeAction("TYPE", mkPropertyValues({"KEYCODE":"CTRL+A"})) + xFileName.executeAction("TYPE", mkPropertyValues({"KEYCODE":"BACKSPACE"})) + xFileName.executeAction("TYPE", mkPropertyValues({"TEXT": xFilePath})) + + xOpenBtn = xDialog.getChild("open") + self.ui_test.close_dialog_through_button(xOpenBtn) + + # Close the Writer document + self.ui_test.close_doc() + + self.ui_test.load_file(systemPathToFileUrl(xFilePath)) + + self.xUITest.executeCommand(".uno:ManageLinks") + + # Since the image is no longer linked, the link dialog is not open. + # Without the fix in place, this dialog would have been opened + xMainWin = self.xUITest.getTopFocusWindow() + self.assertTrue(sLinks not in xMainWin.getChildren()) + self.assertTrue(sFileName not in xMainWin.getChildren()) + self.assertTrue(sBreakLink not in xMainWin.getChildren()) + self.assertTrue("impress_win" in xMainWin.getChildren()) + + self.ui_test.close_doc() + +# vim: set shiftwidth=4 softtabstop=4 expandtab: |