diff options
author | Xisco Fauli <xiscofauli@libreoffice.org> | 2023-03-24 12:43:12 +0000 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2023-04-03 00:53:13 +0200 |
commit | b7b7bedc9717389d6b1afa72095e38bf8237a824 (patch) | |
tree | b35c8c07d246d7ad8029bb5d9cc5ca212623ebf2 | |
parent | 640b361c02f560fc9873b98c5e65bf80d28eb375 (diff) |
Revert "qa: call ProcessEventsToIdle inside dispatchCommand"
This reverts commit 1029afe2fa49a3a326ca529a68e99e2a7239a395.
number of failures in CppunitTest_sc_uicalc has increased since
this patch was backported. reverting it to find out for sure whether
this introduced it or not
Change-Id: I670412d9445aee5ca2d65f647a82b993682d088f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149518
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
21 files changed, 456 insertions, 6 deletions
diff --git a/chart2/qa/extras/uichart.cxx b/chart2/qa/extras/uichart.cxx index 4b5db209a742..ec250f80bb27 100644 --- a/chart2/qa/extras/uichart.cxx +++ b/chart2/qa/extras/uichart.cxx @@ -47,13 +47,16 @@ void Chart2UiChartTest::testCopyPasteToNewSheet(uno::Reference<chart::XChartDocu comphelper::makePropertyValue("ToObject", aObjectName), }; dispatchCommand(mxComponent, ".uno:GoToObject", aPropertyValues); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Copy", {}); + Scheduler::ProcessEventsToIdle(); // create a new document load("private:factory/scalc"); dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); uno::Reference<chart2::XChartDocument> xChartDoc2 = getChartDocFromSheet(0, mxComponent); CPPUNIT_ASSERT(xChartDoc2.is()); @@ -137,13 +140,16 @@ CPPUNIT_TEST_FIXTURE(Chart2UiChartTest, testTdf151091) comphelper::makePropertyValue("ToObject", OUString("Object 1")), }; dispatchCommand(mxComponent, ".uno:GoToObject", aPropertyValues); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Copy", {}); + Scheduler::ProcessEventsToIdle(); // create a new writer document load("private:factory/swriter"); dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); aSeriesList = getWriterChartColumnDescriptions(mxComponent); diff --git a/desktop/qa/desktop_lib/test_desktop_lib.cxx b/desktop/qa/desktop_lib/test_desktop_lib.cxx index 2c348d1463cc..3f5ca1f96fb4 100644 --- a/desktop/qa/desktop_lib/test_desktop_lib.cxx +++ b/desktop/qa/desktop_lib/test_desktop_lib.cxx @@ -606,6 +606,7 @@ void DesktopLOKTest::testSearchCalc() {"SearchItem.Command", uno::Any(static_cast<sal_uInt16>(SvxSearchCmd::FIND_ALL))}, })); dispatchCommand(mxComponent, ".uno:ExecuteSearch", aPropertyValues); + Scheduler::ProcessEventsToIdle(); std::vector<OString> aSelections; sal_Int32 nIndex = 0; @@ -636,6 +637,7 @@ void DesktopLOKTest::testSearchAllNotificationsCalc() {"SearchItem.Command", uno::Any(static_cast<sal_uInt16>(SvxSearchCmd::FIND_ALL))}, })); dispatchCommand(mxComponent, ".uno:ExecuteSearch", aPropertyValues); + Scheduler::ProcessEventsToIdle(); // This was 1, make sure that we get no notifications about selection changes during search. CPPUNIT_ASSERT_EQUAL(0, m_nSelectionBeforeSearchResult); diff --git a/sc/qa/unit/jumbosheets-test.cxx b/sc/qa/unit/jumbosheets-test.cxx index 0dec10967751..05b2c2248650 100644 --- a/sc/qa/unit/jumbosheets-test.cxx +++ b/sc/qa/unit/jumbosheets-test.cxx @@ -272,10 +272,12 @@ void ScJumboSheetsTest::testTdf134553() pViewShell->SelectObject(u"Diagram 1"); dispatchCommand(mxComponent, ".uno:Cut", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(0), pPage->GetObjCount()); dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); pOleObj = pPage->GetObj(0); CPPUNIT_ASSERT(pOleObj); @@ -315,8 +317,10 @@ void ScJumboSheetsTest::testTdf147509() CPPUNIT_ASSERT_EQUAL(sal_Int32(0), ScDocShell::GetViewData()->GetCurY()); dispatchCommand(mxComponent, ".uno:SelectColumn", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:InsertColumnsAfter", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString("A"), pDoc->GetString(ScAddress(0, 0, 0))); diff --git a/sc/qa/unit/tiledrendering/tiledrendering.cxx b/sc/qa/unit/tiledrendering/tiledrendering.cxx index c8c7f5c594de..f09d93a0d8c8 100644 --- a/sc/qa/unit/tiledrendering/tiledrendering.cxx +++ b/sc/qa/unit/tiledrendering/tiledrendering.cxx @@ -770,6 +770,7 @@ void ScTiledRenderingTest::testTextViewSelection() // Create a selection on two cells in the second view, that's a text selection in LOK terms. aView1.m_bTextViewSelectionInvalidated = false; dispatchCommand(mxComponent, ".uno:GoRightSel", {}); + Scheduler::ProcessEventsToIdle(); // Make sure the first view got its notification. CPPUNIT_ASSERT(aView1.m_bTextViewSelectionInvalidated); } @@ -786,6 +787,7 @@ void ScTiledRenderingTest::testDocumentSizeChanged() comphelper::makePropertyValue("ToPoint", OUString("$A$30")), }; dispatchCommand(mxComponent, ".uno:GoToCell", aPropertyValues); + Scheduler::ProcessEventsToIdle(); // Assert that the size in the payload is not 0. CPPUNIT_ASSERT(m_aDocumentSize.getWidth() > 0); CPPUNIT_ASSERT(m_aDocumentSize.getHeight() > 0); @@ -858,6 +860,7 @@ void ScTiledRenderingTest::testMoveShapeHandle() {"NewPosY", uno::Any(y+1)} })); dispatchCommand(mxComponent, ".uno:MoveShapeHandle", aPropertyValues); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT(!aView1.m_ShapeSelection.isEmpty()); lcl_extractHandleParameters(aView1.m_ShapeSelection, id, x ,y); CPPUNIT_ASSERT_EQUAL(x-1, oldX); @@ -1080,6 +1083,7 @@ void ScTiledRenderingTest::testAutoSum() uno::Sequence<beans::PropertyValue> aArgs; dispatchCommand(mxComponent, ".uno:AutoSum", aArgs); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT(aView.m_sCellFormula.startsWith("=SUM(")); } @@ -1099,6 +1103,7 @@ void ScTiledRenderingTest::testHideColRow() })); dispatchCommand(mxComponent, ".uno:SelectColumn", aArgs2); + Scheduler::ProcessEventsToIdle(); } SCCOL nOldCurX = ScDocShell::GetViewData()->GetCurX(); @@ -1106,6 +1111,7 @@ void ScTiledRenderingTest::testHideColRow() { uno::Sequence<beans::PropertyValue> aArgs; dispatchCommand(mxComponent, ".uno:HideColumn", aArgs); + Scheduler::ProcessEventsToIdle(); } SCCOL nNewCurX = ScDocShell::GetViewData()->GetCurX(); @@ -1124,6 +1130,7 @@ void ScTiledRenderingTest::testHideColRow() { "Modifier", uno::Any(sal_uInt16(0)) } })); dispatchCommand(mxComponent, ".uno:SelectRow", aArgs2); + Scheduler::ProcessEventsToIdle(); } nOldCurX = ScDocShell::GetViewData()->GetCurX(); @@ -1131,6 +1138,7 @@ void ScTiledRenderingTest::testHideColRow() { uno::Sequence<beans::PropertyValue> aArgs; dispatchCommand(mxComponent, ".uno:HideRow", aArgs); + Scheduler::ProcessEventsToIdle(); } nNewCurX = ScDocShell::GetViewData()->GetCurX(); nNewCurY = ScDocShell::GetViewData()->GetCurY(); @@ -1169,6 +1177,7 @@ void ScTiledRenderingTest::testInvalidateOnCopyPasteCells() // paste cells aView.m_bInvalidateTiles = false; dispatchCommand(mxComponent, ".uno:Paste", aArgs); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT(aView.m_bInvalidateTiles); } @@ -1193,6 +1202,7 @@ void ScTiledRenderingTest::testInvalidateOnInserRowCol() aView.m_bInvalidateTiles = false; aView.m_aInvalidations.clear(); dispatchCommand(mxComponent, ".uno:InsertRows", aArgs); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT(aView.m_bInvalidateTiles); CPPUNIT_ASSERT_EQUAL(size_t(2), aView.m_aInvalidations.size()); CPPUNIT_ASSERT_EQUAL(tools::Rectangle(-75, 51240, 32212230, 63990), aView.m_aInvalidations[0]); @@ -1209,6 +1219,7 @@ void ScTiledRenderingTest::testInvalidateOnInserRowCol() aView.m_bInvalidateTiles = false; aView.m_aInvalidations.clear(); dispatchCommand(mxComponent, ".uno:InsertColumns", aArgs); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT(aView.m_bInvalidateTiles); CPPUNIT_ASSERT_EQUAL(size_t(2), aView.m_aInvalidations.size()); CPPUNIT_ASSERT_EQUAL(tools::Rectangle(254925, -15, 32212230, 63990), aView.m_aInvalidations[0]); @@ -1238,6 +1249,7 @@ void ScTiledRenderingTest::testCommentCallback() {"Author", uno::Any(OUString("LOK User1"))}, })); dispatchCommand(mxComponent, ".uno:InsertAnnotation", aArgs); + Scheduler::ProcessEventsToIdle(); // We received a LOK_CALLBACK_COMMENT callback with comment 'Add' action CPPUNIT_ASSERT_EQUAL(std::string("Add"), aView1.m_aCommentCallbackResult.get<std::string>("action")); @@ -1268,6 +1280,7 @@ void ScTiledRenderingTest::testCommentCallback() {"Author", uno::Any(OUString("LOK User2"))}, }); dispatchCommand(mxComponent, ".uno:EditAnnotation", aArgs); + Scheduler::ProcessEventsToIdle(); // We received a LOK_CALLBACK_COMMENT callback with comment 'Modify' action CPPUNIT_ASSERT_EQUAL(std::string("Modify"), aView1.m_aCommentCallbackResult.get<std::string>("action")); @@ -1289,6 +1302,7 @@ void ScTiledRenderingTest::testCommentCallback() {"Id", uno::Any(OUString::createFromAscii(aCommentId.c_str()))} }); dispatchCommand(mxComponent, ".uno:DeleteNote", aArgs); + Scheduler::ProcessEventsToIdle(); // We received a LOK_CALLBACK_COMMENT callback with comment 'Remove' action CPPUNIT_ASSERT_EQUAL(std::string("Remove"), aView1.m_aCommentCallbackResult.get<std::string>("action")); @@ -1332,12 +1346,14 @@ void ScTiledRenderingTest::testUndoLimiting() // try to execute undo in view #2 SfxLokHelper::setView(nView2); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); // check that undo has not been executed on view #2 CPPUNIT_ASSERT_EQUAL(std::size_t(1), pUndoManager->GetUndoActionCount()); // try to execute undo in view #1 SfxLokHelper::setView(nView1); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); // check that undo has been executed on view #1 CPPUNIT_ASSERT_EQUAL(std::size_t(0), pUndoManager->GetUndoActionCount()); @@ -1347,12 +1363,14 @@ void ScTiledRenderingTest::testUndoLimiting() // try to execute redo in view #2 SfxLokHelper::setView(nView2); dispatchCommand(mxComponent, ".uno:Redo", {}); + Scheduler::ProcessEventsToIdle(); // check that redo has not been executed on view #2 CPPUNIT_ASSERT_EQUAL(std::size_t(1), pUndoManager->GetRedoActionCount()); // try to execute redo in view #1 SfxLokHelper::setView(nView1); dispatchCommand(mxComponent, ".uno:Redo", {}); + Scheduler::ProcessEventsToIdle(); // check that redo has been executed on view #1 CPPUNIT_ASSERT_EQUAL(std::size_t(0), pUndoManager->GetRedoActionCount()); } @@ -1390,6 +1408,7 @@ void ScTiledRenderingTest::testUndoRepairDispatch() // try to execute undo in view #2 SfxLokHelper::setView(nView2); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); // check that undo has not been executed on view #2 CPPUNIT_ASSERT_EQUAL(std::size_t(1), pUndoManager->GetUndoActionCount()); @@ -1400,6 +1419,7 @@ void ScTiledRenderingTest::testUndoRepairDispatch() {"Repair", uno::Any(true)} })); dispatchCommand(mxComponent, ".uno:Undo", aPropertyValues); + Scheduler::ProcessEventsToIdle(); // check that undo has been executed on view #2 in repair mode CPPUNIT_ASSERT_EQUAL(std::size_t(0), pUndoManager->GetUndoActionCount()); } @@ -1429,12 +1449,14 @@ void ScTiledRenderingTest::testInsertGraphicInvalidations() { "FileName", uno::Any(createFileURL(u"smile.png")) } })); dispatchCommand(mxComponent, ".uno:InsertGraphic", aArgs); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT(aView.m_bInvalidateTiles); // undo image insertion in view and see if both views are invalidated aView.m_bInvalidateTiles = false; uno::Sequence<beans::PropertyValue> aArgs2; dispatchCommand(mxComponent, ".uno:Undo", aArgs2); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT(aView.m_bInvalidateTiles); } @@ -1932,6 +1954,7 @@ void ScTiledRenderingTest::testInsertDeletePageInvalidation() { "Index", uno::Any(sal_Int32(1)) } })); dispatchCommand(mxComponent, ".uno:Insert", aArgs); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT(aView1.m_bInvalidateTiles); CPPUNIT_ASSERT_EQUAL(size_t(6), aView1.m_aInvalidations.size()); CPPUNIT_ASSERT_EQUAL(tools::Rectangle(0, 0, 1000000000, 1000000000), aView1.m_aInvalidations[0]); @@ -1944,6 +1967,7 @@ void ScTiledRenderingTest::testInsertDeletePageInvalidation() { "Index", uno::Any(sal_Int32(1)) } })); dispatchCommand(mxComponent, ".uno:Remove", aArgs2); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT(aView1.m_bInvalidateTiles); CPPUNIT_ASSERT_EQUAL(size_t(5), aView1.m_aInvalidations.size()); CPPUNIT_ASSERT_EQUAL(tools::Rectangle(0, 0, 1000000000, 1000000000), aView1.m_aInvalidations[0]); @@ -2798,6 +2822,7 @@ void ScTiledRenderingTest::testSheetViewDataCrash() { "Index", uno::Any(sal_Int32(2)) } })); dispatchCommand(mxComponent, ".uno:Insert", aArgs); + Scheduler::ProcessEventsToIdle(); pModelObj->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 0, awt::Key::PAGEDOWN | KEY_MOD1); pModelObj->postKeyEvent(LOK_KEYEVENT_KEYUP, 0, awt::Key::PAGEDOWN | KEY_MOD1); Scheduler::ProcessEventsToIdle(); @@ -2832,6 +2857,7 @@ void ScTiledRenderingTest::testTextBoxInsert() { "CreateDirectly", uno::Any(true) } })); dispatchCommand(mxComponent, ".uno:DrawText", aArgs); + Scheduler::ProcessEventsToIdle(); // check if we have textbox selected CPPUNIT_ASSERT(!aView1.m_ShapeSelection.isEmpty()); @@ -2869,6 +2895,7 @@ void ScTiledRenderingTest::testCommentCellCopyPaste() {"Author", uno::Any(OUString("LOK Client"))}, })); dispatchCommand(mxComponent, ".uno:InsertAnnotation", aArgs); + Scheduler::ProcessEventsToIdle(); // We received a LOK_CALLBACK_COMMENT callback with comment 'Add' action CPPUNIT_ASSERT_EQUAL(std::string("Add"), aView.m_aCommentCallbackResult.get<std::string>("action")); @@ -2885,10 +2912,12 @@ void ScTiledRenderingTest::testCommentCellCopyPaste() // Single cell(with comment) copy paste test { dispatchCommand(mxComponent, ".uno:Copy", aCopyPasteArgs); + Scheduler::ProcessEventsToIdle(); pTabViewShell->SetCursor(1, 49); Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Paste", aCopyPasteArgs); // Paste to cell B50 + Scheduler::ProcessEventsToIdle(); // We received a LOK_CALLBACK_COMMENT callback with comment 'Add' action CPPUNIT_ASSERT_EQUAL(std::string("Add"), aView.m_aCommentCallbackResult.get<std::string>("action")); @@ -2915,10 +2944,12 @@ void ScTiledRenderingTest::testCommentCellCopyPaste() Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Copy", aCopyPasteArgs); + Scheduler::ProcessEventsToIdle(); pTabViewShell->SetCursor(3, 49); Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Paste", aCopyPasteArgs); // Paste to cell D50 + Scheduler::ProcessEventsToIdle(); // We received a LOK_CALLBACK_COMMENT callback with comment 'Add' action CPPUNIT_ASSERT_EQUAL(std::string("Add"), aView.m_aCommentCallbackResult.get<std::string>("action")); @@ -2958,6 +2989,7 @@ void ScTiledRenderingTest::testInvalidEntrySave() uno::Sequence<beans::PropertyValue> aArgs; dispatchCommand(mxComponent, ".uno:Save", aArgs); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_MESSAGE("Should not be marked modified after save", !pDocSh->IsModified()); @@ -3021,12 +3053,14 @@ void ScTiledRenderingTest::testUndoReordering() // try to execute undo in view #1 SfxLokHelper::setView(nView1); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); // check that undo has been executed on view #1 CPPUNIT_ASSERT_EQUAL(std::size_t(1), pUndoManager->GetUndoActionCount()); // try to execute undo in view #2 SfxLokHelper::setView(nView2); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); // check that undo has been executed on view #2 CPPUNIT_ASSERT_EQUAL(std::size_t(0), pUndoManager->GetUndoActionCount()); } @@ -3096,6 +3130,7 @@ void ScTiledRenderingTest::testUndoReorderingRedo() // View 1 presses undo, and the second cell is erased SfxLokHelper::setView(nView1); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(std::size_t(2), pUndoManager->GetUndoActionCount()); CPPUNIT_ASSERT_EQUAL(OUString("xx"), pDoc->GetString(ScAddress(0, 0, 0))); CPPUNIT_ASSERT_EQUAL(OUString(""), pDoc->GetString(ScAddress(0, 1, 0))); @@ -3115,6 +3150,7 @@ void ScTiledRenderingTest::testUndoReorderingRedo() // View 1 presses undo again, and the first cell is erased dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(std::size_t(1), pUndoManager->GetUndoActionCount()); CPPUNIT_ASSERT_EQUAL(OUString(""), pDoc->GetString(ScAddress(0, 0, 0))); CPPUNIT_ASSERT_EQUAL(OUString(""), pDoc->GetString(ScAddress(0, 1, 0))); @@ -3184,6 +3220,7 @@ void ScTiledRenderingTest::testUndoReorderingMulti() // View 1 presses undo SfxLokHelper::setView(nView1); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(std::size_t(2), pUndoManager->GetUndoActionCount()); CPPUNIT_ASSERT_EQUAL(OUString(""), pDoc->GetString(ScAddress(0, 0, 0))); CPPUNIT_ASSERT_EQUAL(OUString("CC"), pDoc->GetString(ScAddress(0, 2, 0))); diff --git a/sc/qa/unit/uicalc/uicalc.cxx b/sc/qa/unit/uicalc/uicalc.cxx index 98d3398b09d8..25b4d0790383 100644 --- a/sc/qa/unit/uicalc/uicalc.cxx +++ b/sc/qa/unit/uicalc/uicalc.cxx @@ -298,10 +298,12 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf103994) goToCell("A1"); dispatchCommand(mxComponent, ".uno:Cut", {}); + Scheduler::ProcessEventsToIdle(); goToCell("B1"); dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); // Without the fix in place, this test would have failed with // - Expected: ='file:///tmp/lu124171irlmb.tmp'#$Sheet1.A1 @@ -386,9 +388,11 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf107869) goToCell("A1"); dispatchCommand(mxComponent, ".uno:InsertAnnotation", aArgs); + Scheduler::ProcessEventsToIdle(); goToCell("A2"); dispatchCommand(mxComponent, ".uno:InsertAnnotation", aArgs); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_MESSAGE("There should be a note on A1", pDoc->HasNote(ScAddress(0, 0, 0))); CPPUNIT_ASSERT_MESSAGE("There should be a note on A2", pDoc->HasNote(ScAddress(0, 1, 0))); @@ -396,8 +400,10 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf107869) goToCell("A1"); dispatchCommand(mxComponent, ".uno:SelectRow", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:DeleteRows", {}); + Scheduler::ProcessEventsToIdle(); for (size_t i = 0; i < 10; ++i) { @@ -406,6 +412,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf107869) CPPUNIT_ASSERT_MESSAGE("There should be no note on A2", !pDoc->HasNote(ScAddress(0, 1, 0))); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString("A"), pDoc->GetString(ScAddress(0, 0, 0))); CPPUNIT_ASSERT_EQUAL(OUString("B"), pDoc->GetString(ScAddress(0, 1, 0))); @@ -413,15 +420,19 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf107869) CPPUNIT_ASSERT_MESSAGE("There should be a note on A2", pDoc->HasNote(ScAddress(0, 1, 0))); dispatchCommand(mxComponent, ".uno:Redo", {}); + Scheduler::ProcessEventsToIdle(); } dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); goToCell("A1:A2"); dispatchCommand(mxComponent, ".uno:SelectRow", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:DeleteRows", {}); + Scheduler::ProcessEventsToIdle(); for (size_t i = 0; i < 10; ++i) { @@ -431,6 +442,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf107869) CPPUNIT_ASSERT_MESSAGE("There should be no note on A2", !pDoc->HasNote(ScAddress(0, 1, 0))); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString("A"), pDoc->GetString(ScAddress(0, 0, 0))); CPPUNIT_ASSERT_EQUAL(OUString("B"), pDoc->GetString(ScAddress(0, 1, 0))); @@ -438,6 +450,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf107869) CPPUNIT_ASSERT_MESSAGE("There should be a note on A2", pDoc->HasNote(ScAddress(0, 1, 0))); dispatchCommand(mxComponent, ".uno:Redo", {}); + Scheduler::ProcessEventsToIdle(); } } @@ -484,6 +497,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf63805) CPPUNIT_ASSERT_EQUAL(OUString("2014-05-31"), pDoc->GetString(ScAddress(0, 19, 0))); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString("2012-10-31"), pDoc->GetString(ScAddress(0, 0, 0))); CPPUNIT_ASSERT_EQUAL(OUString(""), pDoc->GetString(ScAddress(0, 1, 0))); @@ -530,13 +544,16 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf94208) goToCell("A3:A8"); dispatchCommand(mxComponent, ".uno:SelectRow", {}); + Scheduler::ProcessEventsToIdle(); //type Control-D/Fill Down dispatchCommand(mxComponent, ".uno:FillDown", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(0.0, pDoc->GetValue(ScAddress(0, 0, 0))); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); // Without the fix in place, this test would have failed with // - Expected: 1 @@ -661,11 +678,13 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf119162) // Without the fix in place, this test would have hung here dispatchCommand(mxComponent, ".uno:ChangeCaseRotateCase", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString(u"Test" + OUStringChar(u'\xA')), pDoc->GetString(ScAddress(0, 0, 0))); dispatchCommand(mxComponent, ".uno:ChangeCaseToLower", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString(u"test" + OUStringChar(u'\xA')), pDoc->GetString(ScAddress(0, 0, 0))); @@ -689,6 +708,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf90579) goToCell("C1:C2"); dispatchCommand(mxComponent, ".uno:ConvertFormulaToValue", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString("2310"), pDoc->GetString(ScAddress(2, 0, 0))); CPPUNIT_ASSERT_EQUAL(OUString("LibreOffice"), pDoc->GetString(ScAddress(2, 1, 0))); @@ -696,6 +716,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf90579) CPPUNIT_ASSERT_EQUAL(OUString(""), pDoc->GetFormula(2, 1, 0)); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString("2310"), pDoc->GetString(ScAddress(2, 0, 0))); CPPUNIT_ASSERT_EQUAL(OUString("LibreOffice"), pDoc->GetString(ScAddress(2, 1, 0))); @@ -711,6 +732,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf124820) goToCell("B2"); dispatchCommand(mxComponent, ".uno:Strikeout", {}); + Scheduler::ProcessEventsToIdle(); saveAndReload("Calc Office Open XML"); pDoc = getScDoc(); @@ -733,6 +755,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf119155) // Without the fix in place, this test would have hung here dispatchCommand(mxComponent, ".uno:ChangeCaseToTitleCase", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString("Collagene Expert Targeted Wrinkle Corrector Unboxed 10 Ml"), pDoc->GetString(ScAddress(2, 1, 0))); @@ -755,6 +778,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf146795) goToCell("B2"); dispatchCommand(mxComponent, ".uno:Copy", {}); + Scheduler::ProcessEventsToIdle(); // Move to B3 ScModelObj* pModelObj = dynamic_cast<ScModelObj*>(mxComponent.get()); @@ -769,6 +793,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf146795) // Without the fix in place, this test would have crashed here dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString("a"), pDoc->GetString(ScAddress(1, 1, 0))); CPPUNIT_ASSERT_EQUAL(OUString("a"), pDoc->GetString(ScAddress(1, 2, 0))); @@ -799,6 +824,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf147744) goToCell("A2"); dispatchCommand(mxComponent, ".uno:Copy", {}); + Scheduler::ProcessEventsToIdle(); // Move to A3 ScModelObj* pModelObj = dynamic_cast<ScModelObj*>(mxComponent.get()); @@ -811,6 +837,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf147744) // Without the fix in place, this test would have crashed here dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(1.0, pDoc->GetValue(ScAddress(0, 1, 0))); CPPUNIT_ASSERT_EQUAL(0.0, pDoc->GetValue(ScAddress(0, 2, 0))); @@ -845,12 +872,14 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf138432) goToCell("A1"); dispatchCommand(mxComponent, ".uno:Copy", {}); + Scheduler::ProcessEventsToIdle(); goToCell("A2"); typeString(u"="); dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); ScModelObj* pModelObj = dynamic_cast<ScModelObj*>(mxComponent.get()); pModelObj->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 0, awt::Key::RETURN); @@ -1003,6 +1032,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf145640) goToCell("A2:F17"); dispatchCommand(mxComponent, ".uno:SortDescending", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString("=SUM(A15:B15:C15:D15:E15:F15)"), pDoc->GetFormula(6, 3, 0)); @@ -1012,6 +1042,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf145640) CPPUNIT_ASSERT_EQUAL(10.0, pDoc->GetValue(ScAddress(6, 3, 0))); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString("=SUM(A4:B4:C4:D4:E4:F4)"), pDoc->GetFormula(6, 3, 0)); CPPUNIT_ASSERT_EQUAL(10.0, pDoc->GetValue(ScAddress(6, 3, 0))); @@ -1039,10 +1070,12 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf97215) // Without the fix in place, this test would have hung here dispatchCommand(mxComponent, ".uno:SortAscending", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString("Inserted at bottom"), pDoc->GetString(ScAddress(0, 0, 0))); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString("Inserted at bottom"), pDoc->GetString(ScAddress(0, 23, 0))); @@ -1306,15 +1339,18 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf117706) // Use Adding Selection dispatchCommand(mxComponent, ".uno:StatusSelectionModeExp", {}); + Scheduler::ProcessEventsToIdle(); goToCell("A1"); dispatchCommand(mxComponent, ".uno:SelectRow", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:GoDown", {}); dispatchCommand(mxComponent, ".uno:GoDown", {}); lcl_AssertCurrentCursorPosition(*pDocSh, u"A3"); dispatchCommand(mxComponent, ".uno:SelectRow", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Copy", {}); @@ -1370,11 +1406,14 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf149503) ScDocument* pDoc = getScDoc(); dispatchCommand(mxComponent, ".uno:SelectAll", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Cut", {}); + Scheduler::ProcessEventsToIdle(); // Without the fix in place, this test would have crashed here dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); ScDPCollection* pDPs = pDoc->GetDPCollection(); CPPUNIT_ASSERT_EQUAL(size_t(1), pDPs->GetCount()); @@ -1386,8 +1425,10 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf108292) ScDocument* pDoc = getScDoc(); dispatchCommand(mxComponent, ".uno:SelectAll", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Copy", {}); + Scheduler::ProcessEventsToIdle(); // Open a new document createScDoc(); @@ -1395,6 +1436,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf108292) // Without the fix in place, this test would have crashed dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString("2D"), pDoc->GetString(ScAddress(26, 0, 0))); } @@ -1410,15 +1452,18 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testMultiRangeCol) // Use Adding Selection dispatchCommand(mxComponent, ".uno:StatusSelectionModeExp", {}); + Scheduler::ProcessEventsToIdle(); goToCell("A1"); dispatchCommand(mxComponent, ".uno:SelectColumn", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:GoRight", {}); dispatchCommand(mxComponent, ".uno:GoRight", {}); lcl_AssertCurrentCursorPosition(*pDocSh, u"C1"); dispatchCommand(mxComponent, ".uno:SelectColumn", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Copy", {}); @@ -1724,12 +1769,14 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf108654) CPPUNIT_ASSERT_EQUAL(OUString("=VLOOKUP(C127,#REF!,D$1,0)"), aFormula); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); aFormula = pDoc->GetFormula(3, 126, 1); CPPUNIT_ASSERT_EQUAL(OUString(""), aFormula); CPPUNIT_ASSERT_EQUAL(static_cast<SCTAB>(2), pDoc->GetTableCount()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(static_cast<SCTAB>(1), pDoc->GetTableCount()); } @@ -1791,16 +1838,19 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf133326) CPPUNIT_ASSERT_EQUAL(static_cast<SCTAB>(2), pDoc->GetTableCount()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); aFormula = pDoc->GetFormula(0, 0, 1); CPPUNIT_ASSERT_EQUAL(OUString(""), aFormula); CPPUNIT_ASSERT_EQUAL(static_cast<SCTAB>(2), pDoc->GetTableCount()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(static_cast<SCTAB>(1), pDoc->GetTableCount()); dispatchCommand(mxComponent, ".uno:Redo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(static_cast<SCTAB>(2), pDoc->GetTableCount()); aFormula = pDoc->GetFormula(0, 0, 1); @@ -1808,6 +1858,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf133326) // Without the fix in place, it would have crashed here dispatchCommand(mxComponent, ".uno:Redo", {}); + Scheduler::ProcessEventsToIdle(); aFormula = pDoc->GetFormula(0, 0, 1); CPPUNIT_ASSERT_EQUAL(OUString("=RAND()*1000000"), aFormula); @@ -1821,6 +1872,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf126685) ScDocument* pDoc = getScDoc(); dispatchCommand(mxComponent, ".uno:SelectAll", {}); // test should crash here without the fix + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL( OUString("Control Height will change from 0.65 to 0.61 cm with 120dpi ..."), @@ -1858,11 +1910,13 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf119793) Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(5084), xShape->getPosition().X); CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(1381), xShape->getPosition().Y); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); // Without the fix in place, this test would have failed with // - Expected: 4984 @@ -1953,12 +2007,15 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf124818) CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), pPage->GetObjCount()); dispatchCommand(mxComponent, ".uno:SelectAll", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Cut", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(0), pPage->GetObjCount()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), pPage->GetObjCount()); } @@ -2135,12 +2192,14 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf124822) CPPUNIT_ASSERT_EQUAL(OUString("X"), pDoc->GetString(ScAddress(0, 0, 2))); dispatchCommand(mxComponent, ".uno:SelectAll", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Cut", {}); CPPUNIT_ASSERT_EQUAL(OUString(""), pDoc->GetString(ScAddress(0, 0, 2))); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString("X"), pDoc->GetString(ScAddress(0, 0, 2))); } @@ -2172,6 +2231,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf118189) // Without the fix in place, this test would have crashed here dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); aFormula = pDoc->GetFormula(0, 77, 0); CPPUNIT_ASSERT_EQUAL(OUString("=FALSE()"), aFormula); @@ -2215,11 +2275,13 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf118207) CPPUNIT_ASSERT_EQUAL(OUString("=FALSE()"), aFormula); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); aFormula = pDoc->GetFormula(1, 77, 0); CPPUNIT_ASSERT_EQUAL(OUString("=FALSE()"), aFormula); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); aFormula = pDoc->GetFormula(1, 77, 0); CPPUNIT_ASSERT_EQUAL(OUString(""), aFormula); @@ -2227,6 +2289,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf118207) CPPUNIT_ASSERT_EQUAL(OUString(""), aFormula); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); aFormula = pDoc->GetFormula(0, 77, 0); CPPUNIT_ASSERT_EQUAL(OUString("=FALSE()"), aFormula); @@ -2255,6 +2318,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf124778) uno::Sequence<beans::PropertyValue> aArgs = comphelper::InitPropertySequence({ { "Text", uno::Any(OUString("Comment")) } }); dispatchCommand(mxComponent, ".uno:InsertAnnotation", aArgs); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_MESSAGE("There should be a note on A1", pDoc->HasNote(ScAddress(0, 0, 0))); @@ -2279,6 +2343,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf138428) uno::Sequence<beans::PropertyValue> aArgs = comphelper::InitPropertySequence({ { "Text", uno::Any(OUString("Comment")) } }); dispatchCommand(mxComponent, ".uno:InsertAnnotation", aArgs); + Scheduler::ProcessEventsToIdle(); ScDocument* pDoc = getScDoc(); CPPUNIT_ASSERT_MESSAGE("There should be a note on A1", pDoc->HasNote(ScAddress(0, 0, 0))); @@ -2296,21 +2361,25 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf138428) // Without the fix in place, this test would have crashed here dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_MESSAGE("There should be a note on A1", pDoc->HasNote(ScAddress(0, 0, 0))); CPPUNIT_ASSERT_MESSAGE("There shouldn't be a note on B1", !pDoc->HasNote(ScAddress(1, 0, 0))); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_MESSAGE("There shouldn't be a note on A1", !pDoc->HasNote(ScAddress(0, 0, 0))); CPPUNIT_ASSERT_MESSAGE("There shouldn't be a note on B1", !pDoc->HasNote(ScAddress(1, 0, 0))); dispatchCommand(mxComponent, ".uno:Redo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_MESSAGE("There should be a note on A1", pDoc->HasNote(ScAddress(0, 0, 0))); CPPUNIT_ASSERT_MESSAGE("There shouldn't be a note on B1", !pDoc->HasNote(ScAddress(1, 0, 0))); dispatchCommand(mxComponent, ".uno:Redo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_MESSAGE("There should be a note on A1", pDoc->HasNote(ScAddress(0, 0, 0))); CPPUNIT_ASSERT_MESSAGE("There should be a note on B1", pDoc->HasNote(ScAddress(1, 0, 0))); @@ -2352,6 +2421,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf130614) lcl_SelectObjectByName(*getViewShell(), u"Object 1"); dispatchCommand(mxComponent, ".uno:Copy", {}); + Scheduler::ProcessEventsToIdle(); // Open a new document createScDoc(); @@ -2359,6 +2429,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf130614) // Without the fix in place, this test would have crashed here dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); ScDrawLayer* pDrawLayer = pDoc->GetDrawLayer(); SdrPage* pPage = pDrawLayer->GetPage(0); @@ -2616,11 +2687,13 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf134675) goToCell("A:A"); dispatchCommand(mxComponent, ".uno:Copy", {}); + Scheduler::ProcessEventsToIdle(); // Select column B to Z goToCell("B:Z"); dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); for (size_t i = 1; i < 24; ++i) { @@ -2719,6 +2792,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf107952) goToCell("D10"); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); // Without the fix in place, this test would have failed with // - Expected: 1 @@ -2729,6 +2803,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf107952) goToCell("D10"); dispatchCommand(mxComponent, ".uno:Redo", {}); + Scheduler::ProcessEventsToIdle(); lcl_AssertCurrentCursorPosition(*pDocSh, u"B1"); } @@ -2765,11 +2840,13 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf144022) goToCell("A5:B79"); dispatchCommand(mxComponent, ".uno:Copy", {}); + Scheduler::ProcessEventsToIdle(); goToCell("D5"); //Without the fix in place, this test would have crashed dispatchCommand(mxComponent, ".uno:PasteTransposed", {}); + Scheduler::ProcessEventsToIdle(); for (size_t i = 3; i < 76; ++i) { @@ -2789,10 +2866,12 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf99386) goToCell("A1:B1"); dispatchCommand(mxComponent, ".uno:ToggleMergeCells", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString("0"), pDoc->GetString(ScAddress(1, 1, 0))); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString("This"), pDoc->GetString(ScAddress(1, 0, 0))); @@ -2852,6 +2931,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf152014) goToCell("A1"); dispatchCommand(mxComponent, ".uno:Copy", {}); + Scheduler::ProcessEventsToIdle(); // Create a second document mxComponent2 = loadFromDesktop("private:factory/scalc"); @@ -2860,6 +2940,7 @@ CPPUNIT_TEST_FIXTURE(ScUiCalcTest, testTdf152014) CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(2), xFrames->getCount()); dispatchCommand(mxComponent2, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); ScModelObj* pModelObj2 = dynamic_cast<ScModelObj*>(mxComponent2.get()); CPPUNIT_ASSERT(pModelObj2); diff --git a/sd/qa/unit/tiledrendering/LOKitSearchTest.cxx b/sd/qa/unit/tiledrendering/LOKitSearchTest.cxx index 2ba0a8f27848..f3beb12b3ce1 100644 --- a/sd/qa/unit/tiledrendering/LOKitSearchTest.cxx +++ b/sd/qa/unit/tiledrendering/LOKitSearchTest.cxx @@ -131,6 +131,7 @@ void LOKitSearchTest::lcl_search(const OUString& rKey, bool bFindAll, bool bBack })); dispatchCommand(mxComponent, ".uno:ExecuteSearch", aPropertyValues); + Scheduler::ProcessEventsToIdle(); } void LOKitSearchTest::lcl_replace(const OUString& rKey, const OUString& rReplace, bool bAll) @@ -146,6 +147,7 @@ void LOKitSearchTest::lcl_replace(const OUString& rKey, const OUString& rReplace })); dispatchCommand(mxComponent, ".uno:ExecuteSearch", aPropertyValues); + Scheduler::ProcessEventsToIdle(); } namespace diff --git a/sd/qa/unit/tiledrendering/tiledrendering.cxx b/sd/qa/unit/tiledrendering/tiledrendering.cxx index ad1c2564419b..67f81fa7be04 100644 --- a/sd/qa/unit/tiledrendering/tiledrendering.cxx +++ b/sd/qa/unit/tiledrendering/tiledrendering.cxx @@ -573,6 +573,7 @@ void SdTiledRenderingTest::testUndoShells() {"AttributePageSize.Height", uno::Any(static_cast<sal_Int32>(10000))}, })); dispatchCommand(mxComponent, ".uno:AttributePageSize", aPropertyValues); + Scheduler::ProcessEventsToIdle(); // Assert that view shell ID tracking works for SdUndoAction subclasses. SdDrawDocument* pDocument = pXImpressDocument->GetDoc(); @@ -731,6 +732,7 @@ void SdTiledRenderingTest::testInsertTable() })); dispatchCommand(mxComponent, ".uno:InsertTable", aArgs); + Scheduler::ProcessEventsToIdle(); // get the table sd::ViewShell* pViewShell = pXImpressDocument->GetDocShell()->GetViewShell(); @@ -756,6 +758,7 @@ void SdTiledRenderingTest::testDeleteTable() })); dispatchCommand(mxComponent, ".uno:InsertTable", aArgs); + Scheduler::ProcessEventsToIdle(); sd::ViewShell* pViewShell = pXImpressDocument->GetDocShell()->GetViewShell(); SdrView* pSdrView = pViewShell->GetView(); const SdrMarkList& rMarkList = pSdrView->GetMarkedObjectList(); @@ -1660,6 +1663,8 @@ void SdTiledRenderingTest::testTdf104405() uno::Sequence aArgs{ comphelper::makePropertyValue("PersistentCopy", true) }; dispatchCommand(mxComponent, ".uno:FormatPaintbrush", aArgs); + Scheduler::ProcessEventsToIdle(); + // now click on the table pView->MarkObj(pTableObject, pView->GetSdrPageView()); pTableObject->setActiveCell(sdr::table::CellPos(0,0)); @@ -1750,6 +1755,7 @@ void SdTiledRenderingTest::testTdf105502() // Grow font size for the selection. dispatchCommand(mxComponent, ".uno:Grow", {}); + Scheduler::ProcessEventsToIdle(); // Assert that the selected A1 has now a larger font than the unselected // A2. @@ -1799,6 +1805,7 @@ void SdTiledRenderingTest::testCommentCallbacks() {"Text", uno::Any(OUString("Comment"))}, }); dispatchCommand(mxComponent, ".uno:InsertAnnotation", aArgs); + Scheduler::ProcessEventsToIdle(); // We received a LOK_CALLBACK_COMMENT callback with comment 'Add' action CPPUNIT_ASSERT_EQUAL(std::string("Add"), aView1.m_aCommentCallbackResult.get<std::string>("action")); @@ -1823,6 +1830,7 @@ void SdTiledRenderingTest::testCommentCallbacks() {"Text", uno::Any(OUString("Reply to comment"))}, }); dispatchCommand(mxComponent, ".uno:ReplyToAnnotation", aArgs); + Scheduler::ProcessEventsToIdle(); // We received a LOK_CALLBACK_COMMENT callback with comment 'Modify' action CPPUNIT_ASSERT_EQUAL(std::string("Modify"), aView1.m_aCommentCallbackResult.get<std::string>("action")); @@ -1847,6 +1855,7 @@ void SdTiledRenderingTest::testCommentCallbacks() {"Text", uno::Any(OUString("Edited comment"))}, }); dispatchCommand(mxComponent, ".uno:EditAnnotation", aArgs); + Scheduler::ProcessEventsToIdle(); // We received a LOK_CALLBACK_COMMENT callback with comment 'Modify' action CPPUNIT_ASSERT_EQUAL(std::string("Modify"), aView1.m_aCommentCallbackResult.get<std::string>("action")); @@ -1864,6 +1873,7 @@ void SdTiledRenderingTest::testCommentCallbacks() {"Id", uno::Any(OUString::number(nComment1))}, }); dispatchCommand(mxComponent, ".uno:DeleteAnnotation", aArgs); + Scheduler::ProcessEventsToIdle(); // We received a LOK_CALLBACK_COMMENT callback with comment 'Remove' action CPPUNIT_ASSERT_EQUAL(std::string("Remove"), aView1.m_aCommentCallbackResult.get<std::string>("action")); @@ -1895,6 +1905,7 @@ void SdTiledRenderingTest::testCommentChangeImpress() {"Text", uno::Any(OUString("Comment"))}, }); dispatchCommand(mxComponent, ".uno:InsertAnnotation", aArgs); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(std::string("Add"), aView1.m_aCommentCallbackResult.get<std::string>("action")); @@ -1912,6 +1923,7 @@ void SdTiledRenderingTest::testCommentChangeImpress() {"PositionY", uno::Any(sal_Int32(20))} }); dispatchCommand(mxComponent, ".uno:EditAnnotation", aArgs); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(std::string("Modify"), aView1.m_aCommentCallbackResult.get<std::string>("action")); CPPUNIT_ASSERT_EQUAL(std::string("Comment"), aView1.m_aCommentCallbackResult.get<std::string>("text")); @@ -1941,6 +1953,7 @@ void SdTiledRenderingTest::testCommentChangeDraw() {"Text", uno::Any(OUString("Comment"))}, }); dispatchCommand(mxComponent, ".uno:InsertAnnotation", aArgs); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(std::string("Add"), aView1.m_aCommentCallbackResult.get<std::string>("action")); @@ -1958,6 +1971,7 @@ void SdTiledRenderingTest::testCommentChangeDraw() {"PositionY", uno::Any(sal_Int32(20))} }); dispatchCommand(mxComponent, ".uno:EditAnnotation", aArgs); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(std::string("Modify"), aView1.m_aCommentCallbackResult.get<std::string>("action")); CPPUNIT_ASSERT_EQUAL(std::string("Comment"), aView1.m_aCommentCallbackResult.get<std::string>("text")); @@ -1990,6 +2004,7 @@ void SdTiledRenderingTest::testMultiViewInsertDeletePage() // Insert slide in 1st view SfxLokHelper::setView(nView1); dispatchCommand(mxComponent, ".uno:InsertPage", aArgs); + Scheduler::ProcessEventsToIdle(); // See if the current slide number changed in 2nd view too SfxLokHelper::setView(nView2); @@ -1998,6 +2013,7 @@ void SdTiledRenderingTest::testMultiViewInsertDeletePage() // Delete the page in 1st view now SfxLokHelper::setView(nView1); dispatchCommand(mxComponent, ".uno:DeletePage", aArgs); + Scheduler::ProcessEventsToIdle(); // See if current slide number changed in 2nd view too SfxLokHelper::setView(nView2); @@ -2051,6 +2067,7 @@ void SdTiledRenderingTest::testMultiViewInsertDeletePage2() // Insert slide in 1st view SfxLokHelper::setView(nView1); dispatchCommand(mxComponent, ".uno:InsertPage", aArgs); + Scheduler::ProcessEventsToIdle(); // See if the current slide number changed in 2nd view too SfxLokHelper::setView(nView2); @@ -2059,6 +2076,7 @@ void SdTiledRenderingTest::testMultiViewInsertDeletePage2() // Delete the page in 1st view now SfxLokHelper::setView(nView1); dispatchCommand(mxComponent, ".uno:DeletePage", aArgs); + Scheduler::ProcessEventsToIdle(); // See if current slide number changed in 2nd view too SfxLokHelper::setView(nView2); @@ -2233,6 +2251,7 @@ void SdTiledRenderingTest::testLanguageAllText() { "Language", uno::Any(OUString("Default_English (USA)")) }, }); dispatchCommand(mxComponent, ".uno:LanguageStatus", aArgs); + Scheduler::ProcessEventsToIdle(); // Assert that the shape text language was changed. uno::Reference<drawing::XDrawPagesSupplier> xDrawPagesSupplier(mxComponent, uno::UNO_QUERY); @@ -2325,6 +2344,7 @@ void SdTiledRenderingTest::testTdf115783() { "FontHeight.Height", uno::Any(static_cast<float>(12)) }, }); dispatchCommand(mxComponent, ".uno:FontHeight", aArgs); + Scheduler::ProcessEventsToIdle(); // Create a text selection on the B1 cell. pTableObject->setActiveCell(sdr::table::CellPos(1, 0)); @@ -2337,9 +2357,11 @@ void SdTiledRenderingTest::testTdf115783() // Copy selection, paste at the start of the cell. aArgs = {}; dispatchCommand(mxComponent, ".uno:Copy", aArgs); + Scheduler::ProcessEventsToIdle(); rEditView.SetSelection(ESelection(0, 0, 0, 0)); aArgs = {}; dispatchCommand(mxComponent, ".uno:Paste", aArgs); + Scheduler::ProcessEventsToIdle(); pView->SdrEndTextEdit(); // And now verify that the cell has the correct font size. @@ -2399,6 +2421,7 @@ void SdTiledRenderingTest::testPasteTextOnSlide() // Copy some text dispatchCommand(mxComponent, ".uno:Copy", uno::Sequence<beans::PropertyValue>()); + Scheduler::ProcessEventsToIdle(); pXImpressDocument->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 0, awt::Key::ESCAPE); pXImpressDocument->postKeyEvent(LOK_KEYEVENT_KEYUP, 0, awt::Key::ESCAPE); @@ -2406,6 +2429,7 @@ void SdTiledRenderingTest::testPasteTextOnSlide() // Paste onto the slide dispatchCommand(mxComponent, ".uno:Paste", uno::Sequence<beans::PropertyValue>()); + Scheduler::ProcessEventsToIdle(); pXImpressDocument->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 0, awt::Key::ESCAPE); pXImpressDocument->postKeyEvent(LOK_KEYEVENT_KEYUP, 0, awt::Key::ESCAPE); @@ -2504,6 +2528,7 @@ void SdTiledRenderingTest::testCutSelectionChange() // Cut the selected text dispatchCommand(mxComponent, ".uno:Cut", uno::Sequence<beans::PropertyValue>()); + Scheduler::ProcessEventsToIdle(); // Selection is removed CPPUNIT_ASSERT_EQUAL(static_cast<std::size_t>(0), m_aSelection.size()); @@ -2533,6 +2558,7 @@ void SdTiledRenderingTest::testRegenerateDiagram() // regenerate diagram dispatchCommand(mxComponent, ".uno:RegenerateDiagram", uno::Sequence<beans::PropertyValue>()); + Scheduler::ProcessEventsToIdle(); // diagram content (child shape count) should be the same as in the beginning CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(4), pActualPage->GetObj(0)->GetSubList()->GetObjCount()); @@ -2549,6 +2575,7 @@ void SdTiledRenderingTest::testInsertDeletePageInvalidation() aView1.m_bTilesInvalidated = false; aView1.m_aInvalidations.clear(); dispatchCommand(mxComponent, ".uno:InsertPage", uno::Sequence<beans::PropertyValue>()); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT(aView1.m_bTilesInvalidated); CPPUNIT_ASSERT_EQUAL(9, pXImpressDocument->getParts()); CPPUNIT_ASSERT_EQUAL(size_t(9), aView1.m_aInvalidations.size()); @@ -2557,6 +2584,7 @@ void SdTiledRenderingTest::testInsertDeletePageInvalidation() aView1.m_bTilesInvalidated = false; aView1.m_aInvalidations.clear(); dispatchCommand(mxComponent, ".uno:DeletePage", uno::Sequence<beans::PropertyValue>()); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT(aView1.m_bTilesInvalidated); CPPUNIT_ASSERT_EQUAL(8, pXImpressDocument->getParts()); CPPUNIT_ASSERT_EQUAL(size_t(8), aView1.m_aInvalidations.size()); @@ -2605,6 +2633,7 @@ void SdTiledRenderingTest::testSlideDuplicateUndo() // Duplicate the first slide on view 1 and undo it. SfxLokHelper::setView(nView1); dispatchCommand(mxComponent, ".uno:DuplicatePage", {}); + Scheduler::ProcessEventsToIdle(); pXImpressDocument->setPart(0, /*bAllowChangeFocus=*/false); pXImpressDocument->setPart(1, /*bAllowChangeFocus=*/false); SfxLokHelper::setView(nView0); @@ -2670,6 +2699,7 @@ void SdTiledRenderingTest::testMoveShapeHandle() {"NewPosY", uno::Any(y+1)} })); dispatchCommand(mxComponent, ".uno:MoveShapeHandle", aPropertyValues); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT(!aView1.m_ShapeSelection.isEmpty()); lcl_extractHandleParameters(aView1.m_ShapeSelection, id, x ,y); CPPUNIT_ASSERT_EQUAL(x-1, oldX); @@ -2693,10 +2723,13 @@ void SdTiledRenderingTest::testPasteUndo() ESelection aWordSelection(0, 0, 0, 1); // "w" of "world" rEditView.SetSelection(aWordSelection); dispatchCommand(mxComponent, ".uno:Cut", {}); + Scheduler::ProcessEventsToIdle(); // When undoing a paste: dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); // Then make sure the cursor position is still at the beginning: ESelection aSelection = rEditView.GetSelection(); diff --git a/sd/qa/unit/uiimpress.cxx b/sd/qa/unit/uiimpress.cxx index 1f0aaca24fdd..ebe2f40fa579 100644 --- a/sd/qa/unit/uiimpress.cxx +++ b/sd/qa/unit/uiimpress.cxx @@ -162,6 +162,7 @@ void SdUiImpressTest::lcl_search(const OUString& rKey, bool bFindAll, bool bBack })); dispatchCommand(mxComponent, ".uno:ExecuteSearch", aPropertyValues); + Scheduler::ProcessEventsToIdle(); } CPPUNIT_TEST_FIXTURE(SdUiImpressTest, testTdf111522) @@ -264,6 +265,7 @@ CPPUNIT_TEST_FIXTURE(SdUiImpressTest, testTdf124708) createSdImpressDoc("tdf124708.ppt"); dispatchCommand(mxComponent, ".uno:NextPage", {}); + Scheduler::ProcessEventsToIdle(); checkCurrentPageNumber(2); @@ -273,13 +275,16 @@ CPPUNIT_TEST_FIXTURE(SdUiImpressTest, testTdf124708) CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(16), pActualPage->GetObjCount()); dispatchCommand(mxComponent, ".uno:SelectAll", {}); + Scheduler::ProcessEventsToIdle(); // Without the fix in place, this test would have crashed here dispatchCommand(mxComponent, ".uno:Delete", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(0), pActualPage->GetObjCount()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(16), pActualPage->GetObjCount()); } @@ -384,12 +389,16 @@ CPPUNIT_TEST_FIXTURE(SdUiImpressTest, testTdf139996) // Without the fix in place, this test would have crashed here dispatchCommand(mxComponent, ".uno:MovePageUp", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:MovePageDown", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:MovePageTop", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:MovePageBottom", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(0, rPageSelector.GetSelectedPageCount()); } @@ -434,6 +443,7 @@ CPPUNIT_TEST_FIXTURE(SdUiImpressTest, testTdf126605) createSdImpressDoc(); dispatchCommand(mxComponent, ".uno:InsertPage", {}); + Scheduler::ProcessEventsToIdle(); insertStringToObject(0, u"Test", /*bUseEscape*/ false); @@ -460,11 +470,13 @@ CPPUNIT_TEST_FIXTURE(SdUiImpressTest, testTdf126605) // Without the fix in place, this test would have crashed here dispatchCommand(mxComponent, ".uno:ParaRightToLeft", {}); + Scheduler::ProcessEventsToIdle(); xPropSet->getPropertyValue("WritingMode") >>= nWritingMode; CPPUNIT_ASSERT_EQUAL(text::WritingMode2::RL_TB, nWritingMode); dispatchCommand(mxComponent, ".uno:ParaLeftToRight", {}); + Scheduler::ProcessEventsToIdle(); xPropSet->getPropertyValue("WritingMode") >>= nWritingMode; CPPUNIT_ASSERT_EQUAL(text::WritingMode2::LR_TB, nWritingMode); @@ -475,12 +487,15 @@ CPPUNIT_TEST_FIXTURE(SdUiImpressTest, testTdf100950) createSdImpressDoc(); dispatchCommand(mxComponent, ".uno:InsertPage", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:InsertPage", {}); + Scheduler::ProcessEventsToIdle(); insertStringToObject(0, u"Test", /*bUseEscape*/ true); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); sd::slidesorter::SlideSorterViewShell* pSSVS = getSlideSorterViewShell(); auto& rSSController = pSSVS->GetSlideSorter().GetController(); @@ -495,12 +510,15 @@ CPPUNIT_TEST_FIXTURE(SdUiImpressTest, testTdf129346) createSdImpressDoc(); dispatchCommand(mxComponent, ".uno:DiaMode", {}); + Scheduler::ProcessEventsToIdle(); checkCurrentPageNumber(1); dispatchCommand(mxComponent, ".uno:InsertPage", {}); + Scheduler::ProcessEventsToIdle(); checkCurrentPageNumber(2); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); checkCurrentPageNumber(1); } @@ -518,6 +536,7 @@ CPPUNIT_TEST_FIXTURE(SdUiImpressTest, testmoveSlides) { "IsPageObj", uno::Any(false) } })); dispatchCommand(mxComponent, ".uno:InsertPage", aArgs); + Scheduler::ProcessEventsToIdle(); checkCurrentPageNumber(2); CPPUNIT_ASSERT_EQUAL(OUString("Test 1"), pViewShell->GetActualPage()->GetName()); @@ -528,6 +547,7 @@ CPPUNIT_TEST_FIXTURE(SdUiImpressTest, testmoveSlides) { "IsPageObj", uno::Any(false) } }); dispatchCommand(mxComponent, ".uno:InsertPage", aArgs); + Scheduler::ProcessEventsToIdle(); checkCurrentPageNumber(3); CPPUNIT_ASSERT_EQUAL(OUString("Test 2"), pViewShell->GetActualPage()->GetName()); @@ -536,6 +556,7 @@ CPPUNIT_TEST_FIXTURE(SdUiImpressTest, testmoveSlides) for (size_t i = 2; i > 0; --i) { dispatchCommand(mxComponent, ".uno:MovePageUp", {}); + Scheduler::ProcessEventsToIdle(); checkCurrentPageNumber(i); CPPUNIT_ASSERT_EQUAL(OUString("Test 2"), pViewShell->GetActualPage()->GetName()); } @@ -544,17 +565,20 @@ CPPUNIT_TEST_FIXTURE(SdUiImpressTest, testmoveSlides) for (size_t i = 2; i < 4; ++i) { dispatchCommand(mxComponent, ".uno:MovePageDown", {}); + Scheduler::ProcessEventsToIdle(); checkCurrentPageNumber(i); CPPUNIT_ASSERT_EQUAL(OUString("Test 2"), pViewShell->GetActualPage()->GetName()); } // Move slide 'Test 2' to the top dispatchCommand(mxComponent, ".uno:MovePageFirst", {}); + Scheduler::ProcessEventsToIdle(); checkCurrentPageNumber(1); CPPUNIT_ASSERT_EQUAL(OUString("Test 2"), pViewShell->GetActualPage()->GetName()); // Move slide 'Test 2' to the bottom dispatchCommand(mxComponent, ".uno:MovePageLast", {}); + Scheduler::ProcessEventsToIdle(); checkCurrentPageNumber(3); CPPUNIT_ASSERT_EQUAL(OUString("Test 2"), pViewShell->GetActualPage()->GetName()); } @@ -588,42 +612,52 @@ CPPUNIT_TEST_FIXTURE(SdUiImpressTest, testTdf148620) uno::Sequence<beans::PropertyValue> aArgs( comphelper::InitPropertySequence({ { "KeyModifier", uno::Any(sal_Int32(0)) } })); dispatchCommand(mxComponent, ".uno:OutlineUp", aArgs); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString(u"One\nTwo\nThree\nFour\nsix\nFive"), xShape->getString()); dispatchCommand(mxComponent, ".uno:OutlineUp", aArgs); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString(u"One\nTwo\nThree\nsix\nFour\nFive"), xShape->getString()); dispatchCommand(mxComponent, ".uno:OutlineUp", aArgs); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString(u"One\nTwo\nsix\nThree\nFour\nFive"), xShape->getString()); dispatchCommand(mxComponent, ".uno:OutlineUp", aArgs); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString(u"One\nsix\nTwo\nThree\nFour\nFive"), xShape->getString()); dispatchCommand(mxComponent, ".uno:OutlineUp", aArgs); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString(u"six\nOne\nTwo\nThree\nFour\nFive"), xShape->getString()); dispatchCommand(mxComponent, ".uno:OutlineDown", aArgs); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString(u"One\nsix\nTwo\nThree\nFour\nFive"), xShape->getString()); dispatchCommand(mxComponent, ".uno:OutlineDown", aArgs); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString(u"One\nTwo\nsix\nThree\nFour\nFive"), xShape->getString()); dispatchCommand(mxComponent, ".uno:OutlineDown", aArgs); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString(u"One\nTwo\nThree\nsix\nFour\nFive"), xShape->getString()); dispatchCommand(mxComponent, ".uno:OutlineDown", aArgs); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString(u"One\nTwo\nThree\nFour\nsix\nFive"), xShape->getString()); dispatchCommand(mxComponent, ".uno:OutlineDown", aArgs); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString(u"One\nTwo\nThree\nFour\nFive\nsix"), xShape->getString()); } @@ -638,6 +672,7 @@ CPPUNIT_TEST_FIXTURE(SdUiImpressTest, testTdf141703) { { "Rows", uno::Any(sal_Int32(2)) }, { "Columns", uno::Any(sal_Int32(2)) } })); dispatchCommand(mxComponent, ".uno:InsertTable", aArgs); + Scheduler::ProcessEventsToIdle(); // Move to A1 using Alt + Tab and write 'A' for (int i = 0; i < 3; i++) @@ -693,10 +728,12 @@ CPPUNIT_TEST_FIXTURE(SdUiImpressTest, testTdf127481) { { "Rows", uno::Any(sal_Int32(1)) }, { "Columns", uno::Any(sal_Int32(1)) } })); dispatchCommand(mxComponent, ".uno:InsertTable", aArgs); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(3), pActualPage->GetObjCount()); dispatchCommand(mxComponent, ".uno:DuplicatePage", aArgs); + Scheduler::ProcessEventsToIdle(); checkCurrentPageNumber(2); @@ -823,6 +860,7 @@ CPPUNIT_TEST_FIXTURE(SdUiImpressTest, testTdf38669) uno::Sequence<beans::PropertyValue> aArgs( comphelper::InitPropertySequence({ { "KeyModifier", uno::Any(KEY_MOD1) } })); dispatchCommand(mxComponent, ".uno:BasicShapes.rectangle", aArgs); + Scheduler::ProcessEventsToIdle(); uno::Reference<drawing::XDrawPagesSupplier> xDrawPagesSupplier(mxComponent, uno::UNO_QUERY); uno::Reference<drawing::XDrawPage> xDrawPage(xDrawPagesSupplier->getDrawPages()->getByIndex(0), @@ -857,6 +895,7 @@ CPPUNIT_TEST_FIXTURE(SdUiImpressTest, testTdf151417) // Without the fix in place, this test would have crashed here dispatchCommand(mxComponent, ".uno:Edit", aArgs); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(3), xDrawPage->getCount()); } @@ -871,6 +910,7 @@ CPPUNIT_TEST_FIXTURE(SdUiImpressTest, testTdf123841) uno::Sequence<beans::PropertyValue> aArgs( comphelper::InitPropertySequence({ { "KeyModifier", uno::Any(KEY_MOD1) } })); dispatchCommand(mxComponent, ".uno:Rect_Unfilled", aArgs); + Scheduler::ProcessEventsToIdle(); uno::Reference<drawing::XDrawPagesSupplier> xDrawPagesSupplier(mxComponent, uno::UNO_QUERY); uno::Reference<drawing::XDrawPage> xDrawPage(xDrawPagesSupplier->getDrawPages()->getByIndex(0), @@ -957,11 +997,13 @@ CPPUNIT_TEST_FIXTURE(SdUiImpressTest, testCharColorTheme) xController->select(uno::Any(xShape)); Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Text", {}); + Scheduler::ProcessEventsToIdle(); auto pImpressDocument = dynamic_cast<SdXImpressDocument*>(mxComponent.get()); sd::ViewShell* pViewShell = pImpressDocument->GetDocShell()->GetViewShell(); SdrView* pView = pViewShell->GetView(); CPPUNIT_ASSERT(pView->IsTextEdit()); dispatchCommand(mxComponent, ".uno:SelectAll", {}); + Scheduler::ProcessEventsToIdle(); // When picking a theme color on the sidebar: uno::Sequence<beans::PropertyValue> aColorArgs = { @@ -971,6 +1013,7 @@ CPPUNIT_TEST_FIXTURE(SdUiImpressTest, testCharColorTheme) comphelper::makePropertyValue("ColorLumOff", static_cast<sal_Int16>(8000)), }; dispatchCommand(mxComponent, ".uno:Color", aColorArgs); + Scheduler::ProcessEventsToIdle(); // Then make sure the theme "metadata" is set in the document model: pView->EndTextEditCurrentView(); @@ -1017,6 +1060,7 @@ CPPUNIT_TEST_FIXTURE(SdUiImpressTest, testFillColorTheme) comphelper::makePropertyValue("ColorLumOff", static_cast<sal_Int16>(6000)), }; dispatchCommand(mxComponent, ".uno:FillColor", aColorArgs); + Scheduler::ProcessEventsToIdle(); // Then make sure the theme index is not lost when the sidebar sets it: { @@ -1054,6 +1098,7 @@ CPPUNIT_TEST_FIXTURE(SdUiImpressTest, testTdf127696) createSdImpressDoc(); dispatchCommand(mxComponent, ".uno:InsertPage", {}); + Scheduler::ProcessEventsToIdle(); insertStringToObject(0, u"Test", /*bUseEscape*/ false); dispatchCommand(mxComponent, ".uno:SelectAll", {}); diff --git a/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx b/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx index 235a5ccaf757..e412c8249a65 100644 --- a/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx +++ b/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx @@ -334,6 +334,7 @@ CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testOnlineNodeSplitAppend) // Undo second change dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString("He heard quiet steps behind him. "), getParagraph(1)->getString()); CPPUNIT_ASSERT_EQUAL(OUString("That didn't bode well. Who could be following him this late at " @@ -350,6 +351,7 @@ CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testOnlineNodeSplitAppend) // Undo first change dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(2), pDoc->getOnlineAccessibilityCheck()->getNumberOfAccessibilityIssues()); CPPUNIT_ASSERT_EQUAL( diff --git a/sw/qa/extras/layout/layout.cxx b/sw/qa/extras/layout/layout.cxx index 354d45eae44a..3d3ec308e2ab 100644 --- a/sw/qa/extras/layout/layout.cxx +++ b/sw/qa/extras/layout/layout.cxx @@ -3692,6 +3692,7 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter, testKeepWithNextPlusFlyFollowTextFlow) } dispatchCommand(mxComponent, ".uno:Fieldnames", {}); + Scheduler::ProcessEventsToIdle(); { xmlDocUniquePtr pXmlDoc = parseLayoutDump(); @@ -3709,6 +3710,7 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter, testKeepWithNextPlusFlyFollowTextFlow) } dispatchCommand(mxComponent, ".uno:Fieldnames", {}); + Scheduler::ProcessEventsToIdle(); { xmlDocUniquePtr pXmlDoc = parseLayoutDump(); diff --git a/sw/qa/extras/tiledrendering/tiledrendering.cxx b/sw/qa/extras/tiledrendering/tiledrendering.cxx index cf35dfa7852f..8c205e9ea167 100644 --- a/sw/qa/extras/tiledrendering/tiledrendering.cxx +++ b/sw/qa/extras/tiledrendering/tiledrendering.cxx @@ -1252,6 +1252,7 @@ CPPUNIT_TEST_FIXTURE(SwTiledRenderingTest, testUndoReordering) // When view 1 presses undo: SfxLokHelper::setView(nView1); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); // Then make sure view 1's last undo action is invoked, out of order: // Without the accompanying fix in place, this test would have failed with: @@ -1301,9 +1302,11 @@ CPPUNIT_TEST_FIXTURE(SwTiledRenderingTest, testUndoReorderingRedo) // When view 1 presses undo, twice: SfxLokHelper::setView(nView1); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); // First just s(econd) is erased: CPPUNIT_ASSERT_EQUAL(OUString("f"), pTextNode1->GetText()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); // Then make sure view 1's undo actions are invoked, out of order: // Without the accompanying fix in place, this test would have failed with: @@ -1353,6 +1356,7 @@ CPPUNIT_TEST_FIXTURE(SwTiledRenderingTest, testUndoReorderingMulti) // When view 1 presses undo: SfxLokHelper::setView(nView1); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); // Then make sure view 1's undo action is invoked, out of order: // Without the accompanying fix in place, this test would have failed with: diff --git a/sw/qa/extras/uiwriter/uiwriter.cxx b/sw/qa/extras/uiwriter/uiwriter.cxx index 47df30709462..5cad83ed7b0f 100644 --- a/sw/qa/extras/uiwriter/uiwriter.cxx +++ b/sw/qa/extras/uiwriter/uiwriter.cxx @@ -1480,6 +1480,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest, testTdf137532) CPPUNIT_ASSERT_EQUAL(awt::FontWeight::BOLD, getProperty<float>(xCursor, "CharWeight")); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); xCursor.set(xText->createTextCursorByRange(getRun(getParagraph(1), 1))); CPPUNIT_ASSERT(xCursor.is()); @@ -1491,6 +1492,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest, testTdf137532) CPPUNIT_ASSERT_EQUAL(awt::FontWeight::BOLD, getProperty<float>(xCursor, "CharWeight")); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); xCursor.set(xText->createTextCursorByRange(getRun(getParagraph(1), 1))); CPPUNIT_ASSERT(xCursor.is()); diff --git a/sw/qa/extras/uiwriter/uiwriter2.cxx b/sw/qa/extras/uiwriter/uiwriter2.cxx index 660ca509496c..f0740d2f8154 100644 --- a/sw/qa/extras/uiwriter/uiwriter2.cxx +++ b/sw/qa/extras/uiwriter/uiwriter2.cxx @@ -447,6 +447,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest2, testTdf134250) // this would crash in 2 different ways dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xTables->getCount()); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xSections->getCount()); @@ -456,11 +457,13 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest2, testTdf134250) xTextContent->getAnchor()->getString()); dispatchCommand(mxComponent, ".uno:Redo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xTables->getCount()); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xSections->getCount()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xTables->getCount()); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xSections->getCount()); @@ -468,6 +471,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest2, testTdf134250) xTextContent->getAnchor()->getString()); dispatchCommand(mxComponent, ".uno:Redo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xTables->getCount()); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xSections->getCount()); @@ -503,12 +507,14 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest2, testTdf134436) // first, the section doesn't get deleted dispatchCommand(mxComponent, ".uno:Delete", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(0), xTables->getCount()); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xSections->getCount()); CPPUNIT_ASSERT_EQUAL(OUString(""), pWrtShell->GetCursor()->GetText()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xTables->getCount()); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xSections->getCount()); @@ -516,12 +522,14 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest2, testTdf134436) // second, the section does get deleted because point is at the end dispatchCommand(mxComponent, ".uno:Delete", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(0), xTables->getCount()); CPPUNIT_ASSERT_EQUAL(sal_Int32(0), xSections->getCount()); CPPUNIT_ASSERT_EQUAL(OUString(""), pWrtShell->GetCursor()->GetText()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xTables->getCount()); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xSections->getCount()); @@ -529,18 +537,21 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest2, testTdf134436) // the problem was that the section was not deleted on Redo dispatchCommand(mxComponent, ".uno:Redo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(0), xTables->getCount()); CPPUNIT_ASSERT_EQUAL(sal_Int32(0), xSections->getCount()); CPPUNIT_ASSERT_EQUAL(OUString(""), pWrtShell->GetCursor()->GetText()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xTables->getCount()); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xSections->getCount()); CPPUNIT_ASSERT_EQUAL(OUString("a\nb\n"), pWrtShell->GetCursor()->GetText()); dispatchCommand(mxComponent, ".uno:Redo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(0), xTables->getCount()); CPPUNIT_ASSERT_EQUAL(sal_Int32(0), xSections->getCount()); @@ -571,6 +582,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest2, testTdf134252) xCursor->getString()); dispatchCommand(mxComponent, ".uno:Delete", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(0), xTables->getCount()); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xSections->getCount()); @@ -578,6 +590,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest2, testTdf134252) // this would crash dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xTables->getCount()); CPPUNIT_ASSERT_EQUAL(sal_Int32(2), xSections->getCount()); @@ -585,12 +598,14 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest2, testTdf134252) xCursor->getString()); dispatchCommand(mxComponent, ".uno:Redo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(0), xTables->getCount()); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xSections->getCount()); CPPUNIT_ASSERT_EQUAL(OUString(""), xCursor->getString()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xTables->getCount()); CPPUNIT_ASSERT_EQUAL(sal_Int32(2), xSections->getCount()); @@ -598,6 +613,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest2, testTdf134252) xCursor->getString()); dispatchCommand(mxComponent, ".uno:Redo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(0), xTables->getCount()); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xSections->getCount()); diff --git a/sw/qa/extras/uiwriter/uiwriter3.cxx b/sw/qa/extras/uiwriter/uiwriter3.cxx index f81232ddca62..f0cbf7339937 100644 --- a/sw/qa/extras/uiwriter/uiwriter3.cxx +++ b/sw/qa/extras/uiwriter/uiwriter3.cxx @@ -47,14 +47,17 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf145731) 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()); @@ -67,29 +70,36 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf147199) CPPUNIT_ASSERT_EQUAL(7, getShapes()); dispatchCommand(mxComponent, ".uno:SelectAll", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Cut", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(0, getShapes()); dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(7, getShapes()); dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(14, getShapes()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(7, getShapes()); // Without the fix in place, this test would have crashed here dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(0, getShapes()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(7, getShapes()); } @@ -101,13 +111,16 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf139843) int nPages = getPages(); dispatchCommand(mxComponent, ".uno:SelectAll", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Cut", {}); + Scheduler::ProcessEventsToIdle(); 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(nPages, getPages()); } @@ -118,8 +131,10 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf146848) createSwDoc("tdf77014.odt"); dispatchCommand(mxComponent, ".uno:SelectAll", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Cut", {}); + Scheduler::ProcessEventsToIdle(); uno::Reference<text::XTextFieldsSupplier> xTextFieldsSupplier(mxComponent, uno::UNO_QUERY); uno::Reference<container::XEnumerationAccess> xFieldsAccess( @@ -129,6 +144,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf146848) // Without the fix in place, this test would have crashed here dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); xFields = xFieldsAccess->createEnumeration(); @@ -149,24 +165,29 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf149507) 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()); dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(1, getShapes()); CPPUNIT_ASSERT_EQUAL(1, getPages()); // Without the fix in place, this test would have crashed here dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(0, getShapes()); CPPUNIT_ASSERT_EQUAL(1, getPages()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(1, getShapes()); CPPUNIT_ASSERT_EQUAL(1, getPages()); @@ -177,6 +198,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf114973) createSwDoc("tdf114973.fodt"); dispatchCommand(mxComponent, ".uno:SelectAll", {}); + Scheduler::ProcessEventsToIdle(); SwDoc* const pDoc = getSwDoc(); SwWrtShell* const pWrtShell = pDoc->GetDocShell()->GetWrtShell(); @@ -184,15 +206,18 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf114973) CPPUNIT_ASSERT(!pWrtShell->IsInHeaderFooter()); dispatchCommand(mxComponent, ".uno:Copy", {}); + Scheduler::ProcessEventsToIdle(); // check that hidden paragraphs at start and end are deleted dispatchCommand(mxComponent, ".uno:Delete", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(int(1), getParagraphs()); CPPUNIT_ASSERT_EQUAL(OUString(), getParagraph(1)->getString()); // check that hidden paragraphs at start and end are copied dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(int(3), getParagraphs()); CPPUNIT_ASSERT_EQUAL(OUString("hidden first paragraph"), getParagraph(1)->getString()); @@ -210,14 +235,17 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf145321) CPPUNIT_ASSERT_EQUAL(3, 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:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(3, getShapes()); CPPUNIT_ASSERT_EQUAL(3, getPages()); @@ -652,12 +680,15 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf138482) CPPUNIT_ASSERT_EQUAL(2, getShapes()); dispatchCommand(mxComponent, ".uno:SelectAll", {}); + Scheduler::ProcessEventsToIdle(); // Without the fix in place, this test would have crashed here dispatchCommand(mxComponent, ".uno:Delete", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(0, getShapes()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(2, getShapes()); } @@ -673,13 +704,16 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf134965) for (sal_Int32 i = 0; i < 10; ++i) { dispatchCommand(mxComponent, ".uno:SelectAll", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Cut", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(0), xIndexAccess->getCount()); // Without the fix in place, this test would have crashed here dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(2), xIndexAccess->getCount()); } @@ -697,9 +731,11 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf128375) CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xIndexAccess->getCount()); dispatchCommand(mxComponent, ".uno:SelectAll", {}); + Scheduler::ProcessEventsToIdle(); // Without the fix in place, this test would have crashed cutting the second document dispatchCommand(mxComponent, ".uno:Cut", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(0), xIndexAccess->getCount()); } @@ -716,12 +752,15 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf135061) CPPUNIT_ASSERT_EQUAL(4, getShapes()); dispatchCommand(mxComponent, ".uno:SelectAll", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Copy", {}); + Scheduler::ProcessEventsToIdle(); for (sal_Int32 i = 0; i < 5; ++i) { dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); } CPPUNIT_ASSERT_EQUAL(sal_Int32(6), xIndexAccess->getCount()); @@ -731,6 +770,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf135061) { // Without the fix in place, this test would have crashed here dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); } CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xIndexAccess->getCount()); @@ -765,10 +805,12 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf132911) CPPUNIT_ASSERT_EQUAL(8, getShapes()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xIndexAccess->getCount()); CPPUNIT_ASSERT_EQUAL(4, getShapes()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(0), xIndexAccess->getCount()); CPPUNIT_ASSERT_EQUAL(0, getShapes()); @@ -781,15 +823,18 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf132911) CPPUNIT_ASSERT_EQUAL(8, getShapes()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xIndexAccess->getCount()); CPPUNIT_ASSERT_EQUAL(4, getShapes()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(0), xIndexAccess->getCount()); CPPUNIT_ASSERT_EQUAL(0, getShapes()); //tdf#135247: Without the fix in place, this would have crashed dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xIndexAccess->getCount()); CPPUNIT_ASSERT_EQUAL(4, getShapes()); } @@ -841,6 +886,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf124904) // remove the first word "Heading" (with change tracking) to update the referenced text dispatchCommand(mxComponent, ".uno:DelToEndOfWord", {}); + Scheduler::ProcessEventsToIdle(); // This was "Reference to Heading of document file" CPPUNIT_ASSERT_EQUAL(OUString("Reference to of example document "), @@ -848,6 +894,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf124904) // don't hide the wholly deleted referenced text dispatchCommand(mxComponent, ".uno:DelToEndOfLine", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString("Reference to Heading of example document file"), getParagraph(2)->getString()); } @@ -880,18 +927,22 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf134404) CPPUNIT_ASSERT_EQUAL(1, getPages()); dispatchCommand(mxComponent, ".uno:GoToEndOfPage", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:InsertPagebreak", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(1, getShapes()); CPPUNIT_ASSERT_EQUAL(2, getPages()); dispatchCommand(mxComponent, ".uno:SwBackspace", {}); + Scheduler::ProcessEventsToIdle(); // Without the fix in place, the image would have been deleted CPPUNIT_ASSERT_EQUAL(1, getShapes()); CPPUNIT_ASSERT_EQUAL(1, getPages()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(1, getShapes()); CPPUNIT_ASSERT_EQUAL(2, getPages()); } @@ -920,12 +971,15 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf132321) CPPUNIT_ASSERT_EQUAL(1, getShapes()); dispatchCommand(mxComponent, ".uno:GoToEndOfPage", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:SwBackspace", {}); + Scheduler::ProcessEventsToIdle(); // Without the fix in place, the button form would have also been deleted CPPUNIT_ASSERT_EQUAL(1, getShapes()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(1, getShapes()); } @@ -966,9 +1020,11 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf132597) { { "SelectedFormat", uno::Any(static_cast<sal_uInt32>(SotClipboardFormatId::RTF)) } }); dispatchCommand(mxComponent, ".uno:ClipboardFormatItems", aPropertyValues); + Scheduler::ProcessEventsToIdle(); // Without the fix in place, this test would have crashed here dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(1, getShapes()); CPPUNIT_ASSERT_EQUAL(1, getPages()); @@ -989,9 +1045,11 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf139737) { { "SelectedFormat", uno::Any(static_cast<sal_uInt32>(SotClipboardFormatId::RTF)) } }); dispatchCommand(mxComponent, ".uno:ClipboardFormatItems", aPropertyValues); + Scheduler::ProcessEventsToIdle(); // Without the fix in place, this test would have crashed here dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); } CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf150845) @@ -1003,6 +1061,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf150845) uno::Sequence<beans::PropertyValue> aArgs( comphelper::InitPropertySequence({ { "KeyModifier", uno::Any(KEY_MOD1) } })); dispatchCommand(mxComponent, ".uno:Edit", aArgs); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(1, getShapes()); } @@ -1120,6 +1179,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf144840) { { "SelectedFormat", uno::Any(static_cast<sal_uInt32>(SotClipboardFormatId::RTF)) } }); dispatchCommand(mxComponent, ".uno:ClipboardFormatItems", aPropertyValues); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xIndexAccess->getCount()); @@ -1151,6 +1211,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf131963) { { "SelectedFormat", uno::Any(static_cast<sal_uInt32>(SotClipboardFormatId::RTF)) } }); dispatchCommand(mxComponent, ".uno:ClipboardFormatItems", aPropertyValues); + Scheduler::ProcessEventsToIdle(); // Without the fix in place, this test would have crashed here @@ -1173,9 +1234,11 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf132596) { { "SelectedFormat", uno::Any(static_cast<sal_uInt32>(SotClipboardFormatId::RTF)) } }); dispatchCommand(mxComponent, ".uno:ClipboardFormatItems", aPropertyValues); + Scheduler::ProcessEventsToIdle(); // Without the fix in place, this test would have crashed here dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(2, getPages()); } @@ -1215,12 +1278,15 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf133967) dispatchCommand(mxComponent, ".uno:SelectAll", {}); dispatchCommand(mxComponent, ".uno:Cut", {}); + Scheduler::ProcessEventsToIdle(); for (sal_Int32 i = 0; i < 10; ++i) { dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Redo", {}); + Scheduler::ProcessEventsToIdle(); } // Without the fix in place, this test would have failed with: @@ -1268,22 +1334,27 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf130094) pWrtShell->Down(/*bSelect=*/true); dispatchCommand(mxComponent, ".uno:Copy", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:SelectAll", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString("First"), getParagraph(1)->getString()); CPPUNIT_ASSERT_EQUAL(OUString("Second"), getParagraph(2)->getString()); CPPUNIT_ASSERT_EQUAL(OUString(""), getParagraph(3)->getString()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString("First"), getParagraph(1)->getString()); CPPUNIT_ASSERT_EQUAL(OUString("Second"), getParagraph(2)->getString()); CPPUNIT_ASSERT_EQUAL(OUString("Third"), getParagraph(3)->getString()); dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString("First"), getParagraph(1)->getString()); CPPUNIT_ASSERT_EQUAL(OUString("Second"), getParagraph(2)->getString()); @@ -1530,14 +1601,17 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf141175) dispatchCommand(mxComponent, ".uno:SelectAll", {}); dispatchCommand(mxComponent, ".uno:SelectAll", {}); dispatchCommand(mxComponent, ".uno:SelectAll", {}); + Scheduler::ProcessEventsToIdle(); //Without the fix in place, this test would have crashed here dispatchCommand(mxComponent, ".uno:Cut", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xIndexAccess->getCount()); CPPUNIT_ASSERT_EQUAL(1, getPages()); dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(2), xIndexAccess->getCount()); CPPUNIT_ASSERT_EQUAL(1, getPages()); @@ -1584,6 +1658,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf126504) dispatchCommand(mxComponent, ".uno:Copy", {}); dispatchCommand(mxComponent, ".uno:GoToEndOfPage", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Paste", {}); @@ -1591,17 +1666,20 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf126504) CPPUNIT_ASSERT_EQUAL(1, getPages()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(2), xIndexAccess->getCount()); CPPUNIT_ASSERT_EQUAL(1, getPages()); dispatchCommand(mxComponent, ".uno:Redo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(4), xIndexAccess->getCount()); CPPUNIT_ASSERT_EQUAL(1, getPages()); //Without the fix in place, it would have crashed here dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(2), xIndexAccess->getCount()); CPPUNIT_ASSERT_EQUAL(1, getPages()); @@ -1649,6 +1727,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf134253) //Without the fix in place, it would have crashed here dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(2), xIndexAccess->getCount()); CPPUNIT_ASSERT_EQUAL(6, getPages()); @@ -1713,6 +1792,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf140975) // Set the Anchor of the shape to As_Char selectShape(1); dispatchCommand(mxComponent, ".uno:SetAnchorToChar", {}); + Scheduler::ProcessEventsToIdle(); // Get the layout of the textbox auto pExportDump = parseLayoutDump(); @@ -1816,6 +1896,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf140828) selectShape(1); dispatchCommand(mxComponent, ".uno:SetAnchorAtChar", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL( text::TextContentAnchorType::TextContentAnchorType_AT_CHARACTER, @@ -1840,9 +1921,11 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf132725) CPPUNIT_ASSERT_EQUAL(OUString("AA"), getParagraph(1)->getString()); dispatchCommand(mxComponent, ".uno:GoToEndOfPara", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:SwBackspace", {}); dispatchCommand(mxComponent, ".uno:SwBackspace", {}); + Scheduler::ProcessEventsToIdle(); // tdf#137587 fly is no longer deleted by backspace CPPUNIT_ASSERT_EQUAL(1, getShapes()); @@ -1850,12 +1933,14 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf132725) dispatchCommand(mxComponent, ".uno:Undo", {}); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(1, getShapes()); CPPUNIT_ASSERT_EQUAL(OUString("AA"), getParagraph(1)->getString()); dispatchCommand(mxComponent, ".uno:Redo", {}); dispatchCommand(mxComponent, ".uno:Redo", {}); + Scheduler::ProcessEventsToIdle(); // tdf#137587 fly is no longer deleted by backspace CPPUNIT_ASSERT_EQUAL(1, getShapes()); @@ -1863,6 +1948,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf132725) //Without the fix in place, it would crash here dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(1, getShapes()); CPPUNIT_ASSERT_EQUAL(OUString("A"), getParagraph(1)->getString()); @@ -2028,11 +2114,13 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf134021) dispatchCommand(mxComponent, ".uno:JumpToNextTable", {}); dispatchCommand(mxComponent, ".uno:DeleteTable", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(0), xIndexAccess->getCount()); CPPUNIT_ASSERT_EQUAL(1, getPages()); // Without the fix in place, it would have crashed here dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xIndexAccess->getCount()); CPPUNIT_ASSERT_EQUAL(12, getPages()); @@ -2051,11 +2139,13 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf136778) dispatchCommand(mxComponent, ".uno:JumpToNextTable", {}); dispatchCommand(mxComponent, ".uno:DeleteTable", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(0), xIndexAccess->getCount()); CPPUNIT_ASSERT_EQUAL(1, getPages()); // Without the fix in place, it would have crashed here dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xIndexAccess->getCount()); CPPUNIT_ASSERT_EQUAL(1, getPages()); @@ -2072,6 +2162,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf123285) ". Here is a short sentence demonstrating this very peculiar bug.")); dispatchCommand(mxComponent, ".uno:GoToEndOfPage", {}); + Scheduler::ProcessEventsToIdle(); pTextDoc->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 0, KEY_RETURN); Scheduler::ProcessEventsToIdle(); @@ -2154,9 +2245,11 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf130685) dispatchCommand(mxComponent, ".uno:Undo", {}); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(1, getPages()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(2, getPages()); } @@ -2168,9 +2261,11 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf132944) dispatchCommand(mxComponent, ".uno:SelectAll", {}); dispatchCommand(mxComponent, ".uno:Delete", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(1, getPages()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); // Without the fix in place, the document would have had 2 pages CPPUNIT_ASSERT_EQUAL(1, getPages()); @@ -2184,10 +2279,12 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest3, testTdf104649) dispatchCommand(mxComponent, ".uno:SelectAll", {}); dispatchCommand(mxComponent, ".uno:Delete", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(1, getPages()); // Without the fix in place, this test would have crashed here dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString("Test"), getParagraph(1)->getString()); } diff --git a/sw/qa/extras/uiwriter/uiwriter4.cxx b/sw/qa/extras/uiwriter/uiwriter4.cxx index b32a19e971b0..64ce10b9d833 100644 --- a/sw/qa/extras/uiwriter/uiwriter4.cxx +++ b/sw/qa/extras/uiwriter/uiwriter4.cxx @@ -137,8 +137,10 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest4, testTdf146449) CPPUNIT_ASSERT(pShell->SelectObj(Point(), 0, pObject)); dispatchCommand(mxComponent, ".uno:Cut", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); uno::Reference<beans::XPropertySet> xShapeProps(xTextBox, uno::UNO_QUERY); uno::Reference<beans::XPropertySet> xFrameProps(xShapeProps->getPropertyValue("TextBoxContent"), @@ -1284,6 +1286,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest4, testRedlineParam) uno::Sequence<beans::PropertyValue> aPropertyValues(comphelper::InitPropertySequence( { { "NextTrackedChange", uno::Any(o3tl::narrowing<sal_uInt16>(rTable[0]->GetId())) } })); dispatchCommand(mxComponent, ".uno:NextTrackedChange", aPropertyValues); + Scheduler::ProcessEventsToIdle(); SwShellCursor* pShellCursor = pWrtShell->getShellCursor(false); // This failed: the parameter wasn't handled so the next change (zzz) was // selected, not the first one (aaa). @@ -1294,6 +1297,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest4, testRedlineParam) aPropertyValues = comphelper::InitPropertySequence( { { "NextTrackedChange", uno::Any(o3tl::narrowing<sal_uInt16>(rTable[1]->GetId())) } }); dispatchCommand(mxComponent, ".uno:NextTrackedChange", aPropertyValues); + Scheduler::ProcessEventsToIdle(); pShellCursor = pWrtShell->getShellCursor(false); CPPUNIT_ASSERT_EQUAL(OUString("zzz"), pShellCursor->GetText()); @@ -1302,6 +1306,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest4, testRedlineParam) aPropertyValues = comphelper::InitPropertySequence( { { "RejectTrackedChange", uno::Any(o3tl::narrowing<sal_uInt16>(rTable[1]->GetId())) } }); dispatchCommand(mxComponent, ".uno:RejectTrackedChange", aPropertyValues); + Scheduler::ProcessEventsToIdle(); pShellCursor = pWrtShell->getShellCursor(false); // This was 'middlezzz', the uno command rejected the redline under the @@ -1455,6 +1460,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest4, testLandscape) uno::Sequence<beans::PropertyValue> aPropertyValues( comphelper::InitPropertySequence({ { "AttributePage.Landscape", uno::Any(true) } })); dispatchCommand(mxComponent, ".uno:AttributePage", aPropertyValues); + Scheduler::ProcessEventsToIdle(); // Assert that the document model was modified. SwDocShell* pDocShell = pDoc->GetDocShell(); @@ -1763,6 +1769,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest4, testTableRemoveHasTextChangesOnly2) pWrtShell->Right(SwCursorSkipMode::Chars, /*bSelect=*/false, 1, /*bBasicCall=*/false); Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:AcceptTrackedChange", {}); + Scheduler::ProcessEventsToIdle(); discardDumpedLayout(); pXmlDoc = parseLayoutDump(); // Accepting tracked insertion results still 4 rows, but less redlines @@ -1779,6 +1786,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest4, testTableRemoveHasTextChangesOnly2) // To check Undo of HasTextChangesOnly reject the same row results 3 rows dispatchCommand(mxComponent, ".uno:Escape", {}); dispatchCommand(mxComponent, ".uno:RejectTrackedChange", {}); + Scheduler::ProcessEventsToIdle(); discardDumpedLayout(); pXmlDoc = parseLayoutDump(); // This was 4 (lost HasTextChangesOnly) @@ -1812,6 +1820,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest4, testTdf147182_AcceptAllChangesInTableSelec dispatchCommand(mxComponent, ".uno:SelectAll", {}); dispatchCommand(mxComponent, ".uno:SelectAll", {}); dispatchCommand(mxComponent, ".uno:AcceptTrackedChange", {}); + Scheduler::ProcessEventsToIdle(); discardDumpedLayout(); pXmlDoc = parseLayoutDump(); // Accepting tracked changes in the selected table results 3 rows @@ -1831,6 +1840,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest4, testTdf147182_AcceptAllChangesInTableSelec dispatchCommand(mxComponent, ".uno:SelectAll", {}); dispatchCommand(mxComponent, ".uno:SelectAll", {}); dispatchCommand(mxComponent, ".uno:RejectTrackedChange", {}); + Scheduler::ProcessEventsToIdle(); discardDumpedLayout(); pXmlDoc = parseLayoutDump(); // This was 4 (only text changes of the first selected cell were rejected) diff --git a/sw/qa/extras/uiwriter/uiwriter5.cxx b/sw/qa/extras/uiwriter/uiwriter5.cxx index b7fcbd757ab1..84208f042949 100644 --- a/sw/qa/extras/uiwriter/uiwriter5.cxx +++ b/sw/qa/extras/uiwriter/uiwriter5.cxx @@ -1980,6 +1980,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest5, testTdf151657) // accept all tracked changes dispatchCommand(mxComponent, ".uno:AcceptAllTrackedChanges", {}); + Scheduler::ProcessEventsToIdle(); discardDumpedLayout(); pXmlDoc = parseLayoutDump(); @@ -2001,8 +2002,10 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest5, testSelectRowWithNestedTable) // select table row dispatchCommand(mxComponent, ".uno:EntireRow", {}); + Scheduler::ProcessEventsToIdle(); // convert selected text content to uppercase dispatchCommand(mxComponent, ".uno:ChangeCaseToUpper", {}); + Scheduler::ProcessEventsToIdle(); discardDumpedLayout(); pXmlDoc = parseLayoutDump(); @@ -2034,6 +2037,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest5, testTdf47979_row) // convert selected text content to uppercase dispatchCommand(mxComponent, ".uno:ChangeCaseToUpper", {}); + Scheduler::ProcessEventsToIdle(); xmlDocUniquePtr pXmlDoc = parseLayoutDump(); assertXPathContent(pXmlDoc, "//page[1]//body/tab/row[1]/cell[1]/txt[1]", "a1"); @@ -2070,6 +2074,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest5, testTdf47979_column) // convert selected text content to uppercase dispatchCommand(mxComponent, ".uno:ChangeCaseToUpper", {}); + Scheduler::ProcessEventsToIdle(); xmlDocUniquePtr pXmlDoc = parseLayoutDump(); @@ -3095,6 +3100,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest5, testTdf93747) { { "Rows", uno::Any(sal_Int32(2)) }, { "Columns", uno::Any(sal_Int32(2)) } })); dispatchCommand(mxComponent, ".uno:InsertTable", aArgs); + Scheduler::ProcessEventsToIdle(); pWrtSh->Insert("Col1"); @@ -3154,6 +3160,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest5, testTdf93747) getProperty<OUString>(getParagraphOfText(1, xCellB1->getText()), "ParaStyleName")); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL( OUString("Table Contents"), @@ -3164,6 +3171,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest5, testTdf93747) getProperty<OUString>(getParagraphOfText(1, xCellB1->getText()), "ParaStyleName")); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL( OUString("Table Contents"), @@ -3184,6 +3192,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest5, testTdf145151) { { "Rows", uno::Any(sal_Int32(2)) }, { "Columns", uno::Any(sal_Int32(2)) } })); dispatchCommand(mxComponent, ".uno:InsertTable", aArgs); + Scheduler::ProcessEventsToIdle(); pWrtSh->Insert("Col1"); @@ -3213,6 +3222,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest5, testTdf145151) pWrtSh->Right(SwCursorSkipMode::Chars, /*bSelect=*/true, 1, /*bBasicCall=*/false); dispatchCommand(mxComponent, ".uno:DefaultNumbering", {}); + Scheduler::ProcessEventsToIdle(); // B1 should now have a numbering style, but A1 should not be affected. OUString sNumStyleB1 @@ -3225,6 +3235,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest5, testTdf145151) // Toggle it back off dispatchCommand(mxComponent, ".uno:DefaultNumbering", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_MESSAGE( "Cell B1 must be able to toggle numbering on and off.", @@ -3237,6 +3248,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest5, testTdf145151) // Toggle on bullet numbering dispatchCommand(mxComponent, ".uno:DefaultBullet", {}); + Scheduler::ProcessEventsToIdle(); // sanity check - both cells have bullets turned on. OUString sNumStyleA1 @@ -3252,6 +3264,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest5, testTdf145151) // Toggle off bullet numbering dispatchCommand(mxComponent, ".uno:DefaultBullet", {}); + Scheduler::ProcessEventsToIdle(); // B1 should now have removed all numbering, while A1 should still have the bullet. CPPUNIT_ASSERT( @@ -3264,6 +3277,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest5, testTdf145151) // Toggle it back on dispatchCommand(mxComponent, ".uno:DefaultBullet", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT( !getProperty<OUString>(getParagraphOfText(1, xCellB1->getText()), "NumberingStyleName") diff --git a/sw/qa/extras/uiwriter/uiwriter6.cxx b/sw/qa/extras/uiwriter/uiwriter6.cxx index ea9617fed283..881f6ba231b4 100644 --- a/sw/qa/extras/uiwriter/uiwriter6.cxx +++ b/sw/qa/extras/uiwriter/uiwriter6.cxx @@ -117,6 +117,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest6, testTdf116640) comphelper::InitPropertySequence({ { "Columns", uno::Any(sal_Int32(2)) } })); dispatchCommand(mxComponent, ".uno:InsertSection", aArgs); + Scheduler::ProcessEventsToIdle(); uno::Reference<text::XTextSectionsSupplier> xTextSectionsSupplier(mxComponent, uno::UNO_QUERY); uno::Reference<container::XIndexAccess> xSections(xTextSectionsSupplier->getTextSections(), @@ -130,14 +131,17 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest6, testTdf116640) CPPUNIT_ASSERT_EQUAL(sal_Int16(2), xTextColumns->getColumnCount()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(0), xSections->getCount()); dispatchCommand(mxComponent, ".uno:Redo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xSections->getCount()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(0), xSections->getCount()); } @@ -912,6 +916,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest6, testTdf147181_TrackedMovingOfMultipleTable // accept changes results 1 table (removing moved table) dispatchCommand(mxComponent, ".uno:AcceptAllTrackedChanges", {}); + Scheduler::ProcessEventsToIdle(); uno::Reference<container::XIndexAccess> xTables2(xTablesSupplier->getTextTables(), uno::UNO_QUERY); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xTables2->getCount()); @@ -2240,12 +2245,15 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest6, testNestedGroupTextBoxCopyCrash) createSwDoc("tdf149550.docx"); dispatchCommand(mxComponent, ".uno:SelectAll", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Copy", {}); + Scheduler::ProcessEventsToIdle(); // This crashed here before the fix. SwXTextDocument* pTextDoc = dynamic_cast<SwXTextDocument*>(mxComponent.get()); pTextDoc->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 0, KEY_ESCAPE); Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_MESSAGE("Where is the doc, it crashed, isn't it?!", mxComponent); @@ -2271,11 +2279,13 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest6, testCrashOnExit) // Remove the textbox dispatchCommand(mxComponent, ".uno:RemoveTextBox", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(false, xProperties->getPropertyValue("TextBox").get<bool>()); // Readd the textbox (to run the textboxhelper::create() method) dispatchCommand(mxComponent, ".uno:AddTextBox", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(true, xProperties->getPropertyValue("TextBox").get<bool>()); @@ -2315,6 +2325,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest6, testTdf151828_Comment2) uno::Sequence<beans::PropertyValue> aArgs( comphelper::InitPropertySequence({ { "KeyModifier", uno::Any(KEY_MOD1) } })); dispatchCommand(mxComponent, ".uno:BasicShapes", aArgs); + Scheduler::ProcessEventsToIdle(); auto xBasicShape = getShape(1); auto pObject = SdrObject::getSdrObjectFromXShape(xBasicShape); @@ -2326,10 +2337,12 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest6, testTdf151828_Comment2) // cut and paste it dispatchCommand(mxComponent, ".uno:Cut", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(0, getShapes()); dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(1, getShapes()); @@ -2362,8 +2375,11 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest6, testTdf151828) // cut and paste the table dispatchCommand(mxComponent, ".uno:SelectTable", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Cut", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); // move cursor into the pasted table CPPUNIT_ASSERT(pWrtShell->MoveTable(GotoPrevTable, fnTableStart)); diff --git a/sw/qa/extras/uiwriter/uiwriter7.cxx b/sw/qa/extras/uiwriter/uiwriter7.cxx index 08fe6596f478..8c14e7184f44 100644 --- a/sw/qa/extras/uiwriter/uiwriter7.cxx +++ b/sw/qa/extras/uiwriter/uiwriter7.cxx @@ -2466,6 +2466,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest7, testTdf138873) CPPUNIT_ASSERT_EQUAL(OUString("A DDD C"), getParagraph(1)->getString()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(OUString("A B C"), getParagraph(1)->getString()); @@ -2473,8 +2474,10 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest7, testTdf138873) pWrtShell->Right(SwCursorSkipMode::Chars, /*bSelect=*/true, 2, /*bBasicCall=*/false); dispatchCommand(mxComponent, ".uno:Copy", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); // Without the fix in place, this test would have failed with // - Expected: A B C diff --git a/sw/qa/extras/uiwriter/uiwriter8.cxx b/sw/qa/extras/uiwriter/uiwriter8.cxx index ddce6feb0953..73881451c20e 100644 --- a/sw/qa/extras/uiwriter/uiwriter8.cxx +++ b/sw/qa/extras/uiwriter/uiwriter8.cxx @@ -106,11 +106,14 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf132420) CPPUNIT_ASSERT_EQUAL(12, getShapes()); dispatchCommand(mxComponent, ".uno:SelectAll", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Cut", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(0, getShapes()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); //Without the fix in place, 1 frame and 1 image would be gone and getShapes would return 10 CPPUNIT_ASSERT_EQUAL(12, getShapes()); @@ -131,6 +134,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf132744) CPPUNIT_ASSERT_EQUAL(1, getShapes()); dispatchCommand(mxComponent, ".uno:SelectAll", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Cut", {}); @@ -169,12 +173,14 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf146622) dispatchCommand(mxComponent, ".uno:SelectAll", {}); dispatchCommand(mxComponent, ".uno:SelectAll", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:DeleteRows", {}); CPPUNIT_ASSERT_EQUAL(sal_Int32(4), xTable1->getRows()->getCount()); dispatchCommand(mxComponent, ".uno:SelectAll", {}); dispatchCommand(mxComponent, ".uno:SelectAll", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:DeleteRows", {}); // This was 2 (deleting the already deleted table with change tracking) @@ -398,6 +404,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf141391) // remove the selection and positionate the cursor at beginning of A2 pWrtShell->Left(SwCursorSkipMode::Chars, /*bSelect=*/false, 1, /*bBasicCall=*/false); dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); xmlDocUniquePtr pXmlDoc = parseLayoutDump(); // 3-row, overwriting cells of the second row and inserting a new row @@ -433,6 +440,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf141391) // insert the table, as a nested one in cell "A2" dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); discardDumpedLayout(); pXmlDoc = parseLayoutDump(); assertXPath(pXmlDoc, "/root/page[1]/body/tab/row", 2); @@ -442,6 +450,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf141391) // Undo dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); discardDumpedLayout(); pXmlDoc = parseLayoutDump(); // 2 rows again, no copied text content @@ -455,6 +464,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf141391) pWrtShell->Left(SwCursorSkipMode::Chars, /*bSelect=*/false, 1, /*bBasicCall=*/false); pWrtShell->Insert("and some text again in the first paragraph to be sure..."); dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); discardDumpedLayout(); pXmlDoc = parseLayoutDump(); @@ -488,6 +498,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf148791) pWrtShell->Left(SwCursorSkipMode::Chars, /*bSelect=*/false, 1, /*bBasicCall=*/false); pWrtShell->Up(/*bSelect=*/false); dispatchCommand(mxComponent, ".uno:PasteRowsBefore", {}); + Scheduler::ProcessEventsToIdle(); xmlDocUniquePtr pXmlDoc = parseLayoutDump(); // Paste as Rows Above results 4-row table with default table alignment @@ -525,6 +536,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf148791) pWrtShell->Up(/*bSelect=*/false); pWrtShell->Up(/*bSelect=*/false); dispatchCommand(mxComponent, ".uno:PasteRowsBefore", {}); + Scheduler::ProcessEventsToIdle(); discardDumpedLayout(); pXmlDoc = parseLayoutDump(); @@ -552,6 +564,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf148791) for (int i = 0; i < 7 + 4; ++i) pWrtShell->Up(/*bSelect=*/false); dispatchCommand(mxComponent, ".uno:PasteRowsBefore", {}); + Scheduler::ProcessEventsToIdle(); discardDumpedLayout(); pXmlDoc = parseLayoutDump(); @@ -576,6 +589,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf148791) for (int i = 0; i < 15 + 4 * 2; ++i) pWrtShell->Up(/*bSelect=*/false); dispatchCommand(mxComponent, ".uno:PasteRowsBefore", {}); + Scheduler::ProcessEventsToIdle(); discardDumpedLayout(); pXmlDoc = parseLayoutDump(); @@ -594,6 +608,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf135014) // Toggle Numbering List dispatchCommand(mxComponent, ".uno:DefaultBullet", aArgs); + Scheduler::ProcessEventsToIdle(); uno::Sequence<beans::PropertyValue> aArgs2(comphelper::InitPropertySequence( { { "Param", uno::Any(OUString("NewNumberingStyle")) }, @@ -601,6 +616,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf135014) // New Style from selection dispatchCommand(mxComponent, ".uno:StyleNewByExample", aArgs2); + Scheduler::ProcessEventsToIdle(); // Without the fix in place, this test would have failed here reload("Office Open XML Text", "tdf135014.docx"); @@ -618,6 +634,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf130629) comphelper::InitPropertySequence({ { "KeyModifier", uno::Any(KEY_MOD1) } })); dispatchCommand(mxComponent, ".uno:BasicShapes.diamond", aArgs); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(1, getShapes()); @@ -633,6 +650,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf130629) // Without the fix in place, this test would have crashed here dispatchCommand(mxComponent, ".uno:BasicShapes.diamond", aArgs); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(1, getShapes()); } @@ -697,25 +715,32 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf140731) for (sal_Int32 i = 0; i < 8; ++i) { dispatchCommand(mxComponent, ".uno:SelectAll", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Copy", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:Paste", {}); + Scheduler::ProcessEventsToIdle(); } dispatchCommand(mxComponent, ".uno:GoToStartOfDoc", {}); + Scheduler::ProcessEventsToIdle(); // Format->Text operations on small selections (which would generate <~500 redlines) // changetracking still working dispatchCommand(mxComponent, ".uno:TrackChanges", {}); + Scheduler::ProcessEventsToIdle(); SwCursorShell* pShell(pDoc->GetEditShell()); pShell->SelectTextModel(1, 500); dispatchCommand(mxComponent, ".uno:ChangeCaseToTitleCase", {}); + Scheduler::ProcessEventsToIdle(); SwEditShell* const pEditShell(pDoc->GetEditShell()); CPPUNIT_ASSERT_EQUAL(static_cast<SwRedlineTable::size_type>(120), @@ -723,12 +748,15 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf140731) //Removing all the redlines. dispatchCommand(mxComponent, ".uno:RejectAllTrackedChanges", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(static_cast<SwRedlineTable::size_type>(0), pEditShell->GetRedlineCount()); dispatchCommand(mxComponent, ".uno:SelectAll", {}); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:ChangeCaseToTitleCase", {}); + Scheduler::ProcessEventsToIdle(); // Without the fix in place, on big selections writer would freeze. Now it ignores change tracking. CPPUNIT_ASSERT_EQUAL(static_cast<SwRedlineTable::size_type>(0), pEditShell->GetRedlineCount()); @@ -737,6 +765,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf140731) CPPUNIT_ASSERT(getParagraph(1)->getString().startsWith("Lorem Ipsum Dolor Sit Amet")); dispatchCommand(mxComponent, ".uno:ChangeCaseToUpper", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT(getParagraph(1)->getString().startsWith("LOREM IPSUM DOLOR SIT AMET")); } @@ -918,6 +947,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf131771) { { "Rows", uno::Any(sal_Int32(2)) }, { "Columns", uno::Any(sal_Int32(2)) } })); dispatchCommand(mxComponent, ".uno:InsertTable", aArgs); + Scheduler::ProcessEventsToIdle(); uno::Reference<text::XTextTablesSupplier> xTextTablesSupplier(mxComponent, uno::UNO_QUERY); uno::Reference<container::XIndexAccess> xIndexAccess(xTextTablesSupplier->getTextTables(), @@ -960,6 +990,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf80663) { { "Rows", uno::Any(sal_Int32(2)) }, { "Columns", uno::Any(sal_Int32(2)) } })); dispatchCommand(mxComponent, ".uno:InsertTable", aArgs); + Scheduler::ProcessEventsToIdle(); uno::Reference<text::XTextTablesSupplier> xTextTablesSupplier(mxComponent, uno::UNO_QUERY); uno::Reference<container::XIndexAccess> xIndexAccess(xTextTablesSupplier->getTextTables(), @@ -970,12 +1001,14 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf80663) CPPUNIT_ASSERT_EQUAL(sal_Int32(2), xTextTable->getColumns()->getCount()); dispatchCommand(mxComponent, ".uno:DeleteRows", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xIndexAccess->getCount()); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xTextTable->getRows()->getCount()); CPPUNIT_ASSERT_EQUAL(sal_Int32(2), xTextTable->getColumns()->getCount()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xIndexAccess->getCount()); CPPUNIT_ASSERT_EQUAL(sal_Int32(2), xTextTable->getRows()->getCount()); @@ -1041,6 +1074,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf121031) { { "Rows", uno::Any(sal_Int32(3)) }, { "Columns", uno::Any(sal_Int32(3)) } })); dispatchCommand(mxComponent, ".uno:InsertTable", aArgs); + Scheduler::ProcessEventsToIdle(); uno::Reference<text::XTextTablesSupplier> xTextTablesSupplier(mxComponent, uno::UNO_QUERY); uno::Reference<container::XIndexAccess> xIndexAccess(xTextTablesSupplier->getTextTables(), @@ -1048,9 +1082,11 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf121031) CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xIndexAccess->getCount()); dispatchCommand(mxComponent, ".uno:DeleteTable", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(0), xIndexAccess->getCount()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xIndexAccess->getCount()); // Without the fix in place, the table would be hidden @@ -1091,8 +1127,10 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf121546) 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()); @@ -1100,20 +1138,25 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf121546) 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()); @@ -1172,10 +1215,12 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf134626) 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()); } @@ -1191,6 +1236,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf139566) { { "Rows", uno::Any(sal_Int32(1)) }, { "Columns", uno::Any(sal_Int32(1)) } })); dispatchCommand(mxComponent, ".uno:InsertTable", aArgs); + Scheduler::ProcessEventsToIdle(); // Move the cursor outside the table pWrtSh->Down(/*bSelect=*/false); @@ -1200,16 +1246,19 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf139566) CPPUNIT_ASSERT_EQUAL(OUString("Test"), getParagraph(2)->getString()); dispatchCommand(mxComponent, ".uno:SelectAll", {}); + Scheduler::ProcessEventsToIdle(); uno::Reference<frame::XFrames> xFrames = mxDesktop->getFrames(); sal_Int32 nFrames = xFrames->getCount(); // Create a second window so the first window looses focus dispatchCommand(mxComponent, ".uno:NewWindow", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(nFrames + 1, xFrames->getCount()); dispatchCommand(mxComponent, ".uno:CloseWin", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(nFrames, xFrames->getCount()); @@ -1229,6 +1278,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf96067) { { "Rows", uno::Any(sal_Int32(3)) }, { "Columns", uno::Any(sal_Int32(3)) } })); dispatchCommand(mxComponent, ".uno:InsertTable", aArgs); + Scheduler::ProcessEventsToIdle(); uno::Reference<text::XTextTablesSupplier> xTextTablesSupplier(mxComponent, uno::UNO_QUERY); uno::Reference<container::XIndexAccess> xIndexAccess(xTextTablesSupplier->getTextTables(), @@ -1240,12 +1290,14 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf96067) dispatchCommand(mxComponent, ".uno:SelectTable", {}); dispatchCommand(mxComponent, ".uno:InsertRowsBefore", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xIndexAccess->getCount()); CPPUNIT_ASSERT_EQUAL(sal_Int32(6), xTextTable->getRows()->getCount()); CPPUNIT_ASSERT_EQUAL(sal_Int32(3), xTextTable->getColumns()->getCount()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xIndexAccess->getCount()); CPPUNIT_ASSERT_EQUAL(sal_Int32(3), xTextTable->getRows()->getCount()); @@ -1277,6 +1329,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf87199) dispatchCommand(mxComponent, ".uno:EntireColumn", {}); dispatchCommand(mxComponent, ".uno:MergeCells", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xIndexAccess->getCount()); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xTextTable->getRows()->getCount()); @@ -1285,6 +1338,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf87199) CPPUNIT_ASSERT(xCellA1->getString().endsWith("test2")); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xIndexAccess->getCount()); CPPUNIT_ASSERT_EQUAL(sal_Int32(2), xTextTable->getRows()->getCount()); @@ -1336,6 +1390,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf146573) // remove redlines, add a footnote, and change the value // of the cell with the footnote dispatchCommand(mxComponent, ".uno:AcceptAllTrackedChanges", {}); + Scheduler::ProcessEventsToIdle(); pWrtShell->Right(SwCursorSkipMode::Cells, /*bSelect=*/false, /*nCount=*/1, /*bBasicCall=*/false); dispatchCommand(mxComponent, ".uno:InsertFootnote", {}); @@ -1514,6 +1569,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf150576) // restore deleted rows dispatchCommand(mxComponent, ".uno:Undo", {}); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); SwNode& rNode5 = pWrtShell->GetCursor()->GetPoint()->GetNode(); CPPUNIT_ASSERT_EQUAL(OUString("Row 2"), rNode5.GetTextNode()->GetText()); @@ -1540,11 +1596,14 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf132603) = comphelper::InitPropertySequence({ { "Text", uno::Any(OUString("Comment")) } }); dispatchCommand(mxComponent, ".uno:InsertAnnotation", aPropertyValues); + Scheduler::ProcessEventsToIdle(); dispatchCommand(mxComponent, ".uno:SelectAll", {}); + Scheduler::ProcessEventsToIdle(); // Without the fix in place, it would crash here dispatchCommand(mxComponent, ".uno:Copy", {}); + Scheduler::ProcessEventsToIdle(); tools::JsonWriter aJsonWriter; pTextDoc->getPostIts(aJsonWriter); @@ -1570,6 +1629,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf117601) { { "Rows", uno::Any(sal_Int32(5)) }, { "Columns", uno::Any(sal_Int32(3)) } })); dispatchCommand(mxComponent, ".uno:InsertTable", aArgs); + Scheduler::ProcessEventsToIdle(); uno::Reference<text::XTextTablesSupplier> xTextTablesSupplier(mxComponent, uno::UNO_QUERY); uno::Reference<container::XIndexAccess> xIndexAccess(xTextTablesSupplier->getTextTables(), @@ -1592,6 +1652,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf117601) dispatchCommand(mxComponent, ".uno:EntireColumn", {}); dispatchCommand(mxComponent, ".uno:MergeCells", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xIndexAccess->getCount()); CPPUNIT_ASSERT_EQUAL(sal_Int32(5), xTextTable->getRows()->getCount()); @@ -1600,6 +1661,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf117601) CPPUNIT_ASSERT(xCellB1->getString().endsWith("test2")); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(sal_Int32(1), xIndexAccess->getCount()); CPPUNIT_ASSERT_EQUAL(sal_Int32(5), xTextTable->getRows()->getCount()); @@ -1622,12 +1684,14 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf138130) // Without the fix in place, this test would have crashed here dispatchCommand(mxComponent, ".uno:SetAnchorToPage", {}); + Scheduler::ProcessEventsToIdle(); //position has changed CPPUNIT_ASSERT(aPos.X < xShape->getPosition().X); CPPUNIT_ASSERT(aPos.Y < xShape->getPosition().Y); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(aPos.X, xShape->getPosition().X); CPPUNIT_ASSERT_EQUAL(aPos.Y, xShape->getPosition().Y); @@ -1646,12 +1710,14 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf136385) selectShape(1); dispatchCommand(mxComponent, ".uno:SetAnchorToPage", {}); + Scheduler::ProcessEventsToIdle(); //position has changed CPPUNIT_ASSERT(aPos.X < xShape->getPosition().X); CPPUNIT_ASSERT(aPos.Y < xShape->getPosition().Y); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); //Without the fix in place, this test would have failed with //- Expected: 2447 @@ -1705,6 +1771,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf128782) CPPUNIT_ASSERT(aPos[1].Y < xShape2->getPosition().Y); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(aPos[0].X, xShape1->getPosition().X); CPPUNIT_ASSERT_EQUAL(aPos[0].Y, xShape1->getPosition().Y); @@ -1742,6 +1809,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf135623) CPPUNIT_ASSERT_EQUAL(aPos[1].Y, xShape2->getPosition().Y); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(aPos[0].X, xShape1->getPosition().X); CPPUNIT_ASSERT_EQUAL(aPos[0].Y, xShape1->getPosition().Y); @@ -1801,6 +1869,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf133490) for (sal_Int32 i = 0; i < 4; ++i) { dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); // Without the fix in place, undo action would have changed shape1's position // and this test would have failed with @@ -1813,6 +1882,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf133490) } dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(aPos[0].X, xShape1->getPosition().X); CPPUNIT_ASSERT_EQUAL(aPos[0].Y, xShape1->getPosition().Y); @@ -1821,14 +1891,17 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf133490) CPPUNIT_ASSERT_EQUAL(aPos[1].Y, xShape2->getPosition().Y); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(1, getShapes()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(0, getShapes()); dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(1, getShapes()); } @@ -2053,6 +2126,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf143244) for (sal_Int32 i = 0; i < 5; ++i) { dispatchCommand(mxComponent, ".uno:Undo", {}); + Scheduler::ProcessEventsToIdle(); } xTextTable.set(xIndexAccess->getByIndex(0), uno::UNO_QUERY); @@ -2062,6 +2136,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf143244) for (sal_Int32 i = 0; i < 5; ++i) { dispatchCommand(mxComponent, ".uno:Redo", {}); + Scheduler::ProcessEventsToIdle(); } xTextTable.set(xIndexAccess->getByIndex(0), uno::UNO_QUERY); @@ -2202,6 +2277,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf138897) dispatchCommand(mxComponent, ".uno:Redo", {}); dispatchCommand(mxComponent, ".uno:Undo", {}); dispatchCommand(mxComponent, ".uno:Redo", {}); + Scheduler::ProcessEventsToIdle(); } CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf136740) @@ -2237,6 +2313,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf136740) { { "SelectedFormat", css::uno::Any(static_cast<sal_uInt32>(SotClipboardFormatId::RTF)) } }); dispatchCommand(mxComponent, ".uno:ClipboardFormatItems", aPropertyValues); + Scheduler::ProcessEventsToIdle(); CPPUNIT_ASSERT_EQUAL(1, getParagraphs()); CPPUNIT_ASSERT_EQUAL(OUString("FooFoo"), xParagraph->getString()); @@ -2256,6 +2333,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf128106) const auto aPropertyValues = comphelper::InitPropertySequence({ { "FileName", css::uno::Any(maTempFile.GetURL()) } }); dispatchCommand(mxComponent, ".uno:NewGlobalDoc", aPropertyValues); + Scheduler::ProcessEventsToIdle(); mxComponent = loadFromDesktop(maTempFile.GetURL()); @@ -2390,6 +2468,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf151462) createSwDoc("tdf151462.odt"); // xmlDocUniquePtr pLayout = parseLayoutDump(); dispatchCommand(mxComponent, ".uno:UpdateAllIndexes", {}); + Scheduler::ProcessEventsToIdle(); xmlDocUniquePtr pLayout = parseLayoutDump(); // tdf#151462 - without the fix in place, there would be just the first index entry diff --git a/unotest/Library_unotest.mk b/unotest/Library_unotest.mk index a10342d46d7b..1a7f8ba5ab5f 100644 --- a/unotest/Library_unotest.mk +++ b/unotest/Library_unotest.mk @@ -24,7 +24,6 @@ $(eval $(call gb_Library_use_libraries,unotest,\ sb \ tl \ utl \ - vcl \ )) $(eval $(call gb_Library_use_externals,unotest,\ diff --git a/unotest/source/cpp/macros_test.cxx b/unotest/source/cpp/macros_test.cxx index 3bb2a22a5da4..36438b2e50ec 100644 --- a/unotest/source/cpp/macros_test.cxx +++ b/unotest/source/cpp/macros_test.cxx @@ -30,7 +30,6 @@ #include <tools/datetime.hxx> #include <unotools/tempfile.hxx> #include <unotools/ucbstreamhelper.hxx> -#include <vcl/scheduler.hxx> using namespace css; @@ -91,10 +90,7 @@ MacrosTest::dispatchCommand(const uno::Reference<lang::XComponent>& xComponent, uno::Reference<frame::XDispatchHelper> xDispatchHelper(frame::DispatchHelper::create(xContext)); CPPUNIT_ASSERT(xDispatchHelper.is()); - auto ret = xDispatchHelper->executeDispatch(xFrame, rCommand, OUString(), 0, rPropertyValues); - Scheduler::ProcessEventsToIdle(); - - return ret; + return xDispatchHelper->executeDispatch(xFrame, rCommand, OUString(), 0, rPropertyValues); } std::unique_ptr<SvStream> MacrosTest::parseExportStream(const OUString& url, |