diff options
author | Xisco Fauli <xiscofauli@libreoffice.org> | 2020-03-12 17:34:12 +0100 |
---|---|---|
committer | Xisco FaulĂ <xiscofauli@libreoffice.org> | 2020-03-16 10:36:20 +0100 |
commit | 285313d2703aadbcf4007523b94c832b99e7c12b (patch) | |
tree | b28035c294e886fc5bd33fc70cf4c13d0a50b359 | |
parent | c5ecde36b8e980cc4a0ca88ccebd95ac3155bdd9 (diff) |
tdf#131291: Add UItest
Change-Id: I65aede1899d2c509fd52f8db0657ec3a5791f681
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90430
Tested-by: Jenkins
Reviewed-by: Xisco FaulĂ <xiscofauli@libreoffice.org>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90390
-rw-r--r-- | sc/qa/uitest/calc_tests/data/tdf131291.ods | bin | 0 -> 13814 bytes | |||
-rw-r--r-- | sc/qa/uitest/chart/chartDataLabels.py | 75 |
2 files changed, 75 insertions, 0 deletions
diff --git a/sc/qa/uitest/calc_tests/data/tdf131291.ods b/sc/qa/uitest/calc_tests/data/tdf131291.ods Binary files differnew file mode 100644 index 000000000000..76a87c2c226c --- /dev/null +++ b/sc/qa/uitest/calc_tests/data/tdf131291.ods diff --git a/sc/qa/uitest/chart/chartDataLabels.py b/sc/qa/uitest/chart/chartDataLabels.py index d1d1cf367a18..e4977c7bde8a 100644 --- a/sc/qa/uitest/chart/chartDataLabels.py +++ b/sc/qa/uitest/chart/chartDataLabels.py @@ -15,6 +15,8 @@ from uitest.debug import sleep import org.libreoffice.unotest import pathlib +from com.sun.star.lang import Locale + def get_url_for_data_file(file_name): return pathlib.Path(org.libreoffice.unotest.makeCopyFromTDOC(file_name)).as_uri() @@ -212,4 +214,77 @@ class chartDataLabels(UITestCase): self.ui_test.close_dialog_through_button(xOKBtn) self.ui_test.close_doc() + + def test_tdf131291(self): + calc_doc = self.ui_test.load_file(get_url_for_data_file("tdf131291.ods")) + xCalcDoc = self.xUITest.getTopFocusWindow() + gridwin = xCalcDoc.getChild("grid_window") + document = self.ui_test.get_component() + + gridwin.executeAction("SELECT", mkPropertyValues({"OBJECT": "Object 1"})) + gridwin.executeAction("ACTIVATE", tuple()) + 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.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) + + xNumberFormatBtn = xDialog.getChild("PB_NUMBERFORMAT") + + def handle_number_dlg(dialog): + categoryformat = dialog.getChild("categorylb") + formatted = dialog.getChild("formatted") + + # Select currency + categoryformat.getChild("4").executeAction("SELECT", tuple()); + + self.assertEqual(get_state_as_dict(categoryformat)["SelectEntryText"], "Currency") + + self.assertEqual(get_state_as_dict(formatted)["Text"], "[$$-409]#,##0.00;[RED]-[$$-409]#,##0.00") + + xOKButton = dialog.getChild("ok") + self.ui_test.close_dialog_through_button(xOKButton) + + self.ui_test.execute_blocking_action(xNumberFormatBtn.executeAction, args=('CLICK', ()), + dialog_handler=handle_number_dlg) + + xOKBtn = xDialog.getChild("ok") + self.ui_test.close_dialog_through_button(xOKBtn) + + xNumberFormats = document.Sheets[0].Charts[0].getEmbeddedObject().getNumberFormats() + xLocale = Locale() + xFormat = xNumberFormats.queryKey("[$$-409]#,##0.00;[RED]-[$$-409]#,##0.00", xLocale, True) + + self.assertTrue(xDataSeries[0].Label.ShowNumber) + self.assertFalse(xDataSeries[0].Label.ShowNumberInPercent) + self.assertEqual(xDataSeries[0].NumberFormat, xFormat) + + #reopen and verify the previous changes + self.ui_test.execute_dialog_through_action(xSeriesObj, "COMMAND", mkPropertyValues({"COMMAND": "FormatDataLabels"})) + xDialog = self.xUITest.getTopFocusWindow() + + self.assertTrue(xDataSeries[0].Label.ShowNumber) + self.assertFalse(xDataSeries[0].Label.ShowNumberInPercent) + # tdf#131291: it would fail here: AssertionError: 0 != 104 + self.assertEqual(xDataSeries[0].NumberFormat, xFormat) + + xOKBtn = xDialog.getChild("ok") + self.ui_test.close_dialog_through_button(xOKBtn) + + self.assertTrue(xDataSeries[0].Label.ShowNumber) + self.assertFalse(xDataSeries[0].Label.ShowNumberInPercent) + self.assertEqual(xDataSeries[0].NumberFormat, xFormat) + self.ui_test.close_doc() + # vim: set shiftwidth=4 softtabstop=4 expandtab: |