sd/qa/uitest/impress_tests/data/LibreOffice.jpg |binary
 sd/qa/uitest/impress_tests/tdf141297.py         |   97 ++++++++++++++++++++++++
 2 files changed, 97 insertions(+)

New commits:
commit 795a3ad8efa8b418f3c6477379c13560c3b4b890
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Tue Apr 6 23:54:49 2021 +0200
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Wed Apr 7 09:49:36 2021 +0200

    tdf#141297: sd: Add UItest
    
    Change-Id: I0e0a7869b77719d5080e6f4df83159251bed2f42
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113708
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>

diff --git a/sd/qa/uitest/impress_tests/data/LibreOffice.jpg 
b/sd/qa/uitest/impress_tests/data/LibreOffice.jpg
new file mode 100644
index 000000000000..23812dcfdd7e
Binary files /dev/null and b/sd/qa/uitest/impress_tests/data/LibreOffice.jpg 
differ
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:
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to