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);

Reply via email to