summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2016-06-21 14:28:08 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2016-06-21 13:34:01 +0000
commit45182f36ef263d6fd94cc79bb242fbfb5a471c22 (patch)
treeae0c4aa287eea2e5887f0bf75907f27e28a2dee4 /sw
parentbb6500aa74feabcf884801d7ca9ce70b5449cafb (diff)
sw: add LOK_CALLBACK_TEXT_VIEW_SELECTION testcase
Fails with 9f66db9c474f71f43d7a3667230241fd4fa4183f (sw lok: add LOK_CALLBACK_TEXT_VIEW_SELECTION, 2016-06-21) reverted. Change-Id: Ide21167ce2dc4287b1860b5f03a6975dc9edd4c6 Reviewed-on: https://gerrit.libreoffice.org/26550 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
Diffstat (limited to 'sw')
-rw-r--r--sw/qa/extras/tiledrendering/tiledrendering.cxx41
1 files changed, 38 insertions, 3 deletions
diff --git a/sw/qa/extras/tiledrendering/tiledrendering.cxx b/sw/qa/extras/tiledrendering/tiledrendering.cxx
index a24042f24ad7..240a27c3d51c 100644
--- a/sw/qa/extras/tiledrendering/tiledrendering.cxx
+++ b/sw/qa/extras/tiledrendering/tiledrendering.cxx
@@ -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);
}