[Libreoffice-commits] core.git: sw/qa
Xisco Fauli (via logerrit)
logerrit at kemper.freedesktop.org
Thu Dec 3 08:42:36 UTC 2020
sw/qa/extras/uiwriter/data3/tdf134626.odt |binary
sw/qa/extras/uiwriter/uiwriter3.cxx | 50 ++++++++++++++++++++++++++++++
2 files changed, 50 insertions(+)
New commits:
commit 480d00625534c356dabd96c503d992f07c99d152
Author: Xisco Fauli <xiscofauli at libreoffice.org>
AuthorDate: Tue Nov 17 21:25:26 2020 +0100
Commit: Xisco Fauli <xiscofauli at libreoffice.org>
CommitDate: Thu Dec 3 09:41:58 2020 +0100
tdf#134626: sw_uiwriter: Add unittest
Change-Id: I1a7e5844c1e830dd499e35b2a6ea2085123f6a0d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106028
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>
diff --git a/sw/qa/extras/uiwriter/data3/tdf134626.odt b/sw/qa/extras/uiwriter/data3/tdf134626.odt
new file mode 100644
index 000000000000..157bc258799e
Binary files /dev/null and b/sw/qa/extras/uiwriter/data3/tdf134626.odt differ
diff --git a/sw/qa/extras/uiwriter/uiwriter3.cxx b/sw/qa/extras/uiwriter/uiwriter3.cxx
index 4f8c046356f8..baca0e6f8c0e 100644
--- a/sw/qa/extras/uiwriter/uiwriter3.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter3.cxx
@@ -1426,6 +1426,56 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, TestTextBoxCrashAfterLineDel)
xCursor->setString(OUString());
}
+CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf134626)
+{
+ load(DATA_DIRECTORY, "tdf134626.odt");
+
+ SwXTextDocument* pTextDoc = dynamic_cast<SwXTextDocument*>(mxComponent.get());
+ CPPUNIT_ASSERT(pTextDoc);
+
+ CPPUNIT_ASSERT_EQUAL(OUString("Apple"), getParagraph(1)->getString());
+
+ dispatchCommand(mxComponent, ".uno:SelectAll", {});
+
+ SwWrtShell* pWrtShell = pTextDoc->GetDocShell()->GetWrtShell();
+ rtl::Reference<SwTransferable> xTransfer = new SwTransferable(*pWrtShell);
+ xTransfer->Copy();
+ Scheduler::ProcessEventsToIdle();
+ TransferableDataHelper aHelper(xTransfer.get());
+
+ // Create a new document
+ mxComponent = loadFromDesktop("private:factory/swriter", "com.sun.star.text.TextDocument");
+
+ pTextDoc = dynamic_cast<SwXTextDocument*>(mxComponent.get());
+ CPPUNIT_ASSERT(pTextDoc);
+
+ pWrtShell = pTextDoc->GetDocShell()->GetWrtShell();
+
+ // Without the fix in place, this test would have crashed here
+ for (sal_Int32 i = 0; i < 5; ++i)
+ {
+ SwTransferable::Paste(*pWrtShell, aHelper);
+ Scheduler::ProcessEventsToIdle();
+
+ CPPUNIT_ASSERT_EQUAL(OUString("Apple"), getParagraph(1)->getString());
+
+ SwTransferable::Paste(*pWrtShell, aHelper);
+ Scheduler::ProcessEventsToIdle();
+
+ CPPUNIT_ASSERT_EQUAL(OUString("AppleApple"), getParagraph(1)->getString());
+
+ dispatchCommand(mxComponent, ".uno:Undo", {});
+ Scheduler::ProcessEventsToIdle();
+
+ CPPUNIT_ASSERT_EQUAL(OUString("Apple"), getParagraph(1)->getString());
+
+ dispatchCommand(mxComponent, ".uno:Undo", {});
+ Scheduler::ProcessEventsToIdle();
+
+ CPPUNIT_ASSERT_EQUAL(OUString(""), getParagraph(1)->getString());
+ }
+}
+
CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf96067)
{
mxComponent = loadFromDesktop("private:factory/swriter", "com.sun.star.text.TextDocument");
More information about the Libreoffice-commits
mailing list