diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-04-10 16:09:20 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-04-13 09:07:04 +0200 |
commit | 54eaeabdf7d90ee05e9eb8d4deab8d7e1d8ed150 (patch) | |
tree | d8060b7ca6295e26d05467110ed346f8c2aa6137 /sd | |
parent | c09c3559f011e89ae45c16e5cf0bb085e127f0ea (diff) |
Add SdXImpressDocument::postKeyEvent() testcase.
Change-Id: I87edb9c4693b1634942d8dbda4050920f439cbbf
Diffstat (limited to 'sd')
-rw-r--r-- | sd/qa/unit/tiledrendering/tiledrendering.cxx | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/sd/qa/unit/tiledrendering/tiledrendering.cxx b/sd/qa/unit/tiledrendering/tiledrendering.cxx index 5a364c41f924..1b87768b241e 100644 --- a/sd/qa/unit/tiledrendering/tiledrendering.cxx +++ b/sd/qa/unit/tiledrendering/tiledrendering.cxx @@ -40,6 +40,7 @@ public: #if !defined(WNT) && !defined(MACOSX) void testRegisterCallback(); + void testPostKeyEvent(); void testPostMouseEvent(); void testSetTextSelection(); #endif @@ -47,6 +48,7 @@ public: CPPUNIT_TEST_SUITE(SdTiledRenderingTest); #if !defined(WNT) && !defined(MACOSX) CPPUNIT_TEST(testRegisterCallback); + CPPUNIT_TEST(testPostKeyEvent); CPPUNIT_TEST(testPostMouseEvent); CPPUNIT_TEST(testSetTextSelection); #endif @@ -137,6 +139,32 @@ void SdTiledRenderingTest::testRegisterCallback() CPPUNIT_ASSERT(m_aInvalidation.IsOver(aTopLeft)); } +void SdTiledRenderingTest::testPostKeyEvent() +{ + SdXImpressDocument* pXImpressDocument = createDoc("dummy.odp"); + sd::ViewShell* pViewShell = pXImpressDocument->GetDocShell()->GetViewShell(); + SdPage* pActualPage = pViewShell->GetActualPage(); + SdrObject* pObject = pActualPage->GetObj(0); + CPPUNIT_ASSERT_EQUAL(static_cast<sal_uInt16>(OBJ_TITLETEXT), pObject->GetObjIdentifier()); + SdrTextObj* pTextObj = static_cast<SdrTextObj*>(pObject); + SdrView* pView = pViewShell->GetView(); + pView->MarkObj(pTextObj, pView->GetSdrPageView()); + SfxStringItem aInputString(SID_ATTR_CHAR, "x"); + pViewShell->GetViewFrame()->GetDispatcher()->Execute(SID_ATTR_CHAR, SfxCallMode::SYNCHRON, &aInputString, 0); + + pXImpressDocument->postKeyEvent(LOK_KEYEVENT_KEYINPUT, 'x', 0); + pXImpressDocument->postKeyEvent(LOK_KEYEVENT_KEYUP, 'x', 0); + + CPPUNIT_ASSERT(pView->GetTextEditObject()); + EditView& rEditView = pView->GetTextEditOutlinerView()->GetEditView(); + // Did we manage to enter a second character? + CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(2), rEditView.GetSelection().nStartPos); + ESelection aWordSelection(0, 0, 0, 2); // start para, start char, end para, end char. + rEditView.SetSelection(aWordSelection); + // Did we enter the expected character? + CPPUNIT_ASSERT_EQUAL(OUString("xx"), rEditView.GetSelected()); +} + void SdTiledRenderingTest::testPostMouseEvent() { SdXImpressDocument* pXImpressDocument = createDoc("dummy.odp"); |