include/test/unoapi_test.hxx | 2 ++ sc/qa/unit/subsequent_export_test2.cxx | 10 ++++++++-- test/source/unoapi_test.cxx | 18 ++++++++++++++++++ 3 files changed, 28 insertions(+), 2 deletions(-)
New commits: commit 14cb4f5e1a053000c32854f5ef63a08a96683dc8 Author: Henry Castro <hcas...@collabora.com> AuthorDate: Thu Sep 21 07:11:13 2023 -0400 Commit: Henry Castro <hcas...@collabora.com> CommitDate: Thu Sep 21 16:02:58 2023 +0200 sc: qa: add loadWithParams and SaveWithParams Add option to load and save with optional parameters. Signed-off-by: Henry Castro <hcas...@collabora.com> Change-Id: I2d735443da11634d072742f1bf6f38f90bced2c9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157141 diff --git a/include/test/unoapi_test.hxx b/include/test/unoapi_test.hxx index f228f70e21ca..b234a5093956 100644 --- a/include/test/unoapi_test.hxx +++ b/include/test/unoapi_test.hxx @@ -36,12 +36,14 @@ public: OUString createFileURL(std::u16string_view aFileBase); OUString createFilePath(std::u16string_view aFileBase); void load(const OUString& rURL, const char* pPassword = nullptr); + void loadWithParams(const OUString& rURL, const css::uno::Sequence<css::beans::PropertyValue>& rParams); OUString loadFromURL(std::u16string_view aFileBase, const char* pPassword = nullptr); css::uno::Any executeMacro(const OUString& rScriptURL, const css::uno::Sequence<css::uno::Any>& rParams = {}); void save(const OUString& rFilter, const char* pPassword = nullptr); + void saveWithParams(const css::uno::Sequence<css::beans::PropertyValue>& rParams); void saveAndReload(const OUString& rFilter, const char* pPassword = nullptr); std::unique_ptr<vcl::pdf::PDFiumDocument> parsePDFExport(const OString& rPassword = OString()); diff --git a/sc/qa/unit/subsequent_export_test2.cxx b/sc/qa/unit/subsequent_export_test2.cxx index 938fb3a4f00f..4e384336c344 100644 --- a/sc/qa/unit/subsequent_export_test2.cxx +++ b/sc/qa/unit/subsequent_export_test2.cxx @@ -33,6 +33,7 @@ #include <editeng/flditem.hxx> #include <editeng/justifyitem.hxx> #include <comphelper/scopeguard.hxx> +#include <comphelper/propertyvalue.hxx> #include <unotools/syslocaleoptions.hxx> #include <formula/grammar.hxx> #include <tools/fldunit.hxx> @@ -983,10 +984,15 @@ void ScExportTest2::testHyperlinkTargetFrameODS() void ScExportTest2::testOpenDocumentAsReadOnly() { - createScDoc("xlsx/open-as-read-only.xlsx"); + uno::Sequence<beans::PropertyValue> aParams = {comphelper::makePropertyValue("Silent", true) }; + + loadWithParams(createFileURL(OUString::createFromAscii("xlsx/open-as-read-only.xlsx")), aParams); ScDocShell* pDocSh = getScDocShell(); CPPUNIT_ASSERT(pDocSh->IsSecurityOptOpenReadOnly()); - saveAndReload("Calc Office Open XML"); + + saveWithParams(uno::Sequence<beans::PropertyValue>()); + loadWithParams(maTempFile.GetURL(), aParams); + pDocSh = getScDocShell(); CPPUNIT_ASSERT(pDocSh->IsSecurityOptOpenReadOnly()); } diff --git a/test/source/unoapi_test.cxx b/test/source/unoapi_test.cxx index e8198876537a..7a155694aeb8 100644 --- a/test/source/unoapi_test.cxx +++ b/test/source/unoapi_test.cxx @@ -121,6 +121,18 @@ void UnoApiTest::load(OUString const& rURL, const char* pPassword) } } +void UnoApiTest::loadWithParams(OUString const& rURL, const uno::Sequence<beans::PropertyValue>& rParams) +{ + if (mxComponent.is()) + { + mxComponent->dispose(); + mxComponent.clear(); + } + + mxComponent + = loadFromDesktop(rURL, OUString(), rParams); +} + OUString UnoApiTest::loadFromURL(std::u16string_view aFileBase, const char* pPassword) { OUString aFileName = createFileURL(aFileBase); @@ -200,6 +212,12 @@ void UnoApiTest::save(const OUString& rFilter, const char* pPassword) } } +void UnoApiTest::saveWithParams(const uno::Sequence<beans::PropertyValue>& rParams) +{ + css::uno::Reference<frame::XStorable> xStorable(mxComponent, css::uno::UNO_QUERY_THROW); + xStorable->storeToURL(maTempFile.GetURL(), rParams); +} + void UnoApiTest::saveAndReload(const OUString& rFilter, const char* pPassword) { save(rFilter, pPassword);