summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2017-04-08 22:23:54 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2017-04-09 04:28:23 +0200
commit0bc1e8104719b1ed9f8271f9dde407f10fb88df0 (patch)
treee5f44464b3ad44d5d387d925f8e01d88267865d6
parent5a345f714f67594bb9e3f8914e89975a937872cf (diff)
add test for tdf#106194
Change-Id: I63ae36e0e218e7e40ed28024d91b0d7a9654e965 Reviewed-on: https://gerrit.libreoffice.org/36305 Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
-rw-r--r--sc/Module_sc.mk1
-rw-r--r--sc/UITest_search_replace.mk15
-rw-r--r--sc/qa/uitest/search_replace/data/tdf106194.odsbin0 -> 7588 bytes
-rw-r--r--sc/qa/uitest/search_replace/replace.py68
4 files changed, 84 insertions, 0 deletions
diff --git a/sc/Module_sc.mk b/sc/Module_sc.mk
index 4659f55ebfeb..312cbce4daa8 100644
--- a/sc/Module_sc.mk
+++ b/sc/Module_sc.mk
@@ -142,6 +142,7 @@ $(eval $(call gb_Module_add_uicheck_targets,sc,\
UITest_range_name \
UITest_hide_cols \
UITest_autofilter \
+ UITest_search_replace \
))
# vim: set noet sw=4 ts=4:
diff --git a/sc/UITest_search_replace.mk b/sc/UITest_search_replace.mk
new file mode 100644
index 000000000000..6888b3018c2f
--- /dev/null
+++ b/sc/UITest_search_replace.mk
@@ -0,0 +1,15 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# 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/.
+#
+
+$(eval $(call gb_UITest_UITest,search_replace))
+
+$(eval $(call gb_UITest_add_modules,search_replace,$(SRCDIR)/sc/qa/uitest,\
+ search_replace/ \
+))
+# vim: set noet sw=4 ts=4:
diff --git a/sc/qa/uitest/search_replace/data/tdf106194.ods b/sc/qa/uitest/search_replace/data/tdf106194.ods
new file mode 100644
index 000000000000..acc4199f3a49
--- /dev/null
+++ b/sc/qa/uitest/search_replace/data/tdf106194.ods
Binary files differ
diff --git a/sc/qa/uitest/search_replace/replace.py b/sc/qa/uitest/search_replace/replace.py
new file mode 100644
index 000000000000..ae28348be22f
--- /dev/null
+++ b/sc/qa/uitest/search_replace/replace.py
@@ -0,0 +1,68 @@
+# -*- 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 uitest.path import get_srcdir_url
+
+from libreoffice.uno.propertyvalue import mkPropertyValues
+from libreoffice.calc.document import get_row
+
+from uitest.uihelper.common import get_state_as_dict
+
+import time
+
+def get_url_for_data_file(file_name):
+ return get_srcdir_url() + "/sc/qa/uitest/search_replace/data/" + file_name
+
+class ReplaceTest(UITestCase):
+
+ def test_tdf106194(self):
+ doc = self.ui_test.load_file(get_url_for_data_file("tdf106194.ods"))
+
+ xGridWin = self.xUITest.getTopFocusWindow().getChild("grid_window")
+
+ self.ui_test.execute_modeless_dialog_through_command(".uno:SearchDialog")
+
+ xSearchDlg = self.xUITest.getTopFocusWindow()
+
+ xSearchTerm = xSearchDlg.getChild("searchterm")
+ xSearchTerm.executeAction("TYPE", mkPropertyValues({"TEXT": "1"}))
+ xReplaceTerm = xSearchDlg.getChild("replaceterm")
+ xReplaceTerm.executeAction("TYPE", mkPropertyValues({"TEXT": "2"}))
+
+ xSearchBtn = xSearchDlg.getChild("search")
+ xSearchBtn.executeAction("CLICK", tuple())
+
+ self.assertEqual(get_state_as_dict(xGridWin)["CurrentRow"], "1")
+ lastTopVisibleRow = int(get_state_as_dict(xGridWin)["TopVisibleRow"])
+
+ # start replacing
+ xReplaceBtn = xSearchDlg.getChild("replace")
+ xReplaceBtn.executeAction("CLICK", tuple())
+
+ # check position and visible range
+ self.assertEqual(get_state_as_dict(xGridWin)["CurrentRow"], "199")
+ currentTopVisibleRow = int(get_state_as_dict(xGridWin)["TopVisibleRow"])
+ self.assertGreater(currentTopVisibleRow, lastTopVisibleRow)
+
+ lastTopVisibleRow = currentTopVisibleRow
+
+ # replace again
+ xReplaceBtn.executeAction("CLICK", tuple())
+
+ # check position and visible range
+ self.assertEqual(get_state_as_dict(xGridWin)["CurrentRow"], "499")
+ currentTopVisibleRow = int(get_state_as_dict(xGridWin)["TopVisibleRow"])
+ self.assertGreater(currentTopVisibleRow, lastTopVisibleRow)
+
+ xReplaceBtn.executeAction("CLICK", tuple())
+
+ xCloseBtn = xSearchDlg.getChild("close")
+
+ self.ui_test.close_dialog_through_button(xCloseBtn)
+
+ self.ui_test.close_doc()