Kaydet (Commit) 45182f36 authored tarafından Miklos Vajna's avatar Miklos Vajna

sw: add LOK_CALLBACK_TEXT_VIEW_SELECTION testcase

Fails with 9f66db9c (sw lok: add
LOK_CALLBACK_TEXT_VIEW_SELECTION, 2016-06-21) reverted.

Change-Id: Ide21167ce2dc4287b1860b5f03a6975dc9edd4c6
Reviewed-on: https://gerrit.libreoffice.org/26550Reviewed-by: 's avatarMiklos Vajna <vmiklos@collabora.co.uk>
Tested-by: 's avatarJenkins <ci@libreoffice.org>
üst bb6500aa
......@@ -1039,7 +1039,6 @@ callback (gpointer pData)
priv->m_aVisibleCursor.y,
priv->m_aVisibleCursor.width,
priv->m_aVisibleCursor.height);
std::cerr << "debug, LOK_CALLBACK_INVALIDATE_VISIBLE_CURSOR: i am " << priv->m_nViewId << ", i got " << pCallback->m_aPayload << " for myself" << std::endl;
gtk_widget_queue_draw(GTK_WIDGET(pDocView));
}
break;
......
......@@ -225,7 +225,7 @@ void SwTiledRenderingTest::testSetTextSelection()
SwWrtShell* pWrtShell = pXTextDocument->GetDocShell()->GetWrtShell();
// Move the cursor into the second word.
pWrtShell->Right(CRSR_SKIP_CHARS, /*bSelect=*/false, 5, /*bBasicCall=*/false);
// Create a selection by on the word.
// Create a selection on the word.
pWrtShell->SelWrd();
SwShellCursor* pShellCursor = pWrtShell->getShellCursor(false);
// Did we indeed manage to select the second word?
......@@ -548,10 +548,14 @@ class ViewCallback
public:
bool m_bOwnCursorInvalidated;
bool m_bViewCursorInvalidated;
bool m_bOwnSelectionSet;
bool m_bViewSelectionSet;
ViewCallback()
: m_bOwnCursorInvalidated(false),
m_bViewCursorInvalidated(false)
m_bViewCursorInvalidated(false),
m_bOwnSelectionSet(false),
m_bViewSelectionSet(false)
{
}
......@@ -574,6 +578,16 @@ public:
m_bViewCursorInvalidated = true;
}
break;
case LOK_CALLBACK_TEXT_SELECTION:
{
m_bOwnSelectionSet = true;
}
break;
case LOK_CALLBACK_TEXT_VIEW_SELECTION:
{
m_bViewSelectionSet = true;
}
break;
}
}
};
......@@ -582,7 +596,7 @@ void SwTiledRenderingTest::testViewCursors()
{
comphelper::LibreOfficeKit::setActive();
createDoc("dummy.fodt");
SwXTextDocument* pXTextDocument = createDoc("dummy.fodt");
ViewCallback aView1;
SfxViewShell::Current()->registerLibreOfficeKitViewCallback(&ViewCallback::callback, &aView1);
SfxLokHelper::createView();
......@@ -595,6 +609,27 @@ void SwTiledRenderingTest::testViewCursors()
// it changed.
CPPUNIT_ASSERT(aView2.m_bViewCursorInvalidated);
// Make sure that aView1 gets a view-only selection notification, while
// aView2 gets a real selection notification.
aView1.m_bOwnSelectionSet = false;
aView1.m_bViewSelectionSet = false;
aView2.m_bOwnSelectionSet = false;
aView2.m_bViewSelectionSet = false;
SwWrtShell* pWrtShell = pXTextDocument->GetDocShell()->GetWrtShell();
// Move the cursor into the second word.
pWrtShell->Right(CRSR_SKIP_CHARS, /*bSelect=*/false, 5, /*bBasicCall=*/false);
// Create a selection on the word.
pWrtShell->SelWrd();
SwShellCursor* pShellCursor = pWrtShell->getShellCursor(false);
// Did we indeed manage to select the second word?
CPPUNIT_ASSERT_EQUAL(OUString("bbb"), pShellCursor->GetText());
CPPUNIT_ASSERT(!aView1.m_bOwnSelectionSet);
// This failed, aView1 did not get notification about selection changes in
// aView2.
CPPUNIT_ASSERT(aView1.m_bViewSelectionSet);
CPPUNIT_ASSERT(aView2.m_bOwnSelectionSet);
CPPUNIT_ASSERT(!aView2.m_bViewSelectionSet);
comphelper::LibreOfficeKit::setActive(false);
}
......
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