sc/Module_sc.mk                                |    1 
 sc/UITest_search_replace.mk                    |   15 +++++
 sc/qa/uitest/search_replace/data/tdf106194.ods |binary
 sc/qa/uitest/search_replace/replace.py         |   68 +++++++++++++++++++++++++
 4 files changed, 84 insertions(+)

New commits:
commit 0bc1e8104719b1ed9f8271f9dde407f10fb88df0
Author: Markus Mohrhard <markus.mohrh...@googlemail.com>
Date:   Sat Apr 8 22:23:54 2017 +0200

    add test for tdf#106194
    
    Change-Id: I63ae36e0e218e7e40ed28024d91b0d7a9654e965
    Reviewed-on: https://gerrit.libreoffice.org/36305
    Reviewed-by: Markus Mohrhard <markus.mohrh...@googlemail.com>
    Tested-by: Markus Mohrhard <markus.mohrh...@googlemail.com>

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
Binary files /dev/null and b/sc/qa/uitest/search_replace/data/tdf106194.ods 
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()
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to