diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2016-06-21 14:28:08 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2016-06-21 13:34:01 +0000 |
commit | 45182f36ef263d6fd94cc79bb242fbfb5a471c22 (patch) | |
tree | ae0c4aa287eea2e5887f0bf75907f27e28a2dee4 /sw | |
parent | bb6500aa74feabcf884801d7ca9ce70b5449cafb (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.cxx | 41 |
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); } |