UnoApiTest: validate PDF/UA, PDF/A-1b, PDF/A-2b or PDF/A-3b by default

Change-Id: I984b5fb16bf36beb9468940a7d34248b17eaa3f4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200051
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
This commit is contained in:
Xisco Fauli
2026-02-23 18:29:05 +01:00
parent 8dd92537cc
commit d9035e3cbd
6 changed files with 37 additions and 21 deletions
+1 -1
View File
@@ -189,9 +189,9 @@ protected:
rtl::Reference<TestInteractionHandler> xInteractionHandler;
private:
void validate(TestFilter eFilter);
private:
bool mbSkipValidation;
OUString m_aBaseString;
@@ -1392,6 +1392,7 @@ CPPUNIT_TEST_FIXTURE(Test, testListLabelPDFExport)
uno::Sequence<beans::PropertyValue> aFilterData(
comphelper::InitPropertySequence({ { "PDFUACompliance", uno::Any(true) } }));
aMediaDescriptor[u"FilterData"_ustr] <<= aFilterData;
skipValidation();
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
// Parse the export result with pdfium.
@@ -1797,6 +1798,7 @@ CPPUNIT_TEST_FIXTURE(Test, testTableOfContentLinksHaveContentSet)
uno::Sequence<beans::PropertyValue> aFilterData(
comphelper::InitPropertySequence({ { "PDFUACompliance", uno::Any(true) } }));
aMediaDescriptor[u"FilterData"_ustr] <<= aFilterData;
skipValidation();
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
// Parse the export result with pdfium.
@@ -1859,6 +1861,7 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf143311)
uno::Sequence<beans::PropertyValue> aFilterData(
comphelper::InitPropertySequence({ { "PDFUACompliance", uno::Any(true) } }));
aMediaDescriptor[u"FilterData"_ustr] <<= aFilterData;
skipValidation();
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
vcl::filter::PDFDocument aDocument;
+1
View File
@@ -764,6 +764,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest9, testPDFExportCrash)
uno::Sequence<beans::PropertyValue> aFilterData(
comphelper::InitPropertySequence({ { "PDFUACompliance", uno::Any(true) } }));
skipValidation();
// Without the fix in place, this test would have crashed here
save(TestFilter::PDF_WRITER, {
+16 -2
View File
@@ -371,8 +371,22 @@ void UnoApiTest::save(TestFilter eFilter, const uno::Sequence<beans::PropertyVal
css::uno::Reference<frame::XStorable> xStorable(mxComponent, css::uno::UNO_QUERY_THROW);
xStorable->storeToURL(maTempFile.GetURL(), aMediaDescriptor.getAsConstPropertyValueList());
// FIXME: Don't validate pdf files by default for now
if (!mbSkipValidation && eFilter != TestFilter::PDF_WRITER)
if (eFilter == TestFilter::PDF_WRITER)
{
comphelper::SequenceAsHashMap aFilterData;
if (aMediaDescriptor.contains(u"FilterData"_ustr))
aFilterData = aMediaDescriptor[u"FilterData"_ustr];
bool bPDFUACompliance(
aFilterData.getUnpackedValueOrDefault(u"PDFUACompliance"_ustr, false));
sal_Int32 nSelectPdfVersion(
aFilterData.getUnpackedValueOrDefault(u"SelectPdfVersion"_ustr, sal_Int32(0)));
// Only validate PDF/UA, PDF/A-1b, PDF/A-2b or PDF/A-3b
if (!bPDFUACompliance && nSelectPdfVersion != 1 && nSelectPdfVersion != 2
&& nSelectPdfVersion != 3)
skipValidation();
}
if (!mbSkipValidation)
validate(eFilter);
}
+3 -3
View File
@@ -122,6 +122,8 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest, testTdf160051)
vcl::filter::PDFDocument aDocument;
loadFromFile(u"tdf160051.odt");
skipValidation();
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
// Parse the export result.
@@ -168,6 +170,7 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest, testCommentAnnotation)
vcl::filter::PDFDocument aDocument;
loadFromFile(u"tdf162359.odt");
skipValidation();
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
// Parse the export result.
@@ -2481,7 +2484,6 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest, testTdf157816)
vcl::filter::PDFDocument aDocument;
loadFromFile(u"tdf157816.fodt");
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
validate(TestFilter::PDF_WRITER);
// Parse the export result.
SvFileStream aStream(maTempFile.GetURL(), StreamMode::READ);
@@ -2884,7 +2886,6 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest, testTdf157816Link)
vcl::filter::PDFDocument aDocument;
loadFromFile(u"LinkWithFly.fodt");
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
validate(TestFilter::PDF_WRITER);
// Parse the export result.
SvFileStream aStream(maTempFile.GetURL(), StreamMode::READ);
@@ -3276,7 +3277,6 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest, testTdf142806)
vcl::filter::PDFDocument aDocument;
loadFromFile(u"LinkPages.fodt");
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
validate(TestFilter::PDF_WRITER);
// Parse the export result.
SvFileStream aStream(maTempFile.GetURL(), StreamMode::READ);
+13 -15
View File
@@ -76,6 +76,7 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf160705)
vcl::filter::PDFDocument aDocument;
loadFromFile(u"tdf160705.odt");
skipValidation();
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
// Parse the export result.
@@ -145,6 +146,7 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf159895)
vcl::filter::PDFDocument aDocument;
loadFromFile(u"tdf159895.odt");
skipValidation();
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
// Parse the export result.
@@ -1392,6 +1394,7 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testPdfUaMetadata)
vcl::filter::PDFDocument aDocument;
loadFromFile(u"BrownFoxLazyDog.odt");
skipValidation();
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
// Parse the export result.
@@ -1473,7 +1476,6 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf139736)
vcl::filter::PDFDocument aDocument;
loadFromFile(u"tdf139736-1.odt");
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
validate(TestFilter::PDF_WRITER);
// Parse the export result.
SvFileStream aStream(maTempFile.GetURL(), StreamMode::READ);
@@ -1581,6 +1583,7 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf152231)
aMediaDescriptor[u"FilterData"_ustr] <<= aFilterData;
vcl::filter::PDFDocument aDocument;
loadFromFile(u"tdf152231.fodt");
skipValidation();
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
// Parse the export result.
@@ -1690,9 +1693,8 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf136805)
aMediaDescriptor[u"FilterData"_ustr] <<= aFilterData;
vcl::filter::PDFDocument aDocument;
loadFromFile(u"tdf136805.pdf");
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
// Without the fix in place, the validation would have failed
validate(TestFilter::PDF_WRITER);
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
}
CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf157517)
@@ -1706,9 +1708,8 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf157517)
aMediaDescriptor[u"FilterData"_ustr] <<= aFilterData;
vcl::filter::PDFDocument aDocument;
loadFromFile(u"tdf157517.odt");
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
// Without the fix in place, the validation would have failed
validate(TestFilter::PDF_WRITER);
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
}
CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf152235)
@@ -1723,6 +1724,7 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf152235)
comphelper::SequenceAsHashMap aMediaDescriptor;
aMediaDescriptor[u"FilterData"_ustr] <<= aFilterData;
loadFromURL(u"private:factory/swriter"_ustr);
skipValidation();
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
vcl::filter::PDFDocument aDocument;
@@ -1810,7 +1812,6 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf167290)
vcl::filter::PDFDocument aDocument;
loadFromFile(u"tdf167290.odt");
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
validate(TestFilter::PDF_WRITER);
}
CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf149140)
@@ -1823,7 +1824,6 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf149140)
vcl::filter::PDFDocument aDocument;
loadFromFile(u"TableTH_test_LibreOfficeWriter7.3.3_HeaderRow-HeadersInTopRow.fodt");
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
validate(TestFilter::PDF_WRITER);
// Parse the export result.
SvFileStream aStream(maTempFile.GetURL(), StreamMode::READ);
@@ -1884,7 +1884,6 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testNestedSection)
vcl::filter::PDFDocument aDocument;
loadFromFile(u"nestedsection.fodt");
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
validate(TestFilter::PDF_WRITER);
// Parse the export result.
SvFileStream aStream(maTempFile.GetURL(), StreamMode::READ);
@@ -2031,6 +2030,7 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf157817)
vcl::filter::PDFDocument aDocument;
loadFromFile(u"SimpleTOC.fodt");
skipValidation();
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
// Parse the export result.
@@ -2206,6 +2206,7 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf135638)
vcl::filter::PDFDocument aDocument;
loadFromFile(u"image-shape.fodt");
skipValidation();
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
// Parse the export result.
@@ -2302,6 +2303,7 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf157703)
vcl::filter::PDFDocument aDocument;
loadFromFile(u"LO_Lbl_Lbody_bug_report.fodt");
skipValidation();
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
// Parse the export result.
@@ -2382,6 +2384,7 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testSpans)
vcl::filter::PDFDocument aDocument;
loadFromFile(u"spanlist.fodt");
skipValidation();
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
// Parse the export result.
@@ -2916,6 +2919,7 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf57423)
vcl::filter::PDFDocument aDocument;
loadFromFile(u"Description PDF Export test .odt");
skipValidation();
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
// Parse the export result.
@@ -3022,7 +3026,6 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf154982)
vcl::filter::PDFDocument aDocument;
loadFromFile(u"tdf154982.odt");
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
validate(TestFilter::PDF_WRITER);
// Parse the export result.
SvFileStream aStream(maTempFile.GetURL(), StreamMode::READ);
@@ -3104,6 +3107,7 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf157397)
vcl::filter::PDFDocument aDocument;
loadFromFile(u"PDF_export_with_formcontrol.fodt");
skipValidation();
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
// Parse the export result.
@@ -3433,7 +3437,6 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf135192)
vcl::filter::PDFDocument aDocument;
loadFromFile(u"tdf135192-1.fodp");
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
validate(TestFilter::PDF_WRITER);
// Parse the export result.
SvFileStream aStream(maTempFile.GetURL(), StreamMode::READ);
@@ -3566,7 +3569,6 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf154955)
vcl::filter::PDFDocument aDocument;
loadFromFile(u"grouped-shape.fodt");
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
validate(TestFilter::PDF_WRITER);
// Parse the export result.
SvFileStream aStream(maTempFile.GetURL(), StreamMode::READ);
@@ -3702,7 +3704,6 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testTdf155190)
vcl::filter::PDFDocument aDocument;
loadFromFile(u"tdf155190.odt");
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
validate(TestFilter::PDF_WRITER);
// Parse the export result.
SvFileStream aStream(maTempFile.GetURL(), StreamMode::READ);
@@ -3793,7 +3794,6 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testMediaShapeAnnot)
vcl::filter::PDFDocument aDocument;
loadFromFile(u"vid.odt");
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
validate(TestFilter::PDF_WRITER);
// Parse the export result.
SvFileStream aStream(maTempFile.GetURL(), StreamMode::READ);
@@ -3934,7 +3934,6 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testFlyFrameHyperlinkAnnot)
vcl::filter::PDFDocument aDocument;
loadFromFile(u"image-hyperlink-alttext.fodt");
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
validate(TestFilter::PDF_WRITER);
// Parse the export result.
SvFileStream aStream(maTempFile.GetURL(), StreamMode::READ);
@@ -4071,7 +4070,6 @@ CPPUNIT_TEST_FIXTURE(PdfExportTest2, testFormControlAnnot)
vcl::filter::PDFDocument aDocument;
loadFromFile(u"formcontrol.fodt");
save(TestFilter::PDF_WRITER, aMediaDescriptor.getAsConstPropertyValueList());
validate(TestFilter::PDF_WRITER);
// Parse the export result.
SvFileStream aStream(maTempFile.GetURL(), StreamMode::READ);