sw/qa/extras/uiwriter/uiwriter.cxx | 44 +++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+)
New commits: commit 254c26f1c69e2eb23f66a79349b0ea78a5d467d3 Author: Xisco Fauli <[email protected]> AuthorDate: Fri Oct 16 18:32:32 2020 +0200 Commit: Xisco Fauli <[email protected]> CommitDate: Fri Oct 16 21:47:49 2020 +0200 tdf#127635: sw_uiwriter: Add unittest Change-Id: Ib25d5723057b79f49876df816bff5971ee3fa7c3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104444 Tested-by: Jenkins Reviewed-by: Xisco Fauli <[email protected]> diff --git a/sw/qa/extras/uiwriter/uiwriter.cxx b/sw/qa/extras/uiwriter/uiwriter.cxx index 3ca0e97850ae..b1f93e1b8422 100644 --- a/sw/qa/extras/uiwriter/uiwriter.cxx +++ b/sw/qa/extras/uiwriter/uiwriter.cxx @@ -265,6 +265,7 @@ public: void testUnicodeNotationToggle(); void testTextTableCellNames(); void testShapeAnchorUndo(); + void testTdf127635(); void testDde(); void testDocModState(); void testTdf94804(); @@ -491,6 +492,7 @@ public: CPPUNIT_TEST(testUnicodeNotationToggle); CPPUNIT_TEST(testTextTableCellNames); CPPUNIT_TEST(testShapeAnchorUndo); + CPPUNIT_TEST(testTdf127635); CPPUNIT_TEST(testDde); CPPUNIT_TEST(testDocModState); CPPUNIT_TEST(testTdf94804); @@ -4350,6 +4352,48 @@ void SwUiWriterTest::testShapeAnchorUndo() CPPUNIT_ASSERT_EQUAL(pObject->GetLogicRect(), aOrigLogicRect); } +void SwUiWriterTest::testTdf127635() +{ + SwDoc* pDoc = createDoc(); + + SwXTextDocument* pXTextDocument = dynamic_cast<SwXTextDocument *>(mxComponent.get()); + CPPUNIT_ASSERT(pXTextDocument); + pXTextDocument->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 'a', 0); + pXTextDocument->postKeyEvent(LOK_KEYEVENT_KEYINPUT, ' ', 0); + pXTextDocument->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 'b', 0); + Scheduler::ProcessEventsToIdle(); + + SwWrtShell* pWrtShell = pDoc->GetDocShell()->GetWrtShell(); + pWrtShell->Left(CRSR_SKIP_CHARS, /*bSelect=*/false, 2, /*bBasicCall=*/false); + + //Select 'a' + pWrtShell->Left(CRSR_SKIP_CHARS, /*bSelect=*/true, 1, /*bBasicCall=*/false); + + // enable redlining + dispatchCommand(mxComponent, ".uno:TrackChanges", {}); + // hide + dispatchCommand(mxComponent, ".uno:ShowTrackedChanges", {}); + + CPPUNIT_ASSERT_MESSAGE("redlining should be on", + pDoc->getIDocumentRedlineAccess().IsRedlineOn()); + CPPUNIT_ASSERT(pWrtShell->GetLayout()->IsHideRedlines()); + + pXTextDocument->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 'c', 0); + pXTextDocument->postKeyEvent(LOK_KEYEVENT_KEYINPUT, ' ', 0); + pXTextDocument->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 'd', 0); + Scheduler::ProcessEventsToIdle(); + + SwEditShell* const pEditShell(pDoc->GetEditShell()); + // accept all redlines + while(pEditShell->GetRedlineCount()) + pEditShell->AcceptRedline(0); + + // Without the fix in place, this test would have failed with + // - Expected: C d b + // - Actual : Cd b + CPPUNIT_ASSERT_EQUAL(OUString("C d b"), getParagraph(1)->getString()); +} + void SwUiWriterTest::testDde() { #if HAVE_FEATURE_UI _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
