libreoffice-online/test/UnitRenderSearchResult.cpp
Tomaž Vajngerl b31eb2ab92 New POST service to render a search result + unit and integ. tests
This adds a new service render-search-result, which renders an
image of the position where, the search fund a hit. The search
result contains the information in which object or paragraph,
which is just the node id and node type from the document model.

The service takes the document and the search result (xml file)
as the input and returns a PNG image as the output.

Signed-off-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>

Change-Id: Iffc158c5b0a3c9a63f8d05830314c9bc1616b3b1
Signed-off-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>
2021-09-13 10:36:15 +02:00

58 lines
1.7 KiB
C++

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#include <config.h>
#include <memory>
#include <string>
#include <Poco/URI.h>
#include <test/lokassert.hpp>
#include <Unit.hpp>
#include <Util.hpp>
#include <helpers.hpp>
class LOOLWebSocket;
class UnitRenderSearchResult : public UnitWSD
{
public:
void invokeWSDTest() override;
};
void UnitRenderSearchResult::invokeWSDTest()
{
const char testname[] = "UnitRenderSearchResult";
try
{
std::string documentPath;
std::string documentURL;
helpers::getDocumentPathAndURL("RenderSearchResultTest.odt", documentPath, documentURL, testname);
std::shared_ptr<LOOLWebSocket> socket = helpers::loadDocAndGetSocket(Poco::URI(helpers::getTestServerURI()), documentURL, testname);
helpers::sendTextFrame(socket, "rendersearchresult <indexing><paragraph node_type=\"writer\" index=\"19\"/></indexing>");
std::vector<char> responseMessage = helpers::getResponseMessage(socket, "rendersearchresult:", testname);
// LOK_ASSERT(responseMessage.size() >= 100);
// LOK_ASSERT_EQUAL(responseMessage[1], 'P');
// LOK_ASSERT_EQUAL(responseMessage[2], 'N');
// LOK_ASSERT_EQUAL(responseMessage[3], 'G');
}
catch (const Poco::Exception& exc)
{
LOK_ASSERT_FAIL(exc.displayText());
}
exitTest(TestResult::Ok);
}
UnitBase* unit_create_wsd(void) { return new UnitRenderSearchResult(); }
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */