diff options
author | Szymon Kłos <szymon.klos@collabora.com> | 2019-05-13 14:48:47 +0200 |
---|---|---|
committer | Szymon Kłos <szymon.klos@collabora.com> | 2019-05-14 17:54:24 +0200 |
commit | 135eb77464a7a4682547e28ac5e291abff145f3c (patch) | |
tree | 273beb3bc70306ea64af612f3e24049f901a6789 /desktop | |
parent | 430b3f4db745dfe08b989745e340e0503dd0ac34 (diff) |
lok: test show/hide status of a window
Change-Id: I610fa6c5b7f19a7c995e02c4aa50e55090271642
Reviewed-on: https://gerrit.libreoffice.org/72230
Tested-by: Jenkins
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Diffstat (limited to 'desktop')
-rw-r--r-- | desktop/qa/desktop_lib/test_desktop_lib.cxx | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/desktop/qa/desktop_lib/test_desktop_lib.cxx b/desktop/qa/desktop_lib/test_desktop_lib.cxx index 1d7ae45a3b2e..d57ae546c7de 100644 --- a/desktop/qa/desktop_lib/test_desktop_lib.cxx +++ b/desktop/qa/desktop_lib/test_desktop_lib.cxx @@ -139,6 +139,7 @@ public: void testSignDocument_PEM_PDF(); void testTextSelectionHandles(); void testDialogPaste(); + void testShowHideDialog(); void testABI(); CPPUNIT_TEST_SUITE(DesktopLOKTest); @@ -190,6 +191,7 @@ public: CPPUNIT_TEST(testSignDocument_PEM_PDF); CPPUNIT_TEST(testTextSelectionHandles); CPPUNIT_TEST(testDialogPaste); + CPPUNIT_TEST(testShowHideDialog); CPPUNIT_TEST(testABI); CPPUNIT_TEST_SUITE_END(); @@ -1784,6 +1786,7 @@ public: bool m_bTilesInvalidated; tools::Rectangle m_aOwnCursor; boost::property_tree::ptree m_aCommentCallbackResult; + boost::property_tree::ptree m_aCallbackWindowResult; ViewCallback() : m_bTilesInvalidated(false) @@ -1825,6 +1828,13 @@ public: m_aCommentCallbackResult = m_aCommentCallbackResult.get_child("comment"); } break; + case LOK_CALLBACK_WINDOW: + { + m_aCallbackWindowResult.clear(); + std::stringstream aStream(pPayload); + boost::property_tree::read_json(aStream, m_aCallbackWindowResult); + } + break; } } }; @@ -2573,6 +2583,33 @@ void DesktopLOKTest::testDialogPaste() Scheduler::ProcessEventsToIdle(); } +void DesktopLOKTest::testShowHideDialog() +{ + ViewCallback aView; + + comphelper::LibreOfficeKit::setActive(); + LibLODocument_Impl* pDocument = loadDoc("blank_text.odt"); + + pDocument->m_pDocumentClass->initializeForRendering(pDocument, "{}"); + pDocument->m_pDocumentClass->registerCallback(pDocument, &ViewCallback::callback, &aView); + + pDocument->pClass->postUnoCommand(pDocument, ".uno:HyperlinkDialog", nullptr, false); + Scheduler::ProcessEventsToIdle(); + + VclPtr<vcl::Window> pWindow(Application::GetActiveTopWindow()); + CPPUNIT_ASSERT(pWindow); + + pWindow->Hide(); + Scheduler::ProcessEventsToIdle(); + + CPPUNIT_ASSERT_EQUAL(std::string("hide"), aView.m_aCallbackWindowResult.get<std::string>("action")); + + pWindow->Show(); + Scheduler::ProcessEventsToIdle(); + + CPPUNIT_ASSERT_EQUAL(std::string("invalidate"), aView.m_aCallbackWindowResult.get<std::string>("action")); +} + namespace { constexpr size_t classOffset(int i) |