diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
commit | ed5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch) | |
tree | 7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /sw/qa/uitest/findBar | |
parent | Initial commit. (diff) | |
download | libreoffice-upstream.tar.xz libreoffice-upstream.zip |
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'sw/qa/uitest/findBar')
-rw-r--r-- | sw/qa/uitest/findBar/findbar.py | 68 | ||||
-rw-r--r-- | sw/qa/uitest/findBar/tdf136941.py | 67 | ||||
-rw-r--r-- | sw/qa/uitest/findBar/tdf138232.py | 52 | ||||
-rw-r--r-- | sw/qa/uitest/findBar/tdf88608.py | 56 |
4 files changed, 243 insertions, 0 deletions
diff --git a/sw/qa/uitest/findBar/findbar.py b/sw/qa/uitest/findBar/findbar.py new file mode 100644 index 000000000..577885411 --- /dev/null +++ b/sw/qa/uitest/findBar/findbar.py @@ -0,0 +1,68 @@ +# -*- 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 uitest.framework import UITestCase +from uitest.uihelper.common import get_state_as_dict +from libreoffice.uno.propertyvalue import mkPropertyValues + +#test Find Bar +class FindBar(UITestCase): + + def test_find_bar(self): + + with self.ui_test.create_doc_in_start_center("writer"): + xWriterDoc = self.xUITest.getTopFocusWindow() + xWriterEdit = xWriterDoc.getChild("writer_edit") + + # Type some lines to search for words on them + xWriterEdit.executeAction("TYPE", mkPropertyValues({"TEXT": "LibreOffice"})) + xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE": "RETURN"})) + xWriterEdit.executeAction("TYPE", mkPropertyValues({"TEXT": "LibreOffice Writer"})) + xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE": "RETURN"})) + xWriterEdit.executeAction("TYPE", mkPropertyValues({"TEXT": "LibreOffice Calc"})) + xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE": "RETURN"})) + xWriterEdit.executeAction("TYPE", mkPropertyValues({"TEXT": "The Document Foundation"})) + + # open the Find Bar + xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE": "CTRL+f"})) + + # Type the Word that we want to search for it + xfind = xWriterDoc.getChild("find") + xfind.executeAction("TYPE", mkPropertyValues({"TEXT": "Libre"})) + + # Select the Find Bar + xfind_bar = xWriterDoc.getChild("FindBar") + self.assertEqual(get_state_as_dict(xfind_bar)["ItemCount"], "14") + + # Press on FindAll in the Find Bar + xfind_bar.executeAction("CLICK", mkPropertyValues({"POS": "4"})) + self.assertEqual(get_state_as_dict(xfind_bar)["CurrSelectedItemID"], "5") # 5 is FindAll id for Pos 4 + self.assertEqual(get_state_as_dict(xfind_bar)["CurrSelectedItemText"], "Find All") + self.assertEqual(get_state_as_dict(xfind_bar)["CurrSelectedItemCommand"], ".uno:FindAll") + self.assertEqual(get_state_as_dict(xWriterEdit)["SelectedText"], "LibreLibreLibre") + + # Press on Find Next in the Find Bar + xfind_bar.executeAction("CLICK", mkPropertyValues({"POS": "3"})) # 3 is Find Next pos + self.assertEqual(get_state_as_dict(xfind_bar)["CurrSelectedItemID"], "4") + self.assertEqual(get_state_as_dict(xfind_bar)["CurrSelectedItemText"], "Find Next") + self.assertEqual(get_state_as_dict(xfind_bar)["CurrSelectedItemCommand"], ".uno:DownSearch") + self.assertEqual(get_state_as_dict(xWriterEdit)["SelectedText"], "Libre") + + # Press on Find Previous in the Find Bar + xfind_bar.executeAction("CLICK", mkPropertyValues({"POS": "2"})) # 2 is Find Previous pos + self.assertEqual(get_state_as_dict(xfind_bar)["CurrSelectedItemID"], "3") + self.assertEqual(get_state_as_dict(xfind_bar)["CurrSelectedItemText"], "Find Previous") + self.assertEqual(get_state_as_dict(xfind_bar)["CurrSelectedItemCommand"], ".uno:UpSearch") + self.assertEqual(get_state_as_dict(xWriterEdit)["SelectedText"], "Libre") + + # Close the Find Bar + xfind_bar.executeAction("CLICK", mkPropertyValues({"POS": "0"})) # 0 is pos for close + + +# vim: set shiftwidth=4 softtabstop=4 expandtab: diff --git a/sw/qa/uitest/findBar/tdf136941.py b/sw/qa/uitest/findBar/tdf136941.py new file mode 100644 index 000000000..f1d147b1a --- /dev/null +++ b/sw/qa/uitest/findBar/tdf136941.py @@ -0,0 +1,67 @@ +# -*- 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 uitest.framework import UITestCase +from uitest.uihelper.common import get_state_as_dict +from libreoffice.uno.propertyvalue import mkPropertyValues + +class tdf136941(UITestCase): + + def test_tdf136941(self): + + with self.ui_test.create_doc_in_start_center("writer"): + xWriterDoc = self.xUITest.getTopFocusWindow() + xWriterEdit = xWriterDoc.getChild("writer_edit") + + xWriterEdit.executeAction("TYPE", mkPropertyValues({"TEXT": "Hello World"})) + + self.xUITest.executeCommand("vnd.sun.star.findbar:FocusToFindbar") + + xfind = xWriterDoc.getChild("find") + xfind.executeAction("TYPE", mkPropertyValues({"TEXT": "Hello"})) + + self.assertEqual("Hello", get_state_as_dict(xfind)['Text']) + + xfind_bar = xWriterDoc.getChild("FindBar") + + # Search Next + xfind_bar.executeAction("CLICK", mkPropertyValues({"POS": "3"})) + + # Close button + xfind_bar.executeAction("CLICK", mkPropertyValues({"POS": "0"})) + + # Check the toolbar is closed + self.assertTrue("find" not in xWriterDoc.getChildren()) + self.assertEqual("Hello", get_state_as_dict(xWriterEdit)['SelectedText']) + + self.xUITest.executeCommand("vnd.sun.star.findbar:FocusToFindbar") + + xfind = xWriterDoc.getChild("find") + self.ui_test.wait_until_property_is_updated(xfind, 'SelectedText', "Hello") + self.assertEqual("Hello", get_state_as_dict(xfind)['SelectedText']) + + xfind.executeAction("TYPE", mkPropertyValues({"TEXT": "World"})) + + # Without the fix in place, this test would have failed with + # AssertionError: 'World' != 'WorldHello' + self.assertEqual("World", get_state_as_dict(xfind)['Text']) + + xfind_bar = xWriterDoc.getChild("FindBar") + + # Search Next + xfind_bar.executeAction("CLICK", mkPropertyValues({"POS": "3"})) + + # Close button + xfind_bar.executeAction("CLICK", mkPropertyValues({"POS": "0"})) + + # Check the toolbar is closed + self.assertTrue("find" not in xWriterDoc.getChildren()) + self.assertEqual("World", get_state_as_dict(xWriterEdit)['SelectedText']) + + +# vim: set shiftwidth=4 softtabstop=4 expandtab: diff --git a/sw/qa/uitest/findBar/tdf138232.py b/sw/qa/uitest/findBar/tdf138232.py new file mode 100644 index 000000000..060fe8de2 --- /dev/null +++ b/sw/qa/uitest/findBar/tdf138232.py @@ -0,0 +1,52 @@ +# -*- 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 uitest.framework import UITestCase +from uitest.uihelper.common import get_state_as_dict +from libreoffice.uno.propertyvalue import mkPropertyValues + +class tdf138232(UITestCase): + + def test_tdf138232(self): + + with self.ui_test.create_doc_in_start_center("writer"): + xWriterDoc = self.xUITest.getTopFocusWindow() + xWriterEdit = xWriterDoc.getChild("writer_edit") + + xWriterEdit.executeAction("TYPE", mkPropertyValues({"TEXT": "Hello"})) + xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE": "RETURN"})) + xWriterEdit.executeAction("TYPE", mkPropertyValues({"TEXT": "Hello"})) + + self.xUITest.executeCommand("vnd.sun.star.findbar:FocusToFindbar") + + xfind = xWriterDoc.getChild("find") + self.ui_test.wait_until_property_is_updated(xfind, 'HasFocus', "true") + self.assertEqual("true", get_state_as_dict(xfind)['HasFocus']) + + xfind.executeAction("TYPE", mkPropertyValues({"TEXT": "Hello"})) + self.assertEqual("Hello", get_state_as_dict(xfind)['Text']) + + xfind_bar = xWriterDoc.getChild("FindBar") + + # Click on Find All + xfind_bar.executeAction("CLICK", mkPropertyValues({"POS": "4"})) + + self.assertEqual("HelloHello", get_state_as_dict(xWriterEdit)['SelectedText']) + + xfind.executeAction("TYPE", mkPropertyValues({"TEXT": "World"})) + + # Without the fix in place, this test would have failed with + # AssertionError: 'HelloWorld' != 'World' + self.assertEqual("HelloWorld", get_state_as_dict(xfind)['Text']) + + xfind_bar.executeAction("CLICK", mkPropertyValues({"POS": "4"})) + + self.assertEqual("", get_state_as_dict(xWriterEdit)['SelectedText']) + + +# vim: set shiftwidth=4 softtabstop=4 expandtab: diff --git a/sw/qa/uitest/findBar/tdf88608.py b/sw/qa/uitest/findBar/tdf88608.py new file mode 100644 index 000000000..83e99d8e1 --- /dev/null +++ b/sw/qa/uitest/findBar/tdf88608.py @@ -0,0 +1,56 @@ +# -*- 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 uitest.framework import UITestCase +from uitest.uihelper.common import get_state_as_dict +from libreoffice.uno.propertyvalue import mkPropertyValues + +class tdf88608(UITestCase): + + def test_tdf88608(self): + + with self.ui_test.create_doc_in_start_center("writer"): + xWriterDoc = self.xUITest.getTopFocusWindow() + xWriterEdit = xWriterDoc.getChild("writer_edit") + + xWriterEdit.executeAction("TYPE", mkPropertyValues({"TEXT": "Hello World"})) + + self.xUITest.executeCommand("vnd.sun.star.findbar:FocusToFindbar") + + # Search a word that doesn't exist + xfind = xWriterDoc.getChild("find") + xfind.executeAction("TYPE", mkPropertyValues({"TEXT": "X"})) + self.assertEqual("X", get_state_as_dict(xfind)['Text']) + + xfind_bar = xWriterDoc.getChild("FindBar") + self.assertEqual('', get_state_as_dict(xfind_bar.getChild('label'))['Text']) + + # Search Next + xfind_bar.executeAction("CLICK", mkPropertyValues({"POS": "3"})) + + self.assertEqual('Search key not found', get_state_as_dict(xfind_bar.getChild('label'))['Text']) + + self.assertEqual("", get_state_as_dict(xWriterEdit)['SelectedText']) + + xfind.executeAction("TYPE", mkPropertyValues({"KEYCODE": "BACKSPACE"})) + xfind.executeAction("TYPE", mkPropertyValues({"TEXT": "World"})) + self.assertEqual("World", get_state_as_dict(xfind)['Text']) + + # Without the fix in place, this test would have failed with + # AssertionError: '' != 'Search key not found' + self.assertEqual('', get_state_as_dict(xfind_bar.getChild('label'))['Text']) + + # Search Next + xfind_bar.executeAction("CLICK", mkPropertyValues({"POS": "3"})) + + self.assertEqual('Reached the end of the document', get_state_as_dict(xfind_bar.getChild('label'))['Text']) + + self.assertEqual("World", get_state_as_dict(xWriterEdit)['SelectedText']) + + +# vim: set shiftwidth=4 softtabstop=4 expandtab: |