From 6a1cb765cd70c82c6b3d67d3fe5dda9e97786ad3 Mon Sep 17 00:00:00 2001 From: Xisco Fauli Date: Thu, 12 Mar 2020 13:52:18 +0100 Subject: uitest: chartDataLabels.py: assert changes in chart MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also removed commented code. The new asserts also check the changes done are not overwritten after reopening the dialog Change-Id: Icc7d1950ace395b88647658b3eab1b5ec35e467c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90429 Tested-by: Jenkins Reviewed-by: Xisco FaulĂ­ --- sc/qa/uitest/chart/chartDataLabels.py | 77 ++++++++++++++++++++++++----------- 1 file changed, 54 insertions(+), 23 deletions(-) (limited to 'sc') diff --git a/sc/qa/uitest/chart/chartDataLabels.py b/sc/qa/uitest/chart/chartDataLabels.py index c4e61d5961a8..6b4d78fc5ec7 100644 --- a/sc/qa/uitest/chart/chartDataLabels.py +++ b/sc/qa/uitest/chart/chartDataLabels.py @@ -34,12 +34,24 @@ class chartDataLabels(UITestCase): xChartMainTop = self.xUITest.getTopFocusWindow() xChartMain = xChartMainTop.getChild("chart_window") xSeriesObj = xChartMain.getChild("CID/D=0:CS=0:CT=0:Series=0") + + xDataSeries = document.Sheets[0].Charts[0].getEmbeddedObject().getFirstDiagram().CoordinateSystems[0].ChartTypes[0].DataSeries + self.assertFalse(xDataSeries[0].Label.ShowNumber) + self.assertFalse(xDataSeries[0].Label.ShowCategoryName) + self.assertFalse(xDataSeries[0].Label.ShowLegendSymbol) + self.assertEqual(xDataSeries[0].LabelSeparator, " ") + self.ui_test.execute_dialog_through_action(xSeriesObj, "COMMAND", mkPropertyValues({"COMMAND": "InsertMenuDataLabels"})) xDialog = self.xUITest.getTopFocusWindow() xTabs = xDialog.getChild("tabcontrol") select_pos(xTabs, "1") + self.assertTrue(xDataSeries[0].Label.ShowNumber) + self.assertFalse(xDataSeries[0].Label.ShowCategoryName) + self.assertFalse(xDataSeries[0].Label.ShowLegendSymbol) + self.assertEqual(xDataSeries[0].LabelSeparator, " ") + valueAsNumber = xDialog.getChild("CB_VALUE_AS_NUMBER") category = xDialog.getChild("CB_CATEGORY") legend = xDialog.getChild("CB_SYMBOL") @@ -68,6 +80,11 @@ class chartDataLabels(UITestCase): xOKBtn = xDialog.getChild("ok") self.ui_test.close_dialog_through_button(xOKBtn) + self.assertTrue(xDataSeries[0].Label.ShowNumber) + self.assertTrue(xDataSeries[0].Label.ShowCategoryName) + self.assertTrue(xDataSeries[0].Label.ShowLegendSymbol) + self.assertEqual(xDataSeries[0].LabelSeparator, ", ") + #reopen and verify InsertMenuDataLabels dialog gridwin.executeAction("SELECT", mkPropertyValues({"OBJECT": "Object 1"})) gridwin.executeAction("ACTIVATE", tuple()) @@ -80,6 +97,11 @@ class chartDataLabels(UITestCase): xTabs = xDialog.getChild("tabcontrol") select_pos(xTabs, "1") + self.assertTrue(xDataSeries[0].Label.ShowNumber) + self.assertTrue(xDataSeries[0].Label.ShowCategoryName) + self.assertTrue(xDataSeries[0].Label.ShowLegendSymbol) + self.assertEqual(xDataSeries[0].LabelSeparator, ", ") + valueAsNumber = xDialog.getChild("CB_VALUE_AS_NUMBER") category = xDialog.getChild("CB_CATEGORY") legend = xDialog.getChild("CB_SYMBOL") @@ -101,6 +123,11 @@ class chartDataLabels(UITestCase): xOKBtn = xDialog.getChild("ok") self.ui_test.close_dialog_through_button(xOKBtn) + self.assertTrue(xDataSeries[0].Label.ShowNumber) + self.assertTrue(xDataSeries[0].Label.ShowCategoryName) + self.assertTrue(xDataSeries[0].Label.ShowLegendSymbol) + self.assertEqual(xDataSeries[0].LabelSeparator, ", ") + self.ui_test.close_doc() def test_chart_data_labels_percentage_dialog(self): @@ -114,12 +141,22 @@ class chartDataLabels(UITestCase): xChartMainTop = self.xUITest.getTopFocusWindow() xChartMain = xChartMainTop.getChild("chart_window") xSeriesObj = xChartMain.getChild("CID/D=0:CS=0:CT=0:Series=0") + + xDataSeries = document.Sheets[0].Charts[0].getEmbeddedObject().getFirstDiagram().CoordinateSystems[0].ChartTypes[0].DataSeries + self.assertTrue(xDataSeries[0].Label.ShowNumber) + self.assertFalse(xDataSeries[0].Label.ShowNumberInPercent) + self.assertIsNone(xDataSeries[0].PercentageNumberFormat) + self.ui_test.execute_dialog_through_action(xSeriesObj, "COMMAND", mkPropertyValues({"COMMAND": "FormatDataLabels"})) xDialog = self.xUITest.getTopFocusWindow() xTabs = xDialog.getChild("tabcontrol") select_pos(xTabs, "1") + self.assertTrue(xDataSeries[0].Label.ShowNumber) + self.assertFalse(xDataSeries[0].Label.ShowNumberInPercent) + self.assertIsNone(xDataSeries[0].PercentageNumberFormat) + valueAsNumber = xDialog.getChild("CB_VALUE_AS_NUMBER") valueAsPercentage = xDialog.getChild("CB_VALUE_AS_PERCENTAGE") category = xDialog.getChild("CB_CATEGORY") @@ -136,7 +173,6 @@ class chartDataLabels(UITestCase): #button Percentage format def handle_perc_dlg(dialog): -# print(dialog.getChildren()) sourceformat = dialog.getChild("sourceformat") decimalsed = dialog.getChild("decimalsed") leadzerosed = dialog.getChild("leadzerosed") @@ -151,7 +187,7 @@ class chartDataLabels(UITestCase): thousands.executeAction("CLICK", tuple()) self.assertEqual(get_state_as_dict(formatted)["Text"], "#,#00.0%;[RED]-#,#00.0%") - xOKButton = dialog.getChild("cancel") + xOKButton = dialog.getChild("ok") self.ui_test.close_dialog_through_button(xOKButton) self.ui_test.execute_blocking_action(buttonPercentage.executeAction, args=('CLICK', ()), @@ -163,6 +199,14 @@ class chartDataLabels(UITestCase): xOKBtn = xDialog.getChild("ok") self.ui_test.close_dialog_through_button(xOKBtn) + xNumberFormats = document.Sheets[0].Charts[0].getEmbeddedObject().getNumberFormats() + xLocale = Locale('en', 'US', '') + xFormat = xNumberFormats.queryKey("#,#00.0%;[RED]-#,#00.0%", xLocale, True) + + self.assertFalse(xDataSeries[0].Label.ShowNumber) + self.assertTrue(xDataSeries[0].Label.ShowNumberInPercent) + self.assertEqual(xDataSeries[0].PercentageNumberFormat, xFormat) + #reopen and verify Percentage dialog gridwin.executeAction("SELECT", mkPropertyValues({"OBJECT": "Object 1"})) gridwin.executeAction("ACTIVATE", tuple()) @@ -175,6 +219,10 @@ class chartDataLabels(UITestCase): xTabs = xDialog.getChild("tabcontrol") select_pos(xTabs, "1") + self.assertFalse(xDataSeries[0].Label.ShowNumber) + self.assertTrue(xDataSeries[0].Label.ShowNumberInPercent) + self.assertEqual(xDataSeries[0].PercentageNumberFormat, xFormat) + valueAsNumber = xDialog.getChild("CB_VALUE_AS_NUMBER") valueAsPercentage = xDialog.getChild("CB_VALUE_AS_PERCENTAGE") category = xDialog.getChild("CB_CATEGORY") @@ -188,31 +236,14 @@ class chartDataLabels(UITestCase): self.assertEqual(get_state_as_dict(valueAsNumber)["Selected"], "false") self.assertEqual(get_state_as_dict(valueAsPercentage)["Selected"], "true") -# #button Percentage format- it doesn't works in test, but it works in reality -# def handle_perc_dlg(dialog): -# sourceformat = dialog.getChild("sourceformat") -# decimalsed = dialog.getChild("decimalsed") -# leadzerosed = dialog.getChild("leadzerosed") -# negnumred = dialog.getChild("negnumred") -# thousands = dialog.getChild("thousands") -# formatted = dialog.getChild("formatted") - -# self.assertEqual(get_state_as_dict(sourceformat)["Selected"], "false") -# self.assertEqual(get_state_as_dict(decimalsed)["Text"], "1") -# self.assertEqual(get_state_as_dict(leadzerosed)["Text"], "2") -# self.assertEqual(get_state_as_dict(negnumred)["Selected"], "true") -# self.assertEqual(get_state_as_dict(thousands)["Selected"], "true") -# self.assertEqual(get_state_as_dict(formatted)["Text"], "#,#00.0%;[RED]-#,#00.0%") - -# xOKButton = dialog.getChild("cancel") -# self.ui_test.close_dialog_through_button(xOKButton) - -# self.ui_test.execute_blocking_action(buttonPercentage.executeAction, args=('CLICK', ()), -# dialog_handler=handle_perc_dlg) xOKBtn = xDialog.getChild("ok") self.ui_test.close_dialog_through_button(xOKBtn) + self.assertFalse(xDataSeries[0].Label.ShowNumber) + self.assertTrue(xDataSeries[0].Label.ShowNumberInPercent) + self.assertEqual(xDataSeries[0].PercentageNumberFormat, xFormat) + self.ui_test.close_doc() def test_tdf131291(self): -- cgit