tdf#147723: sw_uiwriter5: Add unittest
Change-Id: Ief6afaee548e58a31580b66d55b9b193ba23d153
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133259
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
diff --git a/sw/qa/extras/uiwriter/data/tdf147723.docx b/sw/qa/extras/uiwriter/data/tdf147723.docx
new file mode 100644
index 0000000..4cdfb26
--- /dev/null
+++ b/sw/qa/extras/uiwriter/data/tdf147723.docx
Binary files differ
diff --git a/sw/qa/extras/uiwriter/uiwriter5.cxx b/sw/qa/extras/uiwriter/uiwriter5.cxx
index 1ba4f86..dbd8041 100644
--- a/sw/qa/extras/uiwriter/uiwriter5.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter5.cxx
@@ -887,6 +887,27 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest5, testMixedFormFieldInsertion)
CPPUNIT_ASSERT_EQUAL(sal_Int32(3), pMarkAccess->getAllMarksCount());
}
CPPUNIT_TEST_FIXTURE(SwUiWriterTest5, testTdf147723)
{
SwDoc* const pDoc = createSwDoc(DATA_DIRECTORY, "tdf147723.docx");
IDocumentMarkAccess& rIDMA(*pDoc->getIDocumentMarkAccess());
CPPUNIT_ASSERT_EQUAL(sal_Int32(3), rIDMA.getAllMarksCount());
dispatchCommand(mxComponent, ".uno:SelectAll", {});
dispatchCommand(mxComponent, ".uno:Copy", {});
// Without the fix in place, this test would have crashed here
dispatchCommand(mxComponent, ".uno:Paste", {});
CPPUNIT_ASSERT_EQUAL(sal_Int32(3), rIDMA.getAllMarksCount());
dispatchCommand(mxComponent, ".uno:Paste", {});
CPPUNIT_ASSERT_EQUAL(sal_Int32(6), rIDMA.getAllMarksCount());
dispatchCommand(mxComponent, ".uno:Undo", {});
CPPUNIT_ASSERT_EQUAL(sal_Int32(3), rIDMA.getAllMarksCount());
dispatchCommand(mxComponent, ".uno:Undo", {});
CPPUNIT_ASSERT_EQUAL(sal_Int32(3), rIDMA.getAllMarksCount());
}
CPPUNIT_TEST_FIXTURE(SwUiWriterTest5, testTdf147006)
{
SwDoc* const pDoc = createSwDoc(DATA_DIRECTORY, "tdf147006.rtf");