sw/qa/extras/uiwriter/data/tdf145731.odt |binary
 sw/qa/extras/uiwriter/uiwriter3.cxx      |   24 ++++++++++++++++++++++++
 2 files changed, 24 insertions(+)

New commits:
commit 23ad6c5d98e47310703de69506afe89883a75818
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Thu Nov 18 12:35:48 2021 +0100
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Thu Nov 18 16:38:02 2021 +0100

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

diff --git a/sw/qa/extras/uiwriter/data/tdf145731.odt 
b/sw/qa/extras/uiwriter/data/tdf145731.odt
new file mode 100644
index 000000000000..312de88c598c
Binary files /dev/null and b/sw/qa/extras/uiwriter/data/tdf145731.odt differ
diff --git a/sw/qa/extras/uiwriter/uiwriter3.cxx 
b/sw/qa/extras/uiwriter/uiwriter3.cxx
index 23e8113f63dc..c86fb182c07e 100644
--- a/sw/qa/extras/uiwriter/uiwriter3.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter3.cxx
@@ -58,6 +58,30 @@ class SwUiWriterTest3 : public SwModelTestBase
 {
 };
 
+CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf145731)
+{
+    createSwDoc(DATA_DIRECTORY, "tdf145731.odt");
+
+    CPPUNIT_ASSERT_EQUAL(9, getShapes());
+    CPPUNIT_ASSERT_EQUAL(1, getPages());
+
+    dispatchCommand(mxComponent, ".uno:SelectAll", {});
+    Scheduler::ProcessEventsToIdle();
+
+    dispatchCommand(mxComponent, ".uno:Cut", {});
+    Scheduler::ProcessEventsToIdle();
+
+    CPPUNIT_ASSERT_EQUAL(0, getShapes());
+    CPPUNIT_ASSERT_EQUAL(1, getPages());
+
+    // Without the fix in place, this test would have crashed here
+    dispatchCommand(mxComponent, ".uno:Paste", {});
+    Scheduler::ProcessEventsToIdle();
+
+    CPPUNIT_ASSERT_EQUAL(9, getShapes());
+    CPPUNIT_ASSERT_EQUAL(1, getPages());
+}
+
 CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf129382)
 {
     SwDoc* pDoc = createSwDoc(DATA_DIRECTORY, "tdf129382.docx");

Reply via email to