desktop/qa/desktop_lib/test_desktop_lib.cxx | 31 ++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+)
New commits: commit 00d730f6260b6fcfafb0ce4d185a0866c2eae2cb Author: Michael Meeks <michael.me...@collabora.com> AuthorDate: Tue May 28 09:38:19 2019 +0100 Commit: Michael Meeks <michael.me...@collabora.com> CommitDate: Tue May 28 09:38:19 2019 +0100 Actually add the unit test. Change-Id: I9ff4873fbcd7ea6c0d527a21777af0a2b5190c76 diff --git a/desktop/qa/desktop_lib/test_desktop_lib.cxx b/desktop/qa/desktop_lib/test_desktop_lib.cxx index 2a9aefe746b8..a068137af535 100644 --- a/desktop/qa/desktop_lib/test_desktop_lib.cxx +++ b/desktop/qa/desktop_lib/test_desktop_lib.cxx @@ -101,6 +101,7 @@ public: void testSaveAsCalc(); void testPasteWriter(); void testPasteWriterJPEG(); + void testRichPaste(); void testUndoWriter(); void testRowColumnHeaders(); void testHiddenRowHeaders(); @@ -152,6 +153,7 @@ public: CPPUNIT_TEST(testSaveAsCalc); CPPUNIT_TEST(testPasteWriter); CPPUNIT_TEST(testPasteWriterJPEG); + CPPUNIT_TEST(testRichPaste); CPPUNIT_TEST(testUndoWriter); CPPUNIT_TEST(testRowColumnHeaders); CPPUNIT_TEST(testHiddenRowHeaders); @@ -638,6 +640,35 @@ void DesktopLOKTest::testPasteWriterJPEG() CPPUNIT_ASSERT_EQUAL(text::TextContentAnchorType_AT_CHARACTER, xShape->getPropertyValue("AnchorType").get<text::TextContentAnchorType>()); } +void DesktopLOKTest::testRichPaste() +{ + comphelper::LibreOfficeKit::setActive(); + + LibLODocument_Impl* pDocument = loadDoc("blank_text.odt"); + + OUString aFileURL; + createFileURL("paste.jpg", aFileURL); + std::ifstream aImageStream(aFileURL.toUtf8().copy(strlen("file://")).getStr()); + std::vector<char> aImageContents((std::istreambuf_iterator<char>(aImageStream)), std::istreambuf_iterator<char>()); + CPPUNIT_ASSERT(pDocument->pClass->paste(pDocument, "image/jpeg", aImageContents.data(), aImageContents.size())); + + pDocument->pClass->postUnoCommand(pDocument, ".uno:SelectAll", nullptr, false); + Scheduler::ProcessEventsToIdle(); + + const char *pMadMime = "application/x-openoffice-embed-source-xml;windows_formatname=\"Star Embed Source (XML)\""; + size_t nSize = 0; + char *pUsedMime = 0; + char *pData = pDocument->pClass->getBinarySelection(pDocument, pMadMime, &nSize, &pUsedMime); + CPPUNIT_ASSERT(nSize > 0); + CPPUNIT_ASSERT(pData != nullptr); + CPPUNIT_ASSERT(pUsedMime && !strcmp(pUsedMime, pMadMime)); + + LibLODocument_Impl* pDocument2 = loadDoc("blank_text.odt"); + CPPUNIT_ASSERT(pDocument->pClass->paste(pDocument2, pMadMime, pData, nSize)); + + // FIXME: validate the paste actually occurred: which is the problem ... +} + void DesktopLOKTest::testUndoWriter() { // Load a Writer document and press a key. _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits