From 28fbfa4f660be2c4698cdaae963e4e21d172e56d Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Tue, 6 Oct 2015 10:18:18 +0200 Subject: [PATCH 181/398] CppunitTest_sw_tiledrendering: CALLBACK_SEARCH_RESULT_SELECTION testcase Change-Id: I66a8d73581641c71f2dce2d1992070f3ccce08c2 (cherry picked from commit a7b86140d74039995bd4d312790244c1e2d4b501) --- sw/qa/extras/tiledrendering/tiledrendering.cxx | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/sw/qa/extras/tiledrendering/tiledrendering.cxx b/sw/qa/extras/tiledrendering/tiledrendering.cxx index bcc328e366a3..2fd27dd4f8ff 100644 --- a/sw/qa/extras/tiledrendering/tiledrendering.cxx +++ b/sw/qa/extras/tiledrendering/tiledrendering.cxx @@ -7,6 +7,9 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#include +#include + #include #include #include @@ -23,7 +26,6 @@ #include #include #include -#include static const char* DATA_DIRECTORY = "/sw/qa/extras/tiledrendering/data/"; @@ -71,6 +73,7 @@ private: OString m_aTextSelection; bool m_bFound; sal_Int32 m_nSearchResultCount; + std::vector m_aSearchResultSelection; }; SwTiledRenderingTest::SwTiledRenderingTest() @@ -137,6 +140,16 @@ void SwTiledRenderingTest::callbackImpl(int nType, const char* pPayload) m_nSearchResultCount = std::stoi(aStrPayload.substr(0, aStrPayload.find_first_of(";"))); } break; + case LOK_CALLBACK_SEARCH_RESULT_SELECTION: + { + m_aSearchResultSelection.clear(); + boost::property_tree::ptree aTree; + std::stringstream aStream(pPayload); + boost::property_tree::read_json(aStream, aTree); + for (boost::property_tree::ptree::value_type& rValue : aTree.get_child("searchResultSelection")) + m_aSearchResultSelection.push_back(rValue.second.data().c_str()); + } + break; } } @@ -466,6 +479,8 @@ void SwTiledRenderingTest::testSearchAll() comphelper::dispatchCommand(".uno:ExecuteSearch", aPropertyValues); // This was 0; should be 2 results in the body text. CPPUNIT_ASSERT_EQUAL(static_cast(2), m_nSearchResultCount); + // Make sure that we get exactly as many rectangle lists as matches. + CPPUNIT_ASSERT_EQUAL(static_cast(2), m_aSearchResultSelection.size()); comphelper::LibreOfficeKit::setActive(false); #endif -- 2.12.0