diff options
Diffstat (limited to 'uitest/calc_tests/create_chart.py')
-rw-r--r-- | uitest/calc_tests/create_chart.py | 148 |
1 files changed, 148 insertions, 0 deletions
diff --git a/uitest/calc_tests/create_chart.py b/uitest/calc_tests/create_chart.py new file mode 100644 index 000000000..cced0ac63 --- /dev/null +++ b/uitest/calc_tests/create_chart.py @@ -0,0 +1,148 @@ +# -*- 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 libreoffice.uno.propertyvalue import mkPropertyValues + +from uitest.framework import UITestCase +from uitest.uihelper.calc import enter_text_to_cell + +import time +import unittest + +class CalcChartUIDemo(UITestCase): + + def create_insert_chart_dialog(self): + self.ui_test.execute_dialog_through_command(".uno:InsertObjectChart") + # time.sleep(1) # ideally wait for a creation event + return self.xUITest.getTopFocusWindow() + + def fill_spreadsheet(self): + xCalcDoc = self.xUITest.getTopFocusWindow() + xGridWindow = xCalcDoc.getChild("grid_window") + + enter_text_to_cell(xGridWindow, "A1", "col1") + enter_text_to_cell(xGridWindow, "B1", "col2") + enter_text_to_cell(xGridWindow, "C1", "col3") + enter_text_to_cell(xGridWindow, "A2", "1") + enter_text_to_cell(xGridWindow, "B2", "3") + enter_text_to_cell(xGridWindow, "C2", "5") + + xGridWindow.executeAction("SELECT", mkPropertyValues({"RANGE": "A1:C2"})) + + def test_cancel_immediately(self): + + self.ui_test.create_doc_in_start_center("calc") + + self.fill_spreadsheet() + + xChartDlg = self.create_insert_chart_dialog(); + + xCancelBtn = xChartDlg.getChild("cancel") + self.ui_test.close_dialog_through_button(xCancelBtn) + + self.ui_test.close_doc() + + def test_create_from_first_page(self): + + self.ui_test.create_doc_in_start_center("calc") + + self.fill_spreadsheet() + + xChartDlg = self.create_insert_chart_dialog(); + + xOkBtn = xChartDlg.getChild("finish") + self.ui_test.close_dialog_through_button(xOkBtn) + + self.ui_test.close_doc() + + def test_create_from_second_page(self): + + self.ui_test.create_doc_in_start_center("calc") + + self.fill_spreadsheet() + + xChartDlg = self.create_insert_chart_dialog(); + + xNextBtn = xChartDlg.getChild("next") + xNextBtn.executeAction("CLICK", tuple()) + + xDataInRows = xChartDlg.getChild("RB_DATAROWS") + xDataInRows.executeAction("CLICK", tuple()) + + xDataInCols = xChartDlg.getChild("RB_DATACOLS") + xDataInCols.executeAction("CLICK", tuple()) + + xCancelBtn = xChartDlg.getChild("finish") + self.ui_test.close_dialog_through_button(xCancelBtn) + + self.ui_test.close_doc() + + def test_deselect_chart(self): + self.ui_test.create_doc_in_start_center("calc") + + self.fill_spreadsheet() + + xCalcDoc = self.xUITest.getTopFocusWindow() + xGridWindow = xCalcDoc.getChild("grid_window") + + xChartDlg = self.create_insert_chart_dialog(); + + xNextBtn = xChartDlg.getChild("finish") + self.ui_test.close_dialog_through_button(xNextBtn) + + xGridWindow.executeAction("DESELECT", mkPropertyValues({"OBJECT": ""})) + + time.sleep(2) + + self.ui_test.close_doc() + + def test_activate_chart(self): + + self.ui_test.create_doc_in_start_center("calc") + + self.fill_spreadsheet() + + xCalcDoc = self.xUITest.getTopFocusWindow() + xGridWindow = xCalcDoc.getChild("grid_window") + + xChartDlg = self.create_insert_chart_dialog(); + + xNextBtn = xChartDlg.getChild("finish") + self.ui_test.close_dialog_through_button(xNextBtn) + + xGridWindow.executeAction("DESELECT", mkPropertyValues({"OBJECT": ""})) + + xGridWindow.executeAction("SELECT", mkPropertyValues({"OBJECT": "Object 1"})) + xGridWindow.executeAction("ACTIVATE", tuple()) + + xGridWindow.executeAction("DESELECT", mkPropertyValues({"OBJECT": ""})) + + self.ui_test.close_doc() + + def select_chart_element(self): + + self.ui_test.create_doc_in_start_center("calc") + + self.fill_spreadsheet() + + xCalcDoc = self.xUITest.getTopFocusWindow() + xGridWindow = xCalcDoc.getChild("grid_window") + + xChartDlg = self.create_insert_chart_dialog(); + + xNextBtn = xChartDlg.getChild("finish") + self.ui_test.close_dialog_through_button(xNextBtn) + + xGridWindow.executeAction("DESELECT", mkPropertyValues({"OBJECT": ""})) + + xGridWindow.executeAction("SELECT", mkPropertyValues({"OBJECT": "Object 1"})) + xGridWindow.executeAction("ACTIVATE", tuple()) + + xCalcDoc = self.xUITest.getTopFocusWindow() + self.ui_test.close_doc() + +# vim: set shiftwidth=4 softtabstop=4 expandtab: |