loolwsd/test/httpwstest.cpp | 32 +++++++++++--------------------- 1 file changed, 11 insertions(+), 21 deletions(-)
New commits: commit 66549a68729d21f22421f20267aaa282daef22c9 Author: Ashod Nakashian <ashod.nakash...@collabora.co.uk> Date: Fri May 13 13:47:21 2016 -0400 loolwsd: improve testLargePaste Change-Id: I789effb1b634c6cde04f936e1f1bc3a0a0868a69 Reviewed-on: https://gerrit.libreoffice.org/24991 Reviewed-by: Ashod Nakashian <ashnak...@gmail.com> Tested-by: Ashod Nakashian <ashnak...@gmail.com> diff --git a/loolwsd/test/httpwstest.cpp b/loolwsd/test/httpwstest.cpp index de1e66c..2515ed0 100644 --- a/loolwsd/test/httpwstest.cpp +++ b/loolwsd/test/httpwstest.cpp @@ -665,32 +665,22 @@ void HTTPWSTest::testLargePaste() sendTextFrame(socket, "uno .uno:Delete"); // Paste some text into it. - std::ifstream documentStream(documentPath); - std::string documentContents((std::istreambuf_iterator<char>(documentStream)), std::istreambuf_iterator<char>()); + std::ostringstream oss; + for (auto i = 0; i < 1000; ++i) + { + oss << Util::encodeId(Util::rng::getNext(), 6); + } + const auto documentContents = oss.str(); + std::cerr << "Pasting " << documentContents.size() << " characters into document." << std::endl; sendTextFrame(socket, "paste mimetype=text/html\n" + documentContents); // Check if the server is still alive. // This resulted first in a hang, as respose for the message never arrived, then a bit later in a Poco::TimeoutException. + sendTextFrame(socket, "uno .uno:SelectAll"); sendTextFrame(socket, "gettextselection mimetype=text/plain;charset=utf-8"); - std::string selection; - int flags; - int n; - do - { - char buffer[READ_BUFFER_SIZE]; - n = socket.receiveFrame(buffer, sizeof(buffer), flags); - if (n > 0 && (flags & Poco::Net::WebSocket::FRAME_OP_BITMASK) != Poco::Net::WebSocket::FRAME_OP_CLOSE) - { - std::cout << "Received message length " << n << ": " << LOOLProtocol::getAbbreviatedMessage(buffer, n) << '\n'; - std::string line = LOOLProtocol::getFirstLine(buffer, n); - std::string prefix = "textselectioncontent: "; - if (line.find(prefix) == 0) - break; - } - } - while (n > 0 && (flags & Poco::Net::WebSocket::FRAME_OP_BITMASK) != Poco::Net::WebSocket::FRAME_OP_CLOSE); - socket.shutdown(); - Util::removeFile(documentPath); + const auto selection = assertResponseLine(socket, "textselectioncontent:"); + CPPUNIT_ASSERT_MESSAGE("Pasted text was either corrupted or couldn't be read back", + "textselectioncontent: " + documentContents == selection); } catch (const Poco::Exception& exc) { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits