1 # -*- tab-width: 4; indent-tabs-mode: nil; py-indent-offset: 4 -*-
3 # This file is part of the LibreOffice project.
5 # This Source Code Form is subject to the terms of the Mozilla Public
6 # License, v. 2.0. If a copy of the MPL was not distributed with this
7 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 from uitest
.framework
import UITestCase
10 from uitest
.uihelper
.common
import change_measurement_unit
, select_pos
11 from uitest
.uihelper
.common
import get_state_as_dict
, get_url_for_data_file
12 from libreoffice
.uno
.propertyvalue
import mkPropertyValues
16 # Bug 98390 - Crash when modifying minor grid
17 class chartGrid(UITestCase
):
18 def test_tdf98390_chart_grid_dialog(self
):
19 with self
.ui_test
.load_file(get_url_for_data_file("chart.ods")):
21 with
change_measurement_unit(self
, "Centimeter"):
22 xCalcDoc
= self
.xUITest
.getTopFocusWindow()
23 gridwin
= xCalcDoc
.getChild("grid_window")
26 gridwin
.executeAction("SELECT", mkPropertyValues({"OBJECT": "Object 1"}))
27 gridwin
.executeAction("ACTIVATE", tuple())
28 xChartMainTop
= self
.xUITest
.getTopFocusWindow()
29 xChartMain
= xChartMainTop
.getChild("chart_window")
30 xSeriesObj
= xChartMain
.getChild("CID/D=0:CS=0:CT=0:Series=0")
31 with self
.ui_test
.execute_dialog_through_action(xSeriesObj
, "COMMAND", mkPropertyValues({"COMMAND": "DiagramGridYMain"})) as xDialog
:
33 tabcontrol
= xDialog
.getChild("tabcontrol")
34 select_pos(tabcontrol
, "0")
36 xWidth
= xDialog
.getChild("MTR_FLD_LINE_WIDTH")
37 transparency
= xDialog
.getChild("MTR_LINE_TRANSPARENT")
39 xWidth
.executeAction("UP", tuple())
40 transparency
.executeAction("UP", tuple())
43 #reopen and verify X Axis Major Grid
44 gridwin
.executeAction("SELECT", mkPropertyValues({"OBJECT": "Object 1"}))
45 gridwin
.executeAction("ACTIVATE", tuple())
46 xChartMainTop
= self
.xUITest
.getTopFocusWindow()
47 xChartMain
= xChartMainTop
.getChild("chart_window")
48 xSeriesObj
= xChartMain
.getChild("CID/D=0:CS=0:CT=0:Series=0")
49 with self
.ui_test
.execute_dialog_through_action(xSeriesObj
, "COMMAND", mkPropertyValues({"COMMAND": "DiagramGridYMain"})) as xDialog
:
51 tabcontrol
= xDialog
.getChild("tabcontrol")
52 select_pos(tabcontrol
, "0")
53 xWidth
= xDialog
.getChild("MTR_FLD_LINE_WIDTH")
54 transparency
= xDialog
.getChild("MTR_LINE_TRANSPARENT")
56 self
.assertEqual(get_state_as_dict(xWidth
)["Text"], "0.10 cm")
57 self
.assertEqual(get_state_as_dict(transparency
)["Text"], "5%")
60 gridwin
.executeAction("SELECT", mkPropertyValues({"OBJECT": "Object 1"}))
61 gridwin
.executeAction("ACTIVATE", tuple())
62 xChartMainTop
= self
.xUITest
.getTopFocusWindow()
63 xChartMain
= xChartMainTop
.getChild("chart_window")
64 xSeriesObj
= xChartMain
.getChild("CID/D=0:CS=0:CT=0:Series=0")
65 with self
.ui_test
.execute_dialog_through_action(xSeriesObj
, "COMMAND", mkPropertyValues({"COMMAND": "DiagramGridXMain"})) as xDialog
:
67 tabcontrol
= xDialog
.getChild("tabcontrol")
68 select_pos(tabcontrol
, "0")
70 xWidth
= xDialog
.getChild("MTR_FLD_LINE_WIDTH")
71 transparency
= xDialog
.getChild("MTR_LINE_TRANSPARENT")
73 xWidth
.executeAction("UP", tuple())
74 transparency
.executeAction("UP", tuple())
77 #reopen and verify Y Axis Major Grid
78 gridwin
.executeAction("SELECT", mkPropertyValues({"OBJECT": "Object 1"}))
79 gridwin
.executeAction("ACTIVATE", tuple())
80 xChartMainTop
= self
.xUITest
.getTopFocusWindow()
81 xChartMain
= xChartMainTop
.getChild("chart_window")
82 xSeriesObj
= xChartMain
.getChild("CID/D=0:CS=0:CT=0:Series=0")
83 with self
.ui_test
.execute_dialog_through_action(xSeriesObj
, "COMMAND", mkPropertyValues({"COMMAND": "DiagramGridXMain"})) as xDialog
:
85 tabcontrol
= xDialog
.getChild("tabcontrol")
86 select_pos(tabcontrol
, "0")
88 xWidth
= xDialog
.getChild("MTR_FLD_LINE_WIDTH")
89 transparency
= xDialog
.getChild("MTR_LINE_TRANSPARENT")
91 self
.assertEqual(get_state_as_dict(xWidth
)["Text"], "0.10 cm")
92 self
.assertEqual(get_state_as_dict(transparency
)["Text"], "5%")
96 gridwin
.executeAction("SELECT", mkPropertyValues({"OBJECT": "Object 1"}))
97 gridwin
.executeAction("ACTIVATE", tuple())
98 xChartMainTop
= self
.xUITest
.getTopFocusWindow()
99 xChartMain
= xChartMainTop
.getChild("chart_window")
100 xSeriesObj
= xChartMain
.getChild("CID/D=0:CS=0:CT=0:Series=0")
101 with self
.ui_test
.execute_dialog_through_action(xSeriesObj
, "COMMAND", mkPropertyValues({"COMMAND": "DiagramGridXHelp"})) as xDialog
:
103 tabcontrol
= xDialog
.getChild("tabcontrol")
104 select_pos(tabcontrol
, "0")
106 xWidth
= xDialog
.getChild("MTR_FLD_LINE_WIDTH")
107 transparency
= xDialog
.getChild("MTR_LINE_TRANSPARENT")
109 xWidth
.executeAction("UP", tuple())
110 transparency
.executeAction("UP", tuple())
113 #reopen and verify Y Axis Minor Grid
114 gridwin
.executeAction("SELECT", mkPropertyValues({"OBJECT": "Object 1"}))
115 gridwin
.executeAction("ACTIVATE", tuple())
116 xChartMainTop
= self
.xUITest
.getTopFocusWindow()
117 xChartMain
= xChartMainTop
.getChild("chart_window")
118 xSeriesObj
= xChartMain
.getChild("CID/D=0:CS=0:CT=0:Series=0")
119 with self
.ui_test
.execute_dialog_through_action(xSeriesObj
, "COMMAND", mkPropertyValues({"COMMAND": "DiagramGridXHelp"})) as xDialog
:
121 tabcontrol
= xDialog
.getChild("tabcontrol")
122 select_pos(tabcontrol
, "0")
123 xWidth
= xDialog
.getChild("MTR_FLD_LINE_WIDTH")
124 transparency
= xDialog
.getChild("MTR_LINE_TRANSPARENT")
126 self
.assertEqual(get_state_as_dict(xWidth
)["Text"], "0.10 cm")
127 self
.assertEqual(get_state_as_dict(transparency
)["Text"], "5%")
131 gridwin
.executeAction("SELECT", mkPropertyValues({"OBJECT": "Object 1"}))
132 gridwin
.executeAction("ACTIVATE", tuple())
133 xChartMainTop
= self
.xUITest
.getTopFocusWindow()
134 xChartMain
= xChartMainTop
.getChild("chart_window")
135 xSeriesObj
= xChartMain
.getChild("CID/D=0:CS=0:CT=0:Series=0")
136 with self
.ui_test
.execute_dialog_through_action(xSeriesObj
, "COMMAND", mkPropertyValues({"COMMAND": "DiagramGridYHelp"})) as xDialog
:
138 tabcontrol
= xDialog
.getChild("tabcontrol")
139 select_pos(tabcontrol
, "0")
141 xWidth
= xDialog
.getChild("MTR_FLD_LINE_WIDTH")
142 transparency
= xDialog
.getChild("MTR_LINE_TRANSPARENT")
144 xWidth
.executeAction("UP", tuple())
145 transparency
.executeAction("UP", tuple())
148 #reopen and verify X Axis Minor Grid
149 gridwin
.executeAction("SELECT", mkPropertyValues({"OBJECT": "Object 1"}))
150 gridwin
.executeAction("ACTIVATE", tuple())
151 xChartMainTop
= self
.xUITest
.getTopFocusWindow()
152 xChartMain
= xChartMainTop
.getChild("chart_window")
153 xSeriesObj
= xChartMain
.getChild("CID/D=0:CS=0:CT=0:Series=0")
154 with self
.ui_test
.execute_dialog_through_action(xSeriesObj
, "COMMAND", mkPropertyValues({"COMMAND": "DiagramGridYHelp"})) as xDialog
:
156 tabcontrol
= xDialog
.getChild("tabcontrol")
157 select_pos(tabcontrol
, "0")
158 xWidth
= xDialog
.getChild("MTR_FLD_LINE_WIDTH")
159 transparency
= xDialog
.getChild("MTR_LINE_TRANSPARENT")
161 self
.assertEqual(get_state_as_dict(xWidth
)["Text"], "0.10 cm")
162 self
.assertEqual(get_state_as_dict(transparency
)["Text"], "5%")
166 gridwin
.executeAction("SELECT", mkPropertyValues({"OBJECT": "Object 1"}))
167 gridwin
.executeAction("ACTIVATE", tuple())
168 xChartMainTop
= self
.xUITest
.getTopFocusWindow()
169 xChartMain
= xChartMainTop
.getChild("chart_window")
170 xSeriesObj
= xChartMain
.getChild("CID/D=0:CS=0:CT=0:Series=0")
171 with self
.ui_test
.execute_dialog_through_action(xSeriesObj
, "COMMAND", mkPropertyValues({"COMMAND": "DiagramGridAll"})) as xDialog
:
173 tabcontrol
= xDialog
.getChild("tabcontrol")
174 select_pos(tabcontrol
, "0")
176 xWidth
= xDialog
.getChild("MTR_FLD_LINE_WIDTH")
177 transparency
= xDialog
.getChild("MTR_LINE_TRANSPARENT")
179 xWidth
.executeAction("UP", tuple())
180 transparency
.executeAction("UP", tuple())
183 #reopen and verify X Axis Minor Grid (changed in All Grids)
184 gridwin
.executeAction("SELECT", mkPropertyValues({"OBJECT": "Object 1"}))
185 gridwin
.executeAction("ACTIVATE", tuple())
186 xChartMainTop
= self
.xUITest
.getTopFocusWindow()
187 xChartMain
= xChartMainTop
.getChild("chart_window")
188 xSeriesObj
= xChartMain
.getChild("CID/D=0:CS=0:CT=0:Series=0")
189 with self
.ui_test
.execute_dialog_through_action(xSeriesObj
, "COMMAND", mkPropertyValues({"COMMAND": "DiagramGridYHelp"})) as xDialog
:
191 tabcontrol
= xDialog
.getChild("tabcontrol")
192 select_pos(tabcontrol
, "0")
193 xWidth
= xDialog
.getChild("MTR_FLD_LINE_WIDTH")
194 transparency
= xDialog
.getChild("MTR_LINE_TRANSPARENT")
196 self
.assertEqual(get_state_as_dict(xWidth
)["Text"], "0.20 cm")
197 self
.assertEqual(get_state_as_dict(transparency
)["Text"], "10%")
200 # vim: set shiftwidth=4 softtabstop=4 expandtab: