diff options
Diffstat (limited to 'sw/qa/uitest/findBar/findbar.py')
-rw-r--r-- | sw/qa/uitest/findBar/findbar.py | 126 |
1 files changed, 74 insertions, 52 deletions
diff --git a/sw/qa/uitest/findBar/findbar.py b/sw/qa/uitest/findBar/findbar.py index df973dc8e162..f22b99f1964c 100644 --- a/sw/qa/uitest/findBar/findbar.py +++ b/sw/qa/uitest/findBar/findbar.py @@ -8,64 +8,86 @@ # from uitest.framework import UITestCase -import time -from uitest.uihelper.common import get_state_as_dict, type_text +from uitest.uihelper.common import get_state_as_dict from libreoffice.uno.propertyvalue import mkPropertyValues -from uitest.debug import sleep #test Find Bar class FindBar(UITestCase): def test_find_bar(self): - 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": "5"})) # 5 is FindAll id - self.assertEqual(get_state_as_dict(xfind_bar)["CurrSelectedItemID"], "5") - 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": "4"})) # 4 is Find Next id - 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": "3"})) # 3 is Find Previous id - 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": "1"})) # 1 is for close - - self.ui_test.close_doc() + 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"})) + xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE": "RETURN"})) + xWriterEdit.executeAction("TYPE", mkPropertyValues({"TEXT": "LibréOffice Math"})) + xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE": "RETURN"})) + xWriterEdit.executeAction("TYPE", mkPropertyValues({"TEXT": "libreOffice Calc"})) + + # 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"], "15") + + # 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"], "LibreLibreLibrélibreLibre") + + # 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") + + # Press on Match Case in the Find Bar + xfind_bar.executeAction("CLICK", mkPropertyValues({"POS": "5"})) # 5 is Match Case pos + self.assertEqual(get_state_as_dict(xfind_bar)["CurrSelectedItemID"], "6") + self.assertEqual(get_state_as_dict(xfind_bar)["CurrSelectedItemText"], "Match Case") + self.assertEqual(get_state_as_dict(xfind_bar)["CurrSelectedItemCommand"], ".uno:MatchCase") + xfind_bar.executeAction("CLICK", mkPropertyValues({"POS": "4"})) # Press on Find All to see the effect of Match Case + self.assertEqual(get_state_as_dict(xWriterEdit)["SelectedText"], "LibreLibreLibréLibre") + + # Press on Match Diacritics in the Find Bar + xfind_bar.executeAction("CLICK", mkPropertyValues({"POS": "6"})) # 6 is Match Diacritics pos + self.assertEqual(get_state_as_dict(xfind_bar)["CurrSelectedItemID"], "7") + self.assertEqual(get_state_as_dict(xfind_bar)["CurrSelectedItemText"], "Match Diacritics") + self.assertEqual(get_state_as_dict(xfind_bar)["CurrSelectedItemCommand"], ".uno:MatchDiacritics") + xfind_bar.executeAction("CLICK", mkPropertyValues({"POS": "4"})) # Press on Find All to see the effect of Match Diacritics (with Match Case still active) + self.assertEqual(get_state_as_dict(xWriterEdit)["SelectedText"], "LibreLibreLibre") + + # Additional test with word containing diacritic and uppercase, match case and diacritics filters on + xfind.executeAction ("CLEAR", tuple()) + xfind.executeAction("TYPE", mkPropertyValues({"TEXT": "Libré"})) + xfind_bar.executeAction("CLICK", mkPropertyValues({"POS": "4"})) + self.assertEqual(get_state_as_dict(xWriterEdit)["SelectedText"], "Libré") + + # Close the Find Bar + xfind_bar.executeAction("CLICK", mkPropertyValues({"POS": "0"})) # 0 is pos for close # vim: set shiftwidth=4 softtabstop=4 expandtab: |