summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2015-04-10 16:09:20 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2015-04-13 09:07:04 +0200
commit54eaeabdf7d90ee05e9eb8d4deab8d7e1d8ed150 (patch)
treed8060b7ca6295e26d05467110ed346f8c2aa6137
parentc09c3559f011e89ae45c16e5cf0bb085e127f0ea (diff)
Add SdXImpressDocument::postKeyEvent() testcase.
Change-Id: I87edb9c4693b1634942d8dbda4050920f439cbbf
-rw-r--r--sd/qa/unit/tiledrendering/tiledrendering.cxx28
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");