test/source/unoapi_test.cxx                    |   13 +++++++++++--
 vcl/qa/cppunit/pdfexport/PDFEncryptionTest.cxx |   18 ++++++++----------
 vcl/qa/cppunit/pdfexport/pdfexport2.cxx        |   15 ++++-----------
 3 files changed, 23 insertions(+), 23 deletions(-)

New commits:
commit 4d8fd94eb4ff4f5b2605f49fa079ed22681e470d
Author:     Xisco Fauli <[email protected]>
AuthorDate: Wed Feb 4 12:38:27 2026 +0100
Commit:     Xisco Fauli <[email protected]>
CommitDate: Wed Feb 4 15:52:06 2026 +0100

    UnoApiTest: set password for pdf files inside save()
    
    Change-Id: Ic0456a24774e8b7d65163714670510d1c37027c0
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198670
    Reviewed-by: Xisco Fauli <[email protected]>
    Tested-by: Jenkins

diff --git a/test/source/unoapi_test.cxx b/test/source/unoapi_test.cxx
index f381a00fc6f0..fb234680a6d0 100644
--- a/test/source/unoapi_test.cxx
+++ b/test/source/unoapi_test.cxx
@@ -332,8 +332,17 @@ void UnoApiTest::save(TestFilter eFilter, const 
uno::Sequence<beans::PropertyVal
 
     if (pPassword)
     {
-        if (eFilter != TestFilter::DOCX && eFilter != TestFilter::XLSX
-            && eFilter != TestFilter::PPTX)
+        if (eFilter == TestFilter::PDF_WRITER)
+        {
+            comphelper::SequenceAsHashMap aFilterData;
+            if (aMediaDescriptor.contains(u"FilterData"_ustr))
+                aFilterData = aMediaDescriptor[u"FilterData"_ustr];
+            aFilterData[u"EncryptFile"_ustr] <<= true;
+            aFilterData[u"DocumentOpenPassword"_ustr] <<= 
OUString::createFromAscii(pPassword);
+            aMediaDescriptor[u"FilterData"_ustr] <<= 
aFilterData.getAsConstPropertyValueList();
+        }
+        else if (eFilter != TestFilter::DOCX && eFilter != TestFilter::XLSX
+                 && eFilter != TestFilter::PPTX)
         {
             aMediaDescriptor[u"Password"_ustr] <<= 
OUString::createFromAscii(pPassword);
         }
diff --git a/vcl/qa/cppunit/pdfexport/PDFEncryptionTest.cxx 
b/vcl/qa/cppunit/pdfexport/PDFEncryptionTest.cxx
index 038dc70d1258..3527fe7283d2 100644
--- a/vcl/qa/cppunit/pdfexport/PDFEncryptionTest.cxx
+++ b/vcl/qa/cppunit/pdfexport/PDFEncryptionTest.cxx
@@ -71,12 +71,11 @@ CPPUNIT_TEST_FIXTURE(PDFEncryptionTest, 
testEncryptionRoundtrip_PDF_1_7)
     loadFromURL(u"private:factory/swriter"_ustr);
 
     // Save PDF
-    uno::Sequence<beans::PropertyValue> aFilterData = 
comphelper::InitPropertySequence(
-        { { "SelectPdfVersion", uno::Any(sal_Int32(17)) },
-          { "EncryptFile", uno::Any(true) },
-          { "DocumentOpenPassword", uno::Any(u"secret"_ustr) } });
+    uno::Sequence<beans::PropertyValue> aFilterData
+        = comphelper::InitPropertySequence({ { "SelectPdfVersion", 
uno::Any(sal_Int32(17)) } });
     maMediaDescriptor["FilterData"] <<= aFilterData;
-    save(TestFilter::PDF_WRITER, 
maMediaDescriptor.getAsConstPropertyValueList());
+    save(TestFilter::PDF_WRITER, 
maMediaDescriptor.getAsConstPropertyValueList(),
+         /*pPassword*/ "secret");
 
     // Load the exported result in PDFium
     std::unique_ptr<vcl::pdf::PDFiumDocument> pPdfDocument = 
parsePDFExport("secret"_ostr);
@@ -90,12 +89,11 @@ CPPUNIT_TEST_FIXTURE(PDFEncryptionTest, 
testEncryptionRoundtrip_PDF_2_0)
     loadFromURL(u"private:factory/swriter"_ustr);
 
     // Save PDF
-    uno::Sequence<beans::PropertyValue> aFilterData = 
comphelper::InitPropertySequence(
-        { { "SelectPdfVersion", uno::Any(sal_Int32(20)) },
-          { "EncryptFile", uno::Any(true) },
-          { "DocumentOpenPassword", uno::Any(u"secret"_ustr) } });
+    uno::Sequence<beans::PropertyValue> aFilterData
+        = comphelper::InitPropertySequence({ { "SelectPdfVersion", 
uno::Any(sal_Int32(20)) } });
     maMediaDescriptor["FilterData"] <<= aFilterData;
-    save(TestFilter::PDF_WRITER, 
maMediaDescriptor.getAsConstPropertyValueList());
+    save(TestFilter::PDF_WRITER, 
maMediaDescriptor.getAsConstPropertyValueList(),
+         /*pPassword*/ "secret");
 
     // Load the exported result in PDFium
     std::unique_ptr<vcl::pdf::PDFiumDocument> pPdfDocument = 
parsePDFExport("secret"_ostr);
diff --git a/vcl/qa/cppunit/pdfexport/pdfexport2.cxx 
b/vcl/qa/cppunit/pdfexport/pdfexport2.cxx
index aad9c78a0f68..6b50412dea4c 100644
--- a/vcl/qa/cppunit/pdfexport/pdfexport2.cxx
+++ b/vcl/qa/cppunit/pdfexport/pdfexport2.cxx
@@ -4573,13 +4573,7 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, 
testPdfImageEncryption)
     xText->insertTextContent(xCursor->getStart(), xTextContent, 
/*bAbsorb=*/false);
 
     // When saving as encrypted PDF:
-    uno::Sequence<beans::PropertyValue> aFilterData = {
-        comphelper::makePropertyValue(u"EncryptFile"_ustr, true),
-        comphelper::makePropertyValue(u"DocumentOpenPassword"_ustr, 
u"secret"_ustr),
-    };
-    comphelper::SequenceAsHashMap aMediaDescriptor;
-    aMediaDescriptor[u"FilterData"_ustr] <<= aFilterData;
-    save(TestFilter::PDF_WRITER, 
aMediaDescriptor.getAsConstPropertyValueList());
+    save(TestFilter::PDF_WRITER, /*rParams*/ {}, /*pPassword*/ "secret");
 
     // Then make sure that the image is not lost:
     std::unique_ptr<vcl::pdf::PDFiumDocument> pPdfDocument = 
parsePDFExport("secret"_ostr);
@@ -6398,14 +6392,13 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, 
testPDFAttachmentsWithEncryptedFile)
     // The original ODF document will be saved to the PDF as an attachment.
 
     uno::Sequence<beans::PropertyValue> aFilterData
-        = { comphelper::makePropertyValue("IsAddStream", true),
-            comphelper::makePropertyValue("EncryptFile", true),
-            comphelper::makePropertyValue("DocumentOpenPassword", 
OUString("secret")) };
+        = { comphelper::makePropertyValue("IsAddStream", true) };
     comphelper::SequenceAsHashMap aMediaDescriptor;
     aMediaDescriptor["FilterData"] <<= aFilterData;
 
     loadFromFile(u"SimpleTestDocument.fodt");
-    save(TestFilter::PDF_WRITER, 
aMediaDescriptor.getAsConstPropertyValueList());
+    save(TestFilter::PDF_WRITER, 
aMediaDescriptor.getAsConstPropertyValueList(),
+         /*pPassword*/ "secret");
 
     // Parse the round-tripped document with PDFium
     auto pPdfDocument = parsePDFExport("secret"_ostr);

Reply via email to