Kaydet (Commit) dc4efebc authored tarafından Marco Cecchetti's avatar Marco Cecchetti

LOK - Calc: unit test for invalidation on copy/paste to the doc bottom

Change-Id: I92b6a3f1c3b3c6c260b25b046bd19b249be0db0b
üst d922d72d
......@@ -67,6 +67,7 @@ public:
void testGraphicInvalidate();
void testAutoSum();
void testHideColRow();
void testInvalidateOnCopyPasteCells();
CPPUNIT_TEST_SUITE(ScTiledRenderingTest);
CPPUNIT_TEST(testRowColumnSelections);
......@@ -85,6 +86,7 @@ public:
CPPUNIT_TEST(testGraphicInvalidate);
CPPUNIT_TEST(testAutoSum);
CPPUNIT_TEST(testHideColRow);
CPPUNIT_TEST(testInvalidateOnCopyPasteCells);
CPPUNIT_TEST_SUITE_END();
private:
......@@ -914,6 +916,48 @@ void ScTiledRenderingTest::testHideColRow()
mxComponent.clear();
comphelper::LibreOfficeKit::setActive(false);
}
void ScTiledRenderingTest::testInvalidateOnCopyPasteCells()
{
// Load a document
comphelper::LibreOfficeKit::setActive();
ScModelObj* pModelObj = createDoc("small.ods");
CPPUNIT_ASSERT(pModelObj);
// view
ViewCallback aView;
SfxViewShell::Current()->registerLibreOfficeKitViewCallback(&ViewCallback::callback, &aView);
aView.m_bInvalidateTiles = false;
uno::Sequence<beans::PropertyValue> aArgs;
// select and copy cells
pModelObj->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 0, KEY_HOME | KEY_MOD1);
pModelObj->postKeyEvent(LOK_KEYEVENT_KEYUP, 0, KEY_HOME | KEY_MOD1);
pModelObj->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 0, KEY_DOWN | KEY_SHIFT);
pModelObj->postKeyEvent(LOK_KEYEVENT_KEYUP, 0, KEY_DOWN | KEY_SHIFT);
pModelObj->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 0, KEY_RIGHT | KEY_SHIFT);
pModelObj->postKeyEvent(LOK_KEYEVENT_KEYUP, 0, KEY_RIGHT | KEY_SHIFT);
Scheduler::ProcessEventsToIdle();
comphelper::dispatchCommand(".uno:Copy", aArgs);
// move to destination cell
pModelObj->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 0, KEY_DOWN);
pModelObj->postKeyEvent(LOK_KEYEVENT_KEYUP, 0, KEY_DOWN);
pModelObj->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 0, KEY_DOWN | KEY_MOD1);
pModelObj->postKeyEvent(LOK_KEYEVENT_KEYUP, 0, KEY_DOWN | KEY_MOD1);
pModelObj->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 0, KEY_UP);
pModelObj->postKeyEvent(LOK_KEYEVENT_KEYUP, 0, KEY_UP);
Scheduler::ProcessEventsToIdle();
// paste cells
aView.m_bInvalidateTiles = false;
comphelper::dispatchCommand(".uno:Paste", aArgs);
Scheduler::ProcessEventsToIdle();
CPPUNIT_ASSERT(aView.m_bInvalidateTiles);
mxComponent->dispose();
mxComponent.clear();
comphelper::LibreOfficeKit::setActive(false);
}
}
CPPUNIT_TEST_SUITE_REGISTRATION(ScTiledRenderingTest);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment