1# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-offset: 4 -*-
2# License, v. 2.0. If a copy of the MPL was not distributed with this
3# file, You can obtain one at http://mozilla.org/MPL/2.0/.
4
5from uitest.framework import UITestCase
6from libreoffice.uno.propertyvalue import mkPropertyValues
7from uitest.path import get_srcdir_url
8
9def get_url_for_data_file(file_name):
10    return get_srcdir_url() + "/sw/qa/uitest/writer_tests/data/" + file_name
11
12class tdf128782(UITestCase):
13
14   def test_tdf128782_move_textbox_undo(self):
15        self.ui_test.load_file(get_url_for_data_file("tdf128782.odt"))
16        xWriterDoc = self.xUITest.getTopFocusWindow()
17        xWriterEdit = xWriterDoc.getChild("writer_edit")
18        document = self.ui_test.get_component()
19
20        oldX1 = document.getDrawPage()[0].Position.X
21        oldY1 = document.getDrawPage()[0].Position.Y
22        oldX2 = document.getDrawPage()[1].Position.X
23        oldY2 = document.getDrawPage()[1].Position.Y
24
25        #select shape 2 and move it down
26        document.getCurrentController().select(document.getDrawPage()[1])
27        xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE": "DOWN"}))
28
29        #Only the Y value of shape 2 changes
30        self.assertEqual(oldX1, document.getDrawPage()[0].Position.X)
31        self.assertEqual(oldY1, document.getDrawPage()[0].Position.Y)
32        self.assertEqual(oldX2, document.getDrawPage()[1].Position.X)
33        self.assertNotEqual(oldY2, document.getDrawPage()[1].Position.Y)
34
35        self.xUITest.executeCommand(".uno:Undo")
36
37        #Both shapes should have the same position as before
38        self.assertEqual(oldX1, document.getDrawPage()[0].Position.X)
39        self.assertEqual(oldY1, document.getDrawPage()[0].Position.Y)
40        self.assertEqual(oldX2, document.getDrawPage()[1].Position.X)
41        self.assertEqual(oldY2, document.getDrawPage()[1].Position.Y)
42
43        self.ui_test.close_doc()
44
45# vim: set shiftwidth=4 softtabstop=4 expandtab:
46