tdf#135018: sw: Add UItest

Change-Id: Ia88e28b1569ea69df81d905cb76a6791a887ef3f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101883
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
diff --git a/sw/qa/uitest/writer_tests/data/tdf135018.odt b/sw/qa/uitest/writer_tests/data/tdf135018.odt
new file mode 100644
index 0000000..2dc9e2a
--- /dev/null
+++ b/sw/qa/uitest/writer_tests/data/tdf135018.odt
Binary files differ
diff --git a/sw/qa/uitest/writer_tests/trackedChanges.py b/sw/qa/uitest/writer_tests/trackedChanges.py
index 1fb999e..53a3e2f 100644
--- a/sw/qa/uitest/writer_tests/trackedChanges.py
+++ b/sw/qa/uitest/writer_tests/trackedChanges.py
@@ -226,4 +226,36 @@ class trackedchanges(UITestCase):
        xcloseBtn.executeAction("CLICK", tuple())

        self.ui_test.close_doc()

    def test_tdf135018(self):
        self.ui_test.load_file(get_url_for_data_file("tdf135018.odt"))
        xWriterDoc = self.xUITest.getTopFocusWindow()
        xWriterEdit = xWriterDoc.getChild("writer_edit")
        document = self.ui_test.get_component()

        self.assertEqual(5, document.CurrentController.PageCount)

        self.ui_test.execute_modeless_dialog_through_command(".uno:AcceptTrackedChanges")
        xTrackDlg = self.xUITest.getTopFocusWindow()
        changesList = xTrackDlg.getChild("writerchanges")
        self.assertEqual(147, len(changesList.getChildren()))

        # Without the fix in place, it would have crashed here
        xAccBtn = xTrackDlg.getChild("acceptall")
        xAccBtn.executeAction("CLICK", tuple())

        self.assertEqual(0, len(changesList.getChildren()))

        xUndoBtn = xTrackDlg.getChild("undo")
        xUndoBtn.executeAction("CLICK", tuple())

        self.assertEqual(147, len(changesList.getChildren()))

        xcloseBtn = xTrackDlg.getChild("close")
        xcloseBtn.executeAction("CLICK", tuple())

        self.assertEqual(18, document.CurrentController.PageCount)

        self.ui_test.close_doc()

# vim: set shiftwidth=4 softtabstop=4 expandtab: