summaryrefslogtreecommitdiff
path: root/sd/qa/uitest/impress_tests/tdf153161.py
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2023-01-25 01:37:00 +0300
committerThorsten Behrens <thorsten.behrens@allotropia.de>2023-03-21 14:57:49 +0000
commitcd69836ee9e98a4c6ceaa716da8838ddac842054 (patch)
tree1408c233900529ae64a2211035b16854480ed4b1 /sd/qa/uitest/impress_tests/tdf153161.py
parentd64d7fe3819ca2a771a0c839122374fd9972f649 (diff)
tdf#153161: (Ab)use a call to XTextRange::getString to flush editscib-6.4-16
Restore the call (without checking its returned value), removed in commit d194474aabd699806cb3631bc8641dd0548b8026 ("tdf#151100: xText->getString() may be empty for content needing export", 2022-09-22), side effects of which obviously allow some object's changes to get flushed and saved. Change-Id: I62f27cd056c32ad76f79a4862e2f4a0964eaadef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146106 Tested-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149142 Tested-by: Thorsten Behrens <thorsten.behrens@allotropia.de> Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
Diffstat (limited to 'sd/qa/uitest/impress_tests/tdf153161.py')
-rw-r--r--sd/qa/uitest/impress_tests/tdf153161.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/sd/qa/uitest/impress_tests/tdf153161.py b/sd/qa/uitest/impress_tests/tdf153161.py
new file mode 100644
index 000000000000..23ffdef879d1
--- /dev/null
+++ b/sd/qa/uitest/impress_tests/tdf153161.py
@@ -0,0 +1,41 @@
+# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-offset: 4 -*-
+#
+# This file is part of the LibreOffice project.
+#
+# 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 libreoffice.uno.propertyvalue import mkPropertyValues
+from uitest.framework import UITestCase
+import org.libreoffice.unotest
+import pathlib
+
+def get_url_for_data_file(file_name):
+ return pathlib.Path(org.libreoffice.unotest.makeCopyFromTDOC(file_name)).as_uri()
+
+class TestTdf153161(UITestCase):
+
+ def testTdf153161(self):
+
+ document = self.ui_test.load_file(get_url_for_data_file('tdf153161_FlushToSave.odp'))
+ oldText = document.DrawPages[0].getByIndex(1).String
+ self.assertTrue(oldText.startswith('在没有版本控制系统的时期'))
+
+ xImpressDoc = self.xUITest.getTopFocusWindow()
+ xEditWin = xImpressDoc.getChild('impress_win')
+ xEditWin.executeAction('SELECT', mkPropertyValues({'OBJECT':'Unnamed Drawinglayer object 1'}))
+
+ # Type something, getting into text editing mode (appending) automatically
+ xEditWin.executeAction('TYPE', mkPropertyValues({'TEXT': 'Foo Bar'}))
+ xToolkit = self.xContext.ServiceManager.createInstance('com.sun.star.awt.Toolkit')
+ xToolkit.processEventsToIdle()
+ self.xUITest.executeCommand('.uno:Save')
+ self.xUITest.executeCommand('.uno:Reload')
+
+ # Reload and check that the edit was saved
+ document = self.ui_test.get_component()
+ self.assertEqual(oldText + 'Foo Bar', document.DrawPages[0].getByIndex(1).String)
+
+# vim: set shiftwidth=4 softtabstop=4 expandtab: