sw/qa/extras/uiwriter/data/tdf121546.odt |binary sw/qa/extras/uiwriter/uiwriter3.cxx | 47 +++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+)
New commits: commit 653c5d2ca1cc777d3556348b65ded0eaae95a414 Author: Xisco Fauli <xiscofa...@libreoffice.org> AuthorDate: Fri Nov 19 17:51:49 2021 +0100 Commit: Xisco Fauli <xiscofa...@libreoffice.org> CommitDate: Sat Nov 20 12:13:13 2021 +0100 tdf#121546: sw_uiwriter3: Add unittest Change-Id: I10d1d9a06c04e810b90da9184d5a52f278015fee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125566 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/sw/qa/extras/uiwriter/data/tdf121546.odt b/sw/qa/extras/uiwriter/data/tdf121546.odt new file mode 100644 index 000000000000..6b8b78f69ee3 Binary files /dev/null and b/sw/qa/extras/uiwriter/data/tdf121546.odt differ diff --git a/sw/qa/extras/uiwriter/uiwriter3.cxx b/sw/qa/extras/uiwriter/uiwriter3.cxx index c86fb182c07e..72d3bfeb45c4 100644 --- a/sw/qa/extras/uiwriter/uiwriter3.cxx +++ b/sw/qa/extras/uiwriter/uiwriter3.cxx @@ -2137,6 +2137,53 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, TestTextBoxCrashAfterLineDel) xCursor->setString(OUString()); } +CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf121546) +{ + createSwDoc(DATA_DIRECTORY, "tdf121546.odt"); + + CPPUNIT_ASSERT_EQUAL(OUString("xxxxxxxxxxxxxxxxxxxx"), getParagraph(2)->getString()); + + dispatchCommand(mxComponent, ".uno:SelectAll", {}); + Scheduler::ProcessEventsToIdle(); + + dispatchCommand(mxComponent, ".uno:Cut", {}); + Scheduler::ProcessEventsToIdle(); + + CPPUNIT_ASSERT_EQUAL(1, getParagraphs()); + + // Create a new document + createSwDoc(); + + dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); + + CPPUNIT_ASSERT_EQUAL(OUString("xxxxxxxxxxxxxxxxxxxx"), getParagraph(2)->getString()); + + dispatchCommand(mxComponent, ".uno:SelectAll", {}); + Scheduler::ProcessEventsToIdle(); + + dispatchCommand(mxComponent, ".uno:Cut", {}); + Scheduler::ProcessEventsToIdle(); + + CPPUNIT_ASSERT_EQUAL(1, getParagraphs()); + + dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); + + CPPUNIT_ASSERT_EQUAL(OUString("xxxxxxxxxxxxxxxxxxxx"), getParagraph(2)->getString()); + + dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); + + SwXTextDocument* pTextDoc = dynamic_cast<SwXTextDocument*>(mxComponent.get()); + + // Without the fix in place, this test would have crashed here + pTextDoc->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 0, KEY_RETURN); + Scheduler::ProcessEventsToIdle(); + + CPPUNIT_ASSERT_EQUAL(2, getParagraphs()); +} + CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf134626) { SwDoc* pDoc = createSwDoc(DATA_DIRECTORY, "tdf134626.odt");