Version 7.6.3.2-android, tag libreoffice-7.6.3.2-android
[LibreOffice.git] / sw / qa / uitest / navigator / movechapterupdown.py
blob6bcda9b3d4bba00bd774e3a3131b9af56a289e54
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/.
10 from uitest.framework import UITestCase
11 from libreoffice.uno.propertyvalue import mkPropertyValues
12 from uitest.uihelper.common import get_state_as_dict, get_url_for_data_file
14 class movechapterupdown(UITestCase):
16 def test_movechapterupdown(self):
18 with self.ui_test.load_file(get_url_for_data_file('MoveChapterUpDown.odt')):
19 xWriterDoc = self.xUITest.getTopFocusWindow()
20 xWriterEdit = xWriterDoc.getChild('writer_edit')
22 self.xUITest.executeCommand('.uno:Sidebar')
23 xWriterEdit.executeAction('SIDEBAR', mkPropertyValues({'PANEL': 'SwNavigatorPanel'}))
25 # wait until the navigator panel is available
26 xNavigatorPanel = self.ui_test.wait_until_child_is_available('NavigatorPanel')
28 # Given the document chapter structure:
29 # 1. One H1
30 # 1.1. one_A (H2)
31 # 1.2. one_B (H2)
32 # 2. Two (H1)
33 # A heading of level 3
34 # 2.1. Two_A (H2)
35 # 2.1. Two_B (H2)
36 # 3. Three (H1)
37 # 3.1. Three_A (H2)
38 # 3.2. Three_B (H2)
40 xNavigatorPanelContentTree = xNavigatorPanel.getChild("contenttree")
42 xNavigatorPanelContentTreeHeadings = xNavigatorPanelContentTree.getChild('0')
43 xNavigatorPanelContentTreeHeadings.executeAction("EXPAND", tuple())
46 # test a level 1 chapter move up then move down
49 # Double click on the "2. Two (H1)" entry to select and set focus
50 xHeadingsChild1 = xNavigatorPanelContentTreeHeadings.getChild('1')
51 self.assertEqual(get_state_as_dict(xHeadingsChild1)["Text"], "2. Two (H1)")
52 xHeadingsChild1.executeAction("DOUBLECLICK", tuple())
54 self.ui_test.wait_until_property_is_updated(xNavigatorPanelContentTree, "SelectEntryText", "2. Two (H1)")
56 # Click on the 'Move chapter up' button in the Navigator tool box
57 xNavigatorPanel = xWriterEdit.getChild("NavigatorPanel")
58 xToolBarContent6 = xNavigatorPanel.getChild("content6")
59 xToolBarContent6.executeAction("CLICK", mkPropertyValues({"POS": "4"}))
61 # Expected chapter order:
62 # 2. Two (H1)
63 # A heading of level 3
64 # 2.1. Two_A (H2)
65 # 2.1. Two_B (H2)
66 # 1. One (H1)
67 # 1.1. One_A (H2)
68 # 1.2. One_B (H2)
69 # 3. Three (H1)
70 # 3.1. Three_A (H2)
71 # 3.2. Three_B (H2)
73 xNavigatorPanelContentTreeHeadings = xNavigatorPanelContentTree.getChild('0')
75 xHeadingsChild0 = xNavigatorPanelContentTreeHeadings.getChild('0')
76 self.assertEqual(get_state_as_dict(xHeadingsChild0)["Text"], "2. Two (H1)")
77 xHeadingsChild0Child0 = xHeadingsChild0.getChild('0')
78 self.assertEqual(get_state_as_dict(xHeadingsChild0Child0)["Text"], "A heading of level 3")
79 xHeadingsChild0Child1 = xHeadingsChild0.getChild('1')
80 self.assertEqual(get_state_as_dict(xHeadingsChild0Child1)["Text"], "2.1. Two_A (H2)")
81 xHeadingsChild0Child2 = xHeadingsChild0.getChild('2')
82 self.assertEqual(get_state_as_dict(xHeadingsChild0Child2)["Text"], "2.1. Two_B (H2)")
84 xHeadingsChild1 = xNavigatorPanelContentTreeHeadings.getChild('1')
85 self.assertEqual(get_state_as_dict(xHeadingsChild1)["Text"], "1. One (H1)")
86 xHeadingsChild1Child0 = xHeadingsChild1.getChild('0')
87 self.assertEqual(get_state_as_dict(xHeadingsChild1Child0)["Text"], "1.1. One_A (H2)")
88 xHeadingsChild1Child1 = xHeadingsChild1.getChild('1')
89 self.assertEqual(get_state_as_dict(xHeadingsChild1Child1)["Text"], "1.2. One_B (H2)")
91 xHeadingsChild2 = xNavigatorPanelContentTreeHeadings.getChild('2')
92 self.assertEqual(get_state_as_dict(xHeadingsChild2)["Text"], "3. Three (H1)")
93 xHeadingsChild2Child0 = xHeadingsChild2.getChild('0')
94 self.assertEqual(get_state_as_dict(xHeadingsChild2Child0)["Text"], "3.1. Three_A (H2)")
95 xHeadingsChild2Child1 = xHeadingsChild2.getChild('1')
96 self.assertEqual(get_state_as_dict(xHeadingsChild2Child1)["Text"], "3.2. Three_B (H2)")
98 # Click on the 'Move chapter down' button in the Navigator tool box
99 xNavigatorPanel = xWriterEdit.getChild("NavigatorPanel")
100 xToolBarContent6 = xNavigatorPanel.getChild("content6")
101 xToolBarContent6.executeAction("CLICK", mkPropertyValues({"POS": "5"}))
103 # Expected chapter order is the original order
104 xNavigatorPanelContentTreeHeadings = xNavigatorPanelContentTree.getChild('0')
106 xHeadingsChild0 = xNavigatorPanelContentTreeHeadings.getChild('0')
107 self.assertEqual(get_state_as_dict(xHeadingsChild0)["Text"], "1. One (H1)")
108 xHeadingsChild0Child0 = xHeadingsChild0.getChild('0')
109 self.assertEqual(get_state_as_dict(xHeadingsChild0Child0)["Text"], "1.1. One_A (H2)")
110 xHeadingsChild0Child1 = xHeadingsChild0.getChild('1')
111 self.assertEqual(get_state_as_dict(xHeadingsChild0Child1)["Text"], "1.2. One_B (H2)")
113 xHeadingsChild1 = xNavigatorPanelContentTreeHeadings.getChild('1')
114 self.assertEqual(get_state_as_dict(xHeadingsChild1)["Text"], "2. Two (H1)")
115 xHeadingsChild1Child0 = xHeadingsChild1.getChild('0')
116 self.assertEqual(get_state_as_dict(xHeadingsChild1Child0)["Text"], "A heading of level 3")
117 xHeadingsChild1Child1 = xHeadingsChild1.getChild('1')
118 self.assertEqual(get_state_as_dict(xHeadingsChild1Child1)["Text"], "2.1. Two_A (H2)")
119 xHeadingsChild1Child2 = xHeadingsChild1.getChild('2')
120 self.assertEqual(get_state_as_dict(xHeadingsChild1Child2)["Text"], "2.1. Two_B (H2)")
122 xHeadingsChild2 = xNavigatorPanelContentTreeHeadings.getChild('2')
123 self.assertEqual(get_state_as_dict(xHeadingsChild2)["Text"], "3. Three (H1)")
124 xHeadingsChild2Child0 = xHeadingsChild2.getChild('0')
125 self.assertEqual(get_state_as_dict(xHeadingsChild2Child0)["Text"], "3.1. Three_A (H2)")
126 xHeadingsChild2Child1 = xHeadingsChild2.getChild('1')
127 self.assertEqual(get_state_as_dict(xHeadingsChild2Child1)["Text"], "3.2. Three_B (H2)")
130 # test a level 1 chapter move down then move up
133 # Double click on the "2. Two (H1)" entry to select and set focus
134 xHeadingsChild1 = xNavigatorPanelContentTreeHeadings.getChild('1')
135 self.assertEqual(get_state_as_dict(xHeadingsChild1)["Text"], "2. Two (H1)")
136 xHeadingsChild1.executeAction("DOUBLECLICK", tuple())
138 self.ui_test.wait_until_property_is_updated(xNavigatorPanelContentTree, "SelectEntryText", "2. Two (H1)")
140 # Click on the 'Move chapter down' button in the Navigator tool box
141 xNavigatorPanel = xWriterEdit.getChild("NavigatorPanel")
142 xToolBarContent6 = xNavigatorPanel.getChild("content6")
143 xToolBarContent6.executeAction("CLICK", mkPropertyValues({"POS": "5"}))
145 # Expected chapter order:
146 # 1. One (H1)
147 # 1.1. One_A (H2)
148 # 1.2. One_B (H2)
149 # 3. Three (H1)
150 # 3.1. Three_A (H2)
151 # 3.2. Three_B (H2)
152 # 2. Two (H1)
153 # A heading of level 3
154 # 2.1. Two_A (H2)
155 # 2.1. Two_B (H2)
157 xNavigatorPanelContentTreeHeadings = xNavigatorPanelContentTree.getChild('0')
159 xHeadingsChild0 = xNavigatorPanelContentTreeHeadings.getChild('0')
160 self.assertEqual(get_state_as_dict(xHeadingsChild0)["Text"], "1. One (H1)")
161 xHeadingsChild0Child0 = xHeadingsChild0.getChild('0')
162 self.assertEqual(get_state_as_dict(xHeadingsChild0Child0)["Text"], "1.1. One_A (H2)")
163 xHeadingsChild0Child1 = xHeadingsChild0.getChild('1')
164 self.assertEqual(get_state_as_dict(xHeadingsChild0Child1)["Text"], "1.2. One_B (H2)")
166 xHeadingsChild1 = xNavigatorPanelContentTreeHeadings.getChild('1')
167 self.assertEqual(get_state_as_dict(xHeadingsChild1)["Text"], "3. Three (H1)")
168 xHeadingsChild1Child0 = xHeadingsChild1.getChild('0')
169 self.assertEqual(get_state_as_dict(xHeadingsChild1Child0)["Text"], "3.1. Three_A (H2)")
170 xHeadingsChild1Child1 = xHeadingsChild1.getChild('1')
171 self.assertEqual(get_state_as_dict(xHeadingsChild1Child1)["Text"], "3.2. Three_B (H2)")
173 xHeadingsChild2 = xNavigatorPanelContentTreeHeadings.getChild('2')
174 self.assertEqual(get_state_as_dict(xHeadingsChild2)["Text"], "2. Two (H1)")
175 xHeadingsChild2Child0 = xHeadingsChild2.getChild('0')
176 self.assertEqual(get_state_as_dict(xHeadingsChild2Child0)["Text"], "A heading of level 3")
177 xHeadingsChild2Child1 = xHeadingsChild2.getChild('1')
178 self.assertEqual(get_state_as_dict(xHeadingsChild2Child1)["Text"], "2.1. Two_A (H2)")
179 xHeadingsChild2Child2 = xHeadingsChild2.getChild('2')
180 self.assertEqual(get_state_as_dict(xHeadingsChild2Child2)["Text"], "2.1. Two_B (H2)")
182 # Click on the 'Move chapter up' button in the Navigator tool box
183 xNavigatorPanel = xWriterEdit.getChild("NavigatorPanel")
184 xToolBarContent6 = xNavigatorPanel.getChild("content6")
185 xToolBarContent6.executeAction("CLICK", mkPropertyValues({"POS": "4"}))
187 # Expected chapter order is the original order
188 xNavigatorPanelContentTreeHeadings = xNavigatorPanelContentTree.getChild('0')
190 xHeadingsChild0 = xNavigatorPanelContentTreeHeadings.getChild('0')
191 self.assertEqual(get_state_as_dict(xHeadingsChild0)["Text"], "1. One (H1)")
192 xHeadingsChild0Child0 = xHeadingsChild0.getChild('0')
193 self.assertEqual(get_state_as_dict(xHeadingsChild0Child0)["Text"], "1.1. One_A (H2)")
194 xHeadingsChild0Child1 = xHeadingsChild0.getChild('1')
195 self.assertEqual(get_state_as_dict(xHeadingsChild0Child1)["Text"], "1.2. One_B (H2)")
197 xHeadingsChild1 = xNavigatorPanelContentTreeHeadings.getChild('1')
198 self.assertEqual(get_state_as_dict(xHeadingsChild1)["Text"], "2. Two (H1)")
199 xHeadingsChild1Child0 = xHeadingsChild1.getChild('0')
200 self.assertEqual(get_state_as_dict(xHeadingsChild1Child0)["Text"], "A heading of level 3")
201 xHeadingsChild1Child1 = xHeadingsChild1.getChild('1')
202 self.assertEqual(get_state_as_dict(xHeadingsChild1Child1)["Text"], "2.1. Two_A (H2)")
203 xHeadingsChild1Child2 = xHeadingsChild1.getChild('2')
204 self.assertEqual(get_state_as_dict(xHeadingsChild1Child2)["Text"], "2.1. Two_B (H2)")
206 xHeadingsChild2 = xNavigatorPanelContentTreeHeadings.getChild('2')
207 self.assertEqual(get_state_as_dict(xHeadingsChild2)["Text"], "3. Three (H1)")
208 xHeadingsChild2Child0 = xHeadingsChild2.getChild('0')
209 self.assertEqual(get_state_as_dict(xHeadingsChild2Child0)["Text"], "3.1. Three_A (H2)")
210 xHeadingsChild2Child1 = xHeadingsChild2.getChild('1')
211 self.assertEqual(get_state_as_dict(xHeadingsChild2Child1)["Text"], "3.2. Three_B (H2)")
214 # test a sub chapter move chapter up then move down
217 # Double click on the "2.1. Two_A (H2)" entry to select and set focus
218 xHeadingsChild1 = xNavigatorPanelContentTreeHeadings.getChild('1')
219 xHeadingsChild1Child1 = xHeadingsChild1.getChild('1')
220 self.assertEqual(get_state_as_dict(xHeadingsChild1Child1)["Text"], "2.1. Two_A (H2)")
221 xHeadingsChild1Child1.executeAction("DOUBLECLICK", tuple())
223 self.ui_test.wait_until_property_is_updated(xNavigatorPanelContentTree, "SelectEntryText", "2.1. Two_A (H2)")
225 # Click on the 'Move chapter up' button in the Navigator tool box
226 xNavigatorPanel = xWriterEdit.getChild("NavigatorPanel")
227 xToolBarContent6 = xNavigatorPanel.getChild("content6")
228 xToolBarContent6.executeAction("CLICK", mkPropertyValues({"POS": "4"}))
230 # Expected chapter order:
231 # 1. One H1
232 # 1.1. one_A (H2)
233 # 1.2. one_B (H2)
234 # 2. Two (H1)
235 # 2.1. Two_A (H2)
236 # A heading of level 3
237 # 2.1. Two_B (H2)
238 # 3. Three (H1)
239 # 3.1. Three_A (H2)
240 # 3.2. Three_B (H2)
242 xNavigatorPanelContentTreeHeadings = xNavigatorPanelContentTree.getChild('0')
244 xHeadingsChild0 = xNavigatorPanelContentTreeHeadings.getChild('0')
245 self.assertEqual(get_state_as_dict(xHeadingsChild0)["Text"], "1. One (H1)")
246 xHeadingsChild0Child0 = xHeadingsChild0.getChild('0')
247 self.assertEqual(get_state_as_dict(xHeadingsChild0Child0)["Text"], "1.1. One_A (H2)")
248 xHeadingsChild0Child1 = xHeadingsChild0.getChild('1')
249 self.assertEqual(get_state_as_dict(xHeadingsChild0Child1)["Text"], "1.2. One_B (H2)")
251 xHeadingsChild1 = xNavigatorPanelContentTreeHeadings.getChild('1')
252 self.assertEqual(get_state_as_dict(xHeadingsChild1)["Text"], "2. Two (H1)")
253 xHeadingsChild1Child0 = xHeadingsChild1.getChild('0')
254 self.assertEqual(get_state_as_dict(xHeadingsChild1Child0)["Text"], "2.1. Two_A (H2)")
255 xHeadingsChild1Child0Child0 = xHeadingsChild1Child0.getChild('0')
256 self.assertEqual(get_state_as_dict(xHeadingsChild1Child0Child0)["Text"], "A heading of level 3")
257 xHeadingsChild1Child1 = xHeadingsChild1.getChild('1')
258 self.assertEqual(get_state_as_dict(xHeadingsChild1Child1)["Text"], "2.1. Two_B (H2)")
260 xHeadingsChild2 = xNavigatorPanelContentTreeHeadings.getChild('2')
261 self.assertEqual(get_state_as_dict(xHeadingsChild2)["Text"], "3. Three (H1)")
262 xHeadingsChild2Child0 = xHeadingsChild2.getChild('0')
263 self.assertEqual(get_state_as_dict(xHeadingsChild2Child0)["Text"], "3.1. Three_A (H2)")
264 xHeadingsChild2Child1 = xHeadingsChild2.getChild('1')
265 self.assertEqual(get_state_as_dict(xHeadingsChild2Child1)["Text"], "3.2. Three_B (H2)")
267 self.ui_test.wait_until_property_is_updated(xNavigatorPanelContentTree, "SelectEntryText", "2.1. Two_A (H2)")
269 # Click on the 'Move chapter down' button in the Navigator tool box
270 xNavigatorPanel = xWriterEdit.getChild("NavigatorPanel")
271 xToolBarContent6 = xNavigatorPanel.getChild("content6")
272 xToolBarContent6.executeAction("CLICK", mkPropertyValues({"POS": "5"}))
274 # Expected chapter order:
275 # 1. One H1
276 # 1.1. one_A (H2)
277 # 1.2. one_B (H2)
278 # 2. Two (H1)
279 # 2.1. Two_B (H2)
280 # 2.1. Two_A (H2)
281 # A heading of level 3
282 # 3. Three (H1)
283 # 3.1. Three_A (H2)
284 # 3.2. Three_B (H2)
286 xNavigatorPanelContentTreeHeadings = xNavigatorPanelContentTree.getChild('0')
288 xHeadingsChild0 = xNavigatorPanelContentTreeHeadings.getChild('0')
289 self.assertEqual(get_state_as_dict(xHeadingsChild0)["Text"], "1. One (H1)")
290 xHeadingsChild0Child0 = xHeadingsChild0.getChild('0')
291 self.assertEqual(get_state_as_dict(xHeadingsChild0Child0)["Text"], "1.1. One_A (H2)")
292 xHeadingsChild0Child1 = xHeadingsChild0.getChild('1')
293 self.assertEqual(get_state_as_dict(xHeadingsChild0Child1)["Text"], "1.2. One_B (H2)")
295 xHeadingsChild1 = xNavigatorPanelContentTreeHeadings.getChild('1')
296 self.assertEqual(get_state_as_dict(xHeadingsChild1)["Text"], "2. Two (H1)")
297 xHeadingsChild1Child0 = xHeadingsChild1.getChild('0')
298 self.assertEqual(get_state_as_dict(xHeadingsChild1Child0)["Text"], "2.1. Two_B (H2)")
299 xHeadingsChild1Child1 = xHeadingsChild1.getChild('1')
300 self.assertEqual(get_state_as_dict(xHeadingsChild1Child1)["Text"], "2.1. Two_A (H2)")
301 xHeadingsChild1Child1Child0 = xHeadingsChild1Child1.getChild('0')
302 self.assertEqual(get_state_as_dict(xHeadingsChild1Child1Child0)["Text"], "A heading of level 3")
304 xHeadingsChild2 = xNavigatorPanelContentTreeHeadings.getChild('2')
305 self.assertEqual(get_state_as_dict(xHeadingsChild2)["Text"], "3. Three (H1)")
306 xHeadingsChild2Child0 = xHeadingsChild2.getChild('0')
307 self.assertEqual(get_state_as_dict(xHeadingsChild2Child0)["Text"], "3.1. Three_A (H2)")
308 xHeadingsChild2Child1 = xHeadingsChild2.getChild('1')
309 self.assertEqual(get_state_as_dict(xHeadingsChild2Child1)["Text"], "3.2. Three_B (H2)")
311 # Move "A heading of level 3" to its original position
313 # Double click on the "A heading of level 3" entry to select and set focus
314 xHeadingsChild1 = xNavigatorPanelContentTreeHeadings.getChild('1')
315 xHeadingsChild1Child1Child0 = xHeadingsChild1Child1.getChild('0')
316 self.assertEqual(get_state_as_dict(xHeadingsChild1Child1Child0)["Text"], "A heading of level 3")
317 xHeadingsChild1Child1Child0.executeAction("DOUBLECLICK", tuple())
319 self.ui_test.wait_until_property_is_updated(xNavigatorPanelContentTree, "SelectEntryText", "A heading of level 3")
321 # Click on the 'Move chapter up' button in the Navigator tool box
322 xNavigatorPanel = xWriterEdit.getChild("NavigatorPanel")
323 xToolBarContent6 = xNavigatorPanel.getChild("content6")
324 xToolBarContent6.executeAction("CLICK", mkPropertyValues({"POS": "4"}))
326 # Click on the 'Move chapter up' button in the Navigator tool box
327 xNavigatorPanel = xWriterEdit.getChild("NavigatorPanel")
328 xToolBarContent6 = xNavigatorPanel.getChild("content6")
329 xToolBarContent6.executeAction("CLICK", mkPropertyValues({"POS": "4"}))
331 # Expected chapter order:
332 # 1. One H1
333 # 1.1. one_A (H2)
334 # 1.2. one_B (H2)
335 # 2. Two (H1)
336 # A heading of level 3
337 # 2.1. Two_B (H2)
338 # 2.1. Two_A (H2)
339 # 3. Three (H1)
340 # 3.1. Three_A (H2)
341 # 3.2. Three_B (H2)
343 xNavigatorPanelContentTreeHeadings = xNavigatorPanelContentTree.getChild('0')
345 xHeadingsChild0 = xNavigatorPanelContentTreeHeadings.getChild('0')
346 self.assertEqual(get_state_as_dict(xHeadingsChild0)["Text"], "1. One (H1)")
347 xHeadingsChild0Child0 = xHeadingsChild0.getChild('0')
348 self.assertEqual(get_state_as_dict(xHeadingsChild0Child0)["Text"], "1.1. One_A (H2)")
349 xHeadingsChild0Child1 = xHeadingsChild0.getChild('1')
350 self.assertEqual(get_state_as_dict(xHeadingsChild0Child1)["Text"], "1.2. One_B (H2)")
352 xHeadingsChild1 = xNavigatorPanelContentTreeHeadings.getChild('1')
353 self.assertEqual(get_state_as_dict(xHeadingsChild1)["Text"], "2. Two (H1)")
354 xHeadingsChild1Child0 = xHeadingsChild1.getChild('0')
355 self.assertEqual(get_state_as_dict(xHeadingsChild1Child0)["Text"], "A heading of level 3")
356 xHeadingsChild1Child1 = xHeadingsChild1.getChild('1')
357 self.assertEqual(get_state_as_dict(xHeadingsChild1Child1)["Text"], "2.1. Two_B (H2)")
358 xHeadingsChild1Child2 = xHeadingsChild1.getChild('2')
359 self.assertEqual(get_state_as_dict(xHeadingsChild1Child2)["Text"], "2.1. Two_A (H2)")
361 xHeadingsChild2 = xNavigatorPanelContentTreeHeadings.getChild('2')
362 self.assertEqual(get_state_as_dict(xHeadingsChild2)["Text"], "3. Three (H1)")
363 xHeadingsChild2Child0 = xHeadingsChild2.getChild('0')
364 self.assertEqual(get_state_as_dict(xHeadingsChild2Child0)["Text"], "3.1. Three_A (H2)")
365 xHeadingsChild2Child1 = xHeadingsChild2.getChild('1')
366 self.assertEqual(get_state_as_dict(xHeadingsChild2Child1)["Text"], "3.2. Three_B (H2)")
368 # Move "2.1. Two_B (H2)" to its original position
370 # Double click on the "2.1. Two_B (H2)" entry to select and set focus
371 xHeadingsChild1 = xNavigatorPanelContentTreeHeadings.getChild('1')
372 xHeadingsChild1Child1 = xHeadingsChild1.getChild('1')
373 self.assertEqual(get_state_as_dict(xHeadingsChild1Child1)["Text"], "2.1. Two_B (H2)")
374 xHeadingsChild1Child1.executeAction("DOUBLECLICK", tuple())
376 self.ui_test.wait_until_property_is_updated(xNavigatorPanelContentTree, "SelectEntryText", "2.1. Two_B (H2)")
378 # Click on the 'Move chapter down' button in the Navigator tool box
379 xNavigatorPanel = xWriterEdit.getChild("NavigatorPanel")
380 xToolBarContent6 = xNavigatorPanel.getChild("content6")
381 xToolBarContent6.executeAction("CLICK", mkPropertyValues({"POS": "5"}))
383 # Expected chapter order is the original order
384 xNavigatorPanelContentTreeHeadings = xNavigatorPanelContentTree.getChild('0')
386 xHeadingsChild0 = xNavigatorPanelContentTreeHeadings.getChild('0')
387 self.assertEqual(get_state_as_dict(xHeadingsChild0)["Text"], "1. One (H1)")
388 xHeadingsChild0Child0 = xHeadingsChild0.getChild('0')
389 self.assertEqual(get_state_as_dict(xHeadingsChild0Child0)["Text"], "1.1. One_A (H2)")
390 xHeadingsChild0Child1 = xHeadingsChild0.getChild('1')
391 self.assertEqual(get_state_as_dict(xHeadingsChild0Child1)["Text"], "1.2. One_B (H2)")
393 xHeadingsChild1 = xNavigatorPanelContentTreeHeadings.getChild('1')
394 self.assertEqual(get_state_as_dict(xHeadingsChild1)["Text"], "2. Two (H1)")
395 xHeadingsChild1Child0 = xHeadingsChild1.getChild('0')
396 self.assertEqual(get_state_as_dict(xHeadingsChild1Child0)["Text"], "A heading of level 3")
397 xHeadingsChild1Child1 = xHeadingsChild1.getChild('1')
398 self.assertEqual(get_state_as_dict(xHeadingsChild1Child1)["Text"], "2.1. Two_A (H2)")
399 xHeadingsChild1Child2 = xHeadingsChild1.getChild('2')
400 self.assertEqual(get_state_as_dict(xHeadingsChild1Child2)["Text"], "2.1. Two_B (H2)")
402 xHeadingsChild2 = xNavigatorPanelContentTreeHeadings.getChild('2')
403 self.assertEqual(get_state_as_dict(xHeadingsChild2)["Text"], "3. Three (H1)")
404 xHeadingsChild2Child0 = xHeadingsChild2.getChild('0')
405 self.assertEqual(get_state_as_dict(xHeadingsChild2Child0)["Text"], "3.1. Three_A (H2)")
406 xHeadingsChild2Child1 = xHeadingsChild2.getChild('1')
407 self.assertEqual(get_state_as_dict(xHeadingsChild2Child1)["Text"], "3.2. Three_B (H2)")
410 # test moving a sub chapter out of and then back into its parent
413 # Double click on the "1.1. One_A (H2)" entry to select and set focus
414 xHeadingsChild0 = xNavigatorPanelContentTreeHeadings.getChild('0')
415 xHeadingsChild0Child0 = xHeadingsChild0.getChild('0')
416 self.assertEqual(get_state_as_dict(xHeadingsChild0Child0)["Text"], "1.1. One_A (H2)")
417 xHeadingsChild0Child0.executeAction("DOUBLECLICK", tuple())
419 self.ui_test.wait_until_property_is_updated(xNavigatorPanelContentTree, "SelectEntryText", "1.1. One_A (H2)")
421 # Click on the 'Move chapter up' button in the Navigator tool box
422 xNavigatorPanel = xWriterEdit.getChild("NavigatorPanel")
423 xToolBarContent6 = xNavigatorPanel.getChild("content6")
424 xToolBarContent6.executeAction("CLICK", mkPropertyValues({"POS": "4"}))
426 # Expected chapter order:
427 # 1.1. One_A (H2)
428 # 1. One H1
429 # 1.2. One_B (H2)
430 # 2. Two (H1)
431 # A heading of level 3
432 # 2.1. Two_A (H2)
433 # 2.1. Two_B (H2)
434 # 3. Three (H1)
435 # 3.1. Three_A (H2)
436 # 3.2. Three_B (H2)
438 xNavigatorPanelContentTreeHeadings = xNavigatorPanelContentTree.getChild('0')
440 xHeadingsChild0 = xNavigatorPanelContentTreeHeadings.getChild('0')
441 self.assertEqual(get_state_as_dict(xHeadingsChild0)["Text"], "1.1. One_A (H2)")
443 xHeadingsChild1 = xNavigatorPanelContentTreeHeadings.getChild('1')
444 self.assertEqual(get_state_as_dict(xHeadingsChild1)["Text"], "1. One (H1)")
445 xHeadingsChild1Child0 = xHeadingsChild1.getChild('0')
446 self.assertEqual(get_state_as_dict(xHeadingsChild1Child0)["Text"], "1.2. One_B (H2)")
448 xHeadingsChild2 = xNavigatorPanelContentTreeHeadings.getChild('2')
449 self.assertEqual(get_state_as_dict(xHeadingsChild2)["Text"], "2. Two (H1)")
450 xHeadingsChild2Child0 = xHeadingsChild2.getChild('0')
451 self.assertEqual(get_state_as_dict(xHeadingsChild2Child0)["Text"], "A heading of level 3")
452 xHeadingsChild2Child1 = xHeadingsChild2.getChild('1')
453 self.assertEqual(get_state_as_dict(xHeadingsChild2Child1)["Text"], "2.1. Two_A (H2)")
454 xHeadingsChild2Child2 = xHeadingsChild2.getChild('2')
455 self.assertEqual(get_state_as_dict(xHeadingsChild2Child2)["Text"], "2.1. Two_B (H2)")
457 xHeadingsChild3 = xNavigatorPanelContentTreeHeadings.getChild('3')
458 self.assertEqual(get_state_as_dict(xHeadingsChild3)["Text"], "3. Three (H1)")
459 xHeadingsChild3Child0 = xHeadingsChild3.getChild('0')
460 self.assertEqual(get_state_as_dict(xHeadingsChild3Child0)["Text"], "3.1. Three_A (H2)")
461 xHeadingsChild3Child1 = xHeadingsChild3.getChild('1')
462 self.assertEqual(get_state_as_dict(xHeadingsChild3Child1)["Text"], "3.2. Three_B (H2)")
464 # Click on the 'Move chapter down' button in the Navigator tool box
465 xNavigatorPanel = xWriterEdit.getChild("NavigatorPanel")
466 xToolBarContent6 = xNavigatorPanel.getChild("content6")
467 xToolBarContent6.executeAction("CLICK", mkPropertyValues({"POS": "5"}))
469 # Expected chapter order is the original order
470 xNavigatorPanelContentTreeHeadings = xNavigatorPanelContentTree.getChild('0')
472 xHeadingsChild0 = xNavigatorPanelContentTreeHeadings.getChild('0')
473 self.assertEqual(get_state_as_dict(xHeadingsChild0)["Text"], "1. One (H1)")
474 xHeadingsChild0Child0 = xHeadingsChild0.getChild('0')
475 self.assertEqual(get_state_as_dict(xHeadingsChild0Child0)["Text"], "1.1. One_A (H2)")
476 xHeadingsChild0Child1 = xHeadingsChild0.getChild('1')
477 self.assertEqual(get_state_as_dict(xHeadingsChild0Child1)["Text"], "1.2. One_B (H2)")
479 xHeadingsChild1 = xNavigatorPanelContentTreeHeadings.getChild('1')
480 self.assertEqual(get_state_as_dict(xHeadingsChild1)["Text"], "2. Two (H1)")
481 xHeadingsChild1Child0 = xHeadingsChild1.getChild('0')
482 self.assertEqual(get_state_as_dict(xHeadingsChild1Child0)["Text"], "A heading of level 3")
483 xHeadingsChild1Child1 = xHeadingsChild1.getChild('1')
484 self.assertEqual(get_state_as_dict(xHeadingsChild1Child1)["Text"], "2.1. Two_A (H2)")
485 xHeadingsChild1Child2 = xHeadingsChild1.getChild('2')
486 self.assertEqual(get_state_as_dict(xHeadingsChild1Child2)["Text"], "2.1. Two_B (H2)")
488 xHeadingsChild2 = xNavigatorPanelContentTreeHeadings.getChild('2')
489 self.assertEqual(get_state_as_dict(xHeadingsChild2)["Text"], "3. Three (H1)")
490 xHeadingsChild2Child0 = xHeadingsChild2.getChild('0')
491 self.assertEqual(get_state_as_dict(xHeadingsChild2Child0)["Text"], "3.1. Three_A (H2)")
492 xHeadingsChild2Child1 = xHeadingsChild2.getChild('1')
493 self.assertEqual(get_state_as_dict(xHeadingsChild2Child1)["Text"], "3.2. Three_B (H2)")
495 self.xUITest.executeCommand('.uno:Sidebar')
497 # vim: set shiftwidth=4 softtabstop=4 expandtab: