diff options
author | Miklos Vajna <vmiklos@collabora.com> | 2021-12-02 08:45:26 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2022-01-10 08:45:03 +0100 |
commit | 27c1318fba70d3682b0938c41eed216373775e69 (patch) | |
tree | 2d2a4a441ff0532933ca2d453a6f78e21f042d24 | |
parent | ad9f5f24107e9f284352eb960944e408931bdaba (diff) |
test: move parseExportStream() from SdModelTestBaseXML up to MacrosTest
Move parseExportStream() from SdModelTestBaseXML up to MacrosTest,
so oox/ test code can use it as well.
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126215
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
(cherry picked from commit f36767fde87191258ea21f3faac0be6ad79328e0)
Change-Id: I8ba7d6f3b535456ddaa7cd0f0bb5d56fce7a7766
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128173
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
-rw-r--r-- | include/unotest/macros_test.hxx | 9 | ||||
-rw-r--r-- | oox/qa/unit/export.cxx | 8 | ||||
-rw-r--r-- | sd/qa/unit/sdmodeltestbase.hxx | 11 | ||||
-rw-r--r-- | unotest/Library_unotest.mk | 1 | ||||
-rw-r--r-- | unotest/source/cpp/macros_test.cxx | 17 |
5 files changed, 28 insertions, 18 deletions
diff --git a/include/unotest/macros_test.hxx b/include/unotest/macros_test.hxx index 14917794d38d..ed879b835a55 100644 --- a/include/unotest/macros_test.hxx +++ b/include/unotest/macros_test.hxx @@ -28,11 +28,16 @@ struct TestMacroInfo }; class BasicDLL; +class SvStream; namespace test { class Directories; } +namespace utl +{ +class TempFile; +} namespace unotest { @@ -76,6 +81,10 @@ public: const OUString& rCommand, const css::uno::Sequence<css::beans::PropertyValue>& rPropertyValues); + /// Opens rStreamName from rTempFile, assuming it's a ZIP storage. + static std::unique_ptr<SvStream> parseExportStream(const utl::TempFile& rTempFile, + const OUString& rStreamName); + void setUpNssGpg(const test::Directories& rDirectories, const OUString& rTestName); void tearDownNssGpg(); diff --git a/oox/qa/unit/export.cxx b/oox/qa/unit/export.cxx index 6e6620ab63a4..5db14c35d03b 100644 --- a/oox/qa/unit/export.cxx +++ b/oox/qa/unit/export.cxx @@ -13,11 +13,9 @@ #include <com/sun/star/frame/Desktop.hpp> #include <com/sun/star/frame/XStorable.hpp> -#include <com/sun/star/packages/zip/ZipFileAccess.hpp> #include <unotools/mediadescriptor.hxx> #include <unotools/tempfile.hxx> -#include <unotools/ucbstreamhelper.hxx> using namespace ::com::sun::star; @@ -138,11 +136,7 @@ CPPUNIT_TEST_FIXTURE(Test, testDmlGroupshapePolygon) // Then make sure that the group shape, the group shape's child size and the child shape's size // match: - uno::Reference<packages::zip::XZipFileAccess2> xNameAccess - = packages::zip::ZipFileAccess::createWithURL(mxComponentContext, getTempFile().GetURL()); - uno::Reference<io::XInputStream> xInputStream(xNameAccess->getByName("word/document.xml"), - uno::UNO_QUERY); - std::unique_ptr<SvStream> pStream(utl::UcbStreamHelper::CreateStream(xInputStream, true)); + std::unique_ptr<SvStream> pStream = parseExportStream(getTempFile(), "word/document.xml"); xmlDocUniquePtr pXmlDoc = parseXmlStream(pStream.get()); assertXPath(pXmlDoc, "//wpg:grpSpPr/a:xfrm/a:ext", "cx", "5328360"); // Without the accompanying fix in place, this test would have failed, the <a:chExt> element was diff --git a/sd/qa/unit/sdmodeltestbase.hxx b/sd/qa/unit/sdmodeltestbase.hxx index 08f66de864f1..73b5b70f63e1 100644 --- a/sd/qa/unit/sdmodeltestbase.hxx +++ b/sd/qa/unit/sdmodeltestbase.hxx @@ -443,17 +443,6 @@ class SdModelTestBaseXML { public: - std::unique_ptr<SvStream> parseExportStream(utl::TempFile const & rTempFile, const OUString& rStreamName) - { - // Read the stream we're interested in. - OUString const url(rTempFile.GetURL()); - uno::Reference<packages::zip::XZipFileAccess2> const xZipNames(packages::zip::ZipFileAccess::createWithURL( - comphelper::getComponentContext(m_xSFactory), url)); - uno::Reference<io::XInputStream> const xInputStream(xZipNames->getByName(rStreamName), uno::UNO_QUERY); - std::unique_ptr<SvStream> pStream(utl::UcbStreamHelper::CreateStream(xInputStream, true)); - return pStream; - } - xmlDocUniquePtr parseExport(utl::TempFile const & rTempFile, OUString const& rStreamName) { std::unique_ptr<SvStream> const pStream(parseExportStream(rTempFile, rStreamName)); diff --git a/unotest/Library_unotest.mk b/unotest/Library_unotest.mk index ea697699ee82..3acfe2f69ed9 100644 --- a/unotest/Library_unotest.mk +++ b/unotest/Library_unotest.mk @@ -22,6 +22,7 @@ $(eval $(call gb_Library_use_libraries,unotest,\ cppuhelper \ sal \ sb \ + utl \ )) $(eval $(call gb_Library_use_externals,unotest,\ diff --git a/unotest/source/cpp/macros_test.cxx b/unotest/source/cpp/macros_test.cxx index af6ac567edf3..0141af0ec1ab 100644 --- a/unotest/source/cpp/macros_test.cxx +++ b/unotest/source/cpp/macros_test.cxx @@ -14,6 +14,7 @@ #include <com/sun/star/document/MacroExecMode.hpp> #include <com/sun/star/uno/XComponentContext.hpp> #include <com/sun/star/frame/DispatchHelper.hpp> +#include <com/sun/star/packages/zip/ZipFileAccess.hpp> #include <basic/basrdll.hxx> #include <cppunit/TestAssert.h> @@ -23,6 +24,8 @@ #include <osl/file.hxx> #include <osl/process.h> #include <osl/thread.h> +#include <unotools/tempfile.hxx> +#include <unotools/ucbstreamhelper.hxx> using namespace css; @@ -85,6 +88,20 @@ void MacrosTest::dispatchCommand(const uno::Reference<lang::XComponent>& xCompon xDispatchHelper->executeDispatch(xFrame, rCommand, OUString(), 0, rPropertyValues); } +std::unique_ptr<SvStream> MacrosTest::parseExportStream(const utl::TempFile& rTempFile, + const OUString& rStreamName) +{ + const OUString aUrl = rTempFile.GetURL(); + uno::Reference<uno::XComponentContext> xComponentContext + = comphelper::getProcessComponentContext(); + uno::Reference<packages::zip::XZipFileAccess2> const xZipNames( + packages::zip::ZipFileAccess::createWithURL(xComponentContext, aUrl)); + uno::Reference<io::XInputStream> const xInputStream(xZipNames->getByName(rStreamName), + uno::UNO_QUERY); + std::unique_ptr<SvStream> pStream(utl::UcbStreamHelper::CreateStream(xInputStream, true)); + return pStream; +} + void MacrosTest::setUpNssGpg(const test::Directories& rDirectories, const OUString& rTestName) { OUString aSourceDir = rDirectories.getURLFromSrc("/test/signing-keys/"); |