sw/qa/extras/uiwriter/data/tdf157131.docx |binary
 sw/qa/extras/uiwriter/uiwriter3.cxx       |   28 ++++++++++++++++++++++++++++
 2 files changed, 28 insertions(+)

New commits:
commit 11943b9ab229c0d2faee6c9ca89792d70a3cfb6f
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Mon Oct 2 14:33:54 2023 +0200
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Mon Oct 2 17:55:28 2023 +0200

    tdf#157131: sw_uiwriter3: Add unittest
    
    Change-Id: I4a74712e5472002295c2febc7c12bcdb7f932e47
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157489
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>

diff --git a/sw/qa/extras/uiwriter/data/tdf157131.docx 
b/sw/qa/extras/uiwriter/data/tdf157131.docx
new file mode 100644
index 000000000000..867056a76fe1
Binary files /dev/null and b/sw/qa/extras/uiwriter/data/tdf157131.docx differ
diff --git a/sw/qa/extras/uiwriter/uiwriter3.cxx 
b/sw/qa/extras/uiwriter/uiwriter3.cxx
index 2d202567896d..d3877d94c0cc 100644
--- a/sw/qa/extras/uiwriter/uiwriter3.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter3.cxx
@@ -105,6 +105,34 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf155685)
     CPPUNIT_ASSERT_EQUAL(1, getPages());
 }
 
+CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf157131)
+{
+    createSwDoc("tdf157131.docx");
+
+    CPPUNIT_ASSERT_EQUAL(9, getShapes());
+    CPPUNIT_ASSERT_EQUAL(6, getPages());
+
+    dispatchCommand(mxComponent, ".uno:SelectAll", {});
+
+    dispatchCommand(mxComponent, ".uno:Copy", {});
+
+    dispatchCommand(mxComponent, ".uno:Paste", {});
+    dispatchCommand(mxComponent, ".uno:Paste", {});
+    dispatchCommand(mxComponent, ".uno:Paste", {});
+
+    CPPUNIT_ASSERT_GREATER(9, getShapes());
+    CPPUNIT_ASSERT_GREATER(6, getPages());
+
+    dispatchCommand(mxComponent, ".uno:Undo", {});
+    dispatchCommand(mxComponent, ".uno:Undo", {});
+
+    // Without the fix in place, this test would have crashed here
+    dispatchCommand(mxComponent, ".uno:Undo", {});
+
+    CPPUNIT_ASSERT_EQUAL(9, getShapes());
+    CPPUNIT_ASSERT_EQUAL(6, getPages());
+}
+
 CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf145731)
 {
     createSwDoc("tdf145731.odt");

Reply via email to