diff options
Diffstat (limited to 'sc/qa/uitest/calc_tests2/standardFilter.py')
-rw-r--r-- | sc/qa/uitest/calc_tests2/standardFilter.py | 233 |
1 files changed, 115 insertions, 118 deletions
diff --git a/sc/qa/uitest/calc_tests2/standardFilter.py b/sc/qa/uitest/calc_tests2/standardFilter.py index cc719db86c4e..25b6373c7e42 100644 --- a/sc/qa/uitest/calc_tests2/standardFilter.py +++ b/sc/qa/uitest/calc_tests2/standardFilter.py @@ -15,128 +15,125 @@ from libreoffice.uno.propertyvalue import mkPropertyValues class standardFilter(UITestCase): def test_standard_filter(self): - calc_doc = self.ui_test.load_file(get_url_for_data_file("standardFilter.ods")) - xCalcDoc = self.xUITest.getTopFocusWindow() - gridwin = xCalcDoc.getChild("grid_window") - document = self.ui_test.get_component() - gridwin.executeAction("SELECT", mkPropertyValues({"RANGE": "A1:C8"})) - - self.ui_test.execute_modeless_dialog_through_command(".uno:DataFilterStandardFilter") - xDialog = self.xUITest.getTopFocusWindow() - xfield1 = xDialog.getChild("field1") - xval1 = xDialog.getChild("val1") - xconnect2 = xDialog.getChild("connect2") - xfield2 = xDialog.getChild("field2") - xval2 = xDialog.getChild("val2") - - select_by_text(xfield1, "a") - xval1.executeAction("TYPE", mkPropertyValues({"TEXT":"1"})) - select_by_text(xconnect2, "OR") - select_by_text(xfield2, "b") - xval2.executeAction("TYPE", mkPropertyValues({"TEXT":"3"})) - xOKBtn = xDialog.getChild("ok") - self.ui_test.close_dialog_through_button(xOKBtn) - #3x down - should be on row 9 - gridwin.executeAction("SELECT", mkPropertyValues({"CELL": "A1"})) - gridwin.executeAction("TYPE", mkPropertyValues({"KEYCODE": "DOWN"})) - gridwin.executeAction("TYPE", mkPropertyValues({"KEYCODE": "DOWN"})) - gridwin.executeAction("TYPE", mkPropertyValues({"KEYCODE": "DOWN"})) - gridWinState = get_state_as_dict(gridwin) - self.assertEqual(gridWinState["CurrentRow"], "8") - #reopen filter and verify - gridwin.executeAction("TYPE", mkPropertyValues({"KEYCODE": "UP"})) - gridwin.executeAction("TYPE", mkPropertyValues({"KEYCODE": "UP"})) - gridwin.executeAction("TYPE", mkPropertyValues({"KEYCODE": "UP"})) - self.ui_test.execute_modeless_dialog_through_command(".uno:DataFilterStandardFilter") - xDialog = self.xUITest.getTopFocusWindow() - xfield1 = xDialog.getChild("field1") - xval1 = xDialog.getChild("val1") - xconnect2 = xDialog.getChild("connect2") - xfield2 = xDialog.getChild("field2") - xval2 = xDialog.getChild("val2") - - self.assertEqual(get_state_as_dict(xfield1)["SelectEntryText"], "a") - self.assertEqual(get_state_as_dict(xfield2)["SelectEntryText"], "b") - self.assertEqual(get_state_as_dict(xconnect2)["SelectEntryText"], "OR") - self.assertEqual(get_state_as_dict(xval1)["Text"], "1") - self.assertEqual(get_state_as_dict(xval2)["Text"], "3") - xOKBtn = xDialog.getChild("ok") - self.ui_test.close_dialog_through_button(xOKBtn) - self.ui_test.close_doc() + with self.ui_test.load_file(get_url_for_data_file("standardFilter.ods")) as calc_doc: + xCalcDoc = self.xUITest.getTopFocusWindow() + gridwin = xCalcDoc.getChild("grid_window") + document = self.ui_test.get_component() + gridwin.executeAction("SELECT", mkPropertyValues({"RANGE": "A1:C8"})) + + self.ui_test.execute_modeless_dialog_through_command(".uno:DataFilterStandardFilter") + xDialog = self.xUITest.getTopFocusWindow() + xfield1 = xDialog.getChild("field1") + xval1 = xDialog.getChild("val1") + xconnect2 = xDialog.getChild("connect2") + xfield2 = xDialog.getChild("field2") + xval2 = xDialog.getChild("val2") + + select_by_text(xfield1, "a") + xval1.executeAction("TYPE", mkPropertyValues({"TEXT":"1"})) + select_by_text(xconnect2, "OR") + select_by_text(xfield2, "b") + xval2.executeAction("TYPE", mkPropertyValues({"TEXT":"3"})) + xOKBtn = xDialog.getChild("ok") + self.ui_test.close_dialog_through_button(xOKBtn) + #3x down - should be on row 9 + gridwin.executeAction("SELECT", mkPropertyValues({"CELL": "A1"})) + gridwin.executeAction("TYPE", mkPropertyValues({"KEYCODE": "DOWN"})) + gridwin.executeAction("TYPE", mkPropertyValues({"KEYCODE": "DOWN"})) + gridwin.executeAction("TYPE", mkPropertyValues({"KEYCODE": "DOWN"})) + gridWinState = get_state_as_dict(gridwin) + self.assertEqual(gridWinState["CurrentRow"], "8") + #reopen filter and verify + gridwin.executeAction("TYPE", mkPropertyValues({"KEYCODE": "UP"})) + gridwin.executeAction("TYPE", mkPropertyValues({"KEYCODE": "UP"})) + gridwin.executeAction("TYPE", mkPropertyValues({"KEYCODE": "UP"})) + self.ui_test.execute_modeless_dialog_through_command(".uno:DataFilterStandardFilter") + xDialog = self.xUITest.getTopFocusWindow() + xfield1 = xDialog.getChild("field1") + xval1 = xDialog.getChild("val1") + xconnect2 = xDialog.getChild("connect2") + xfield2 = xDialog.getChild("field2") + xval2 = xDialog.getChild("val2") + + self.assertEqual(get_state_as_dict(xfield1)["SelectEntryText"], "a") + self.assertEqual(get_state_as_dict(xfield2)["SelectEntryText"], "b") + self.assertEqual(get_state_as_dict(xconnect2)["SelectEntryText"], "OR") + self.assertEqual(get_state_as_dict(xval1)["Text"], "1") + self.assertEqual(get_state_as_dict(xval2)["Text"], "3") + xOKBtn = xDialog.getChild("ok") + self.ui_test.close_dialog_through_button(xOKBtn) def test_standard_filter_copy_result(self): - calc_doc = self.ui_test.load_file(get_url_for_data_file("standardFilter.ods")) - xCalcDoc = self.xUITest.getTopFocusWindow() - gridwin = xCalcDoc.getChild("grid_window") - document = self.ui_test.get_component() - gridwin.executeAction("SELECT", mkPropertyValues({"RANGE": "A1:C8"})) - - self.ui_test.execute_modeless_dialog_through_command(".uno:DataFilterStandardFilter") - xDialog = self.xUITest.getTopFocusWindow() - xfield1 = xDialog.getChild("field1") - xval1 = xDialog.getChild("val1") - xconnect2 = xDialog.getChild("connect2") - xfield2 = xDialog.getChild("field2") - xval2 = xDialog.getChild("val2") - xcopyresult = xDialog.getChild("copyresult") - xedcopyarea = xDialog.getChild("edcopyarea") - select_by_text(xfield1, "a") - xval1.executeAction("TYPE", mkPropertyValues({"TEXT":"1"})) - select_by_text(xconnect2, "OR") - select_by_text(xfield2, "b") - xval2.executeAction("TYPE", mkPropertyValues({"TEXT":"3"})) - xcopyresult.executeAction("CLICK", tuple()) - xedcopyarea.executeAction("TYPE", mkPropertyValues({"TEXT":"F1"})) - xOKBtn = xDialog.getChild("ok") - self.ui_test.close_dialog_through_button(xOKBtn) - #verify - self.assertEqual(get_cell_by_position(document, 0, 5, 0).getString(), "a") - self.assertEqual(get_cell_by_position(document, 0, 6, 0).getString(), "b") - self.assertEqual(get_cell_by_position(document, 0, 7, 0).getString(), "c") - self.assertEqual(get_cell_by_position(document, 0, 5, 1).getValue(), 1) - self.assertEqual(get_cell_by_position(document, 0, 6, 1).getValue(), 2) - self.assertEqual(get_cell_by_position(document, 0, 7, 1).getValue(), 3) - self.assertEqual(get_cell_by_position(document, 0, 5, 2).getValue(), 2) - self.assertEqual(get_cell_by_position(document, 0, 6, 2).getValue(), 3) - self.assertEqual(get_cell_by_position(document, 0, 7, 2).getValue(), 4) - self.ui_test.close_doc() + with self.ui_test.load_file(get_url_for_data_file("standardFilter.ods")) as calc_doc: + xCalcDoc = self.xUITest.getTopFocusWindow() + gridwin = xCalcDoc.getChild("grid_window") + document = self.ui_test.get_component() + gridwin.executeAction("SELECT", mkPropertyValues({"RANGE": "A1:C8"})) + + self.ui_test.execute_modeless_dialog_through_command(".uno:DataFilterStandardFilter") + xDialog = self.xUITest.getTopFocusWindow() + xfield1 = xDialog.getChild("field1") + xval1 = xDialog.getChild("val1") + xconnect2 = xDialog.getChild("connect2") + xfield2 = xDialog.getChild("field2") + xval2 = xDialog.getChild("val2") + xcopyresult = xDialog.getChild("copyresult") + xedcopyarea = xDialog.getChild("edcopyarea") + select_by_text(xfield1, "a") + xval1.executeAction("TYPE", mkPropertyValues({"TEXT":"1"})) + select_by_text(xconnect2, "OR") + select_by_text(xfield2, "b") + xval2.executeAction("TYPE", mkPropertyValues({"TEXT":"3"})) + xcopyresult.executeAction("CLICK", tuple()) + xedcopyarea.executeAction("TYPE", mkPropertyValues({"TEXT":"F1"})) + xOKBtn = xDialog.getChild("ok") + self.ui_test.close_dialog_through_button(xOKBtn) + #verify + self.assertEqual(get_cell_by_position(document, 0, 5, 0).getString(), "a") + self.assertEqual(get_cell_by_position(document, 0, 6, 0).getString(), "b") + self.assertEqual(get_cell_by_position(document, 0, 7, 0).getString(), "c") + self.assertEqual(get_cell_by_position(document, 0, 5, 1).getValue(), 1) + self.assertEqual(get_cell_by_position(document, 0, 6, 1).getValue(), 2) + self.assertEqual(get_cell_by_position(document, 0, 7, 1).getValue(), 3) + self.assertEqual(get_cell_by_position(document, 0, 5, 2).getValue(), 2) + self.assertEqual(get_cell_by_position(document, 0, 6, 2).getValue(), 3) + self.assertEqual(get_cell_by_position(document, 0, 7, 2).getValue(), 4) def test_standard_filter_copy_result_next_sheet(self): - calc_doc = self.ui_test.load_file(get_url_for_data_file("standardFilter.ods")) - xCalcDoc = self.xUITest.getTopFocusWindow() - gridwin = xCalcDoc.getChild("grid_window") - document = self.ui_test.get_component() - gridwin.executeAction("SELECT", mkPropertyValues({"RANGE": "A1:C8"})) - - self.ui_test.execute_modeless_dialog_through_command(".uno:DataFilterStandardFilter") - xDialog = self.xUITest.getTopFocusWindow() - xfield1 = xDialog.getChild("field1") - xval1 = xDialog.getChild("val1") - xconnect2 = xDialog.getChild("connect2") - xfield2 = xDialog.getChild("field2") - xval2 = xDialog.getChild("val2") - xcopyresult = xDialog.getChild("copyresult") - xedcopyarea = xDialog.getChild("edcopyarea") - select_by_text(xfield1, "a") - xval1.executeAction("TYPE", mkPropertyValues({"TEXT":"1"})) - select_by_text(xconnect2, "OR") - select_by_text(xfield2, "b") - xval2.executeAction("TYPE", mkPropertyValues({"TEXT":"3"})) - xcopyresult.executeAction("CLICK", tuple()) - xedcopyarea.executeAction("TYPE", mkPropertyValues({"TEXT":"$Sheet2.$F$1"})) - xOKBtn = xDialog.getChild("ok") - self.ui_test.close_dialog_through_button(xOKBtn) - #verify - self.assertEqual(get_cell_by_position(document, 1, 5, 0).getString(), "a") - self.assertEqual(get_cell_by_position(document, 1, 6, 0).getString(), "b") - self.assertEqual(get_cell_by_position(document, 1, 7, 0).getString(), "c") - self.assertEqual(get_cell_by_position(document, 1, 5, 1).getValue(), 1) - self.assertEqual(get_cell_by_position(document, 1, 6, 1).getValue(), 2) - self.assertEqual(get_cell_by_position(document, 1, 7, 1).getValue(), 3) - self.assertEqual(get_cell_by_position(document, 1, 5, 2).getValue(), 2) - self.assertEqual(get_cell_by_position(document, 1, 6, 2).getValue(), 3) - self.assertEqual(get_cell_by_position(document, 1, 7, 2).getValue(), 4) - self.ui_test.close_doc() + with self.ui_test.load_file(get_url_for_data_file("standardFilter.ods")) as calc_doc: + xCalcDoc = self.xUITest.getTopFocusWindow() + gridwin = xCalcDoc.getChild("grid_window") + document = self.ui_test.get_component() + gridwin.executeAction("SELECT", mkPropertyValues({"RANGE": "A1:C8"})) + + self.ui_test.execute_modeless_dialog_through_command(".uno:DataFilterStandardFilter") + xDialog = self.xUITest.getTopFocusWindow() + xfield1 = xDialog.getChild("field1") + xval1 = xDialog.getChild("val1") + xconnect2 = xDialog.getChild("connect2") + xfield2 = xDialog.getChild("field2") + xval2 = xDialog.getChild("val2") + xcopyresult = xDialog.getChild("copyresult") + xedcopyarea = xDialog.getChild("edcopyarea") + select_by_text(xfield1, "a") + xval1.executeAction("TYPE", mkPropertyValues({"TEXT":"1"})) + select_by_text(xconnect2, "OR") + select_by_text(xfield2, "b") + xval2.executeAction("TYPE", mkPropertyValues({"TEXT":"3"})) + xcopyresult.executeAction("CLICK", tuple()) + xedcopyarea.executeAction("TYPE", mkPropertyValues({"TEXT":"$Sheet2.$F$1"})) + xOKBtn = xDialog.getChild("ok") + self.ui_test.close_dialog_through_button(xOKBtn) + #verify + self.assertEqual(get_cell_by_position(document, 1, 5, 0).getString(), "a") + self.assertEqual(get_cell_by_position(document, 1, 6, 0).getString(), "b") + self.assertEqual(get_cell_by_position(document, 1, 7, 0).getString(), "c") + self.assertEqual(get_cell_by_position(document, 1, 5, 1).getValue(), 1) + self.assertEqual(get_cell_by_position(document, 1, 6, 1).getValue(), 2) + self.assertEqual(get_cell_by_position(document, 1, 7, 1).getValue(), 3) + self.assertEqual(get_cell_by_position(document, 1, 5, 2).getValue(), 2) + self.assertEqual(get_cell_by_position(document, 1, 6, 2).getValue(), 3) + self.assertEqual(get_cell_by_position(document, 1, 7, 2).getValue(), 4) def test_standard_filter_case_sensitive(self): calc_doc = self.ui_test.create_doc_in_start_center("calc") |