include/test/unoapi_test.hxx | 2 include/test/unoapixml_test.hxx | 2 sw/qa/extras/ooxmlexport/ooxmlexport19.cxx | 2 sw/qa/extras/ooxmlexport/ooxmlexport4.cxx | 81 ++++++++++++++++++++++++++++- sw/qa/inc/swmodeltestbase.hxx | 2 sw/qa/unit/swmodeltestbase.cxx | 4 - test/source/unoapi_test.cxx | 4 - test/source/unoapixml_test.cxx | 4 - 8 files changed, 90 insertions(+), 11 deletions(-)
New commits: commit 7e6a1d12d4a7f21038fc192769a831eed7b935c2 Author: Xisco Fauli <[email protected]> AuthorDate: Fri Nov 21 16:19:05 2025 +0100 Commit: Xisco Fauli <[email protected]> CommitDate: Sat Nov 22 08:26:42 2025 +0100 sw_ooxmlexport4: do not skip DOCX export validation (last one) Change-Id: Icfb01d6576e48aef16540bd4164e38d20ff8f4a3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194341 Reviewed-by: Xisco Fauli <[email protected]> Tested-by: Jenkins diff --git a/include/test/unoapi_test.hxx b/include/test/unoapi_test.hxx index b1498e31f5dd..2790f531d774 100644 --- a/include/test/unoapi_test.hxx +++ b/include/test/unoapi_test.hxx @@ -118,7 +118,7 @@ const std::unordered_map<TestFilter, OUString> TestFilterNames{ class OOO_DLLPUBLIC_TEST UnoApiTest : public test::BootstrapFixture, public unotest::MacrosTest { public: - UnoApiTest(OUString path, bool bSkipValidation = false); + UnoApiTest(OUString path); virtual void setUp() override; virtual void tearDown() override; diff --git a/include/test/unoapixml_test.hxx b/include/test/unoapixml_test.hxx index ae63b6d0ac94..569be11790b9 100644 --- a/include/test/unoapixml_test.hxx +++ b/include/test/unoapixml_test.hxx @@ -20,7 +20,7 @@ class OOO_DLLPUBLIC_TEST UnoApiXmlTest : public UnoApiTest, public XmlTestTools { public: - UnoApiXmlTest(OUString path, bool bSkipValidation = false); + UnoApiXmlTest(OUString path); xmlDocUniquePtr parseExport(OUString const& rStreamName); diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport4.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport4.cxx index 70a0cce28dea..00cefa910c2d 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport4.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport4.cxx @@ -31,7 +31,7 @@ class Test : public SwModelTestBase { public: - Test() : SwModelTestBase(u"/sw/qa/extras/ooxmlexport/data/"_ustr, /*bSkipValidation*/ true) {} + Test() : SwModelTestBase(u"/sw/qa/extras/ooxmlexport/data/"_ustr) {} protected: void verifyComboBoxExport(bool aComboBoxAsDropDown); @@ -105,6 +105,10 @@ DECLARE_OOXMLEXPORT_TEST(testAutofit, "autofit.docx") CPPUNIT_TEST_FIXTURE(Test, testTrackChangesDeletedParagraphMark) { createSwDoc("testTrackChangesDeletedParagraphMark.docx"); + + //FIXME: validation error in OOXML export: Errors: 1 + skipValidation(); + save(TestFilter::DOCX); xmlDocUniquePtr pXmlDoc = parseExport(u"word/document.xml"_ustr); assertXPath(pXmlDoc, "/w:document/w:body/w:p[1]/w:pPr/w:rPr/w:del"); @@ -113,6 +117,10 @@ CPPUNIT_TEST_FIXTURE(Test, testTrackChangesDeletedParagraphMark) CPPUNIT_TEST_FIXTURE(Test, testTrackChangesInsertedParagraphMark) { createSwDoc("testTrackChangesInsertedParagraphMark.docx"); + + //FIXME: validation error in OOXML export: Errors: 1 + skipValidation(); + save(TestFilter::DOCX); xmlDocUniquePtr pXmlDoc = parseExport(u"word/document.xml"_ustr); assertXPath(pXmlDoc, "/w:document/w:body/w:p[1]/w:pPr/w:rPr/w:ins"); @@ -137,6 +145,10 @@ CPPUNIT_TEST_FIXTURE(Test, testTrackChangesInsertedTableRow) CPPUNIT_TEST_FIXTURE(Test, testTrackChangesDeletedTableCell) { createSwDoc("testTrackChangesDeletedTableCell.docx"); + + //FIXME: validation error in OOXML export: Errors: 1 + skipValidation(); + save(TestFilter::DOCX); xmlDocUniquePtr pXmlDoc = parseExport(u"word/document.xml"_ustr); assertXPath(pXmlDoc, "/w:document/w:body/w:tbl/w:tr[3]/w:tc/w:tcPr/w:cellDel"); @@ -145,6 +157,10 @@ CPPUNIT_TEST_FIXTURE(Test, testTrackChangesDeletedTableCell) CPPUNIT_TEST_FIXTURE(Test, testTrackChangesInsertedTableCell) { createSwDoc("testTrackChangesInsertedTableCell.docx"); + + //FIXME: validation error in OOXML export: Errors: 1 + skipValidation(); + save(TestFilter::DOCX); xmlDocUniquePtr pXmlDoc = parseExport(u"word/document.xml"_ustr); assertXPath(pXmlDoc, "/w:document/w:body/w:tbl/w:tr[3]/w:tc/w:tcPr/w:cellIns"); @@ -168,6 +184,10 @@ DECLARE_OOXMLEXPORT_TEST(testTextBoxPictureFill, "textbox_picturefill.docx") CPPUNIT_TEST_FIXTURE(Test, testFDO73034) { createSwDoc("FDO73034.docx"); + + //FIXME: validation error in OOXML export: Errors: 1 + skipValidation(); + save(TestFilter::DOCX); xmlDocUniquePtr pXmlDoc = parseExport(u"word/document.xml"_ustr); CPPUNIT_ASSERT(getXPath(pXmlDoc, "/w:document/w:body/w:p[1]/w:pPr/w:rPr/w:u", "val").match("single")); @@ -184,6 +204,10 @@ CPPUNIT_TEST_FIXTURE(Test, testFDO71834) CPPUNIT_TEST_FIXTURE(Test, testTrackChangesParagraphProperties) { createSwDoc("testTrackChangesParagraphProperties.docx"); + + //FIXME: validation error in OOXML export: Errors: 1 + skipValidation(); + save(TestFilter::DOCX); xmlDocUniquePtr pXmlDoc = parseExport(u"word/document.xml"_ustr); assertXPathChildren(pXmlDoc, "/w:document/w:body/w:p[1]/w:pPr/w:pPrChange", 0); @@ -270,6 +294,10 @@ CPPUNIT_TEST_FIXTURE(Test, testFdo73556) CPPUNIT_TEST_FIXTURE(Test, testSegFaultWhileSave) { createSwDoc("test_segfault_while_save.docx"); + + //FIXME: validation error in OOXML export: Errors: 171 + skipValidation(); + save(TestFilter::DOCX); // fdo#74499 xmlDocUniquePtr pXmlDoc = parseExport(u"word/document.xml"_ustr); @@ -345,6 +373,10 @@ CPPUNIT_TEST_FIXTURE(Test, testFDO74106) CPPUNIT_TEST_FIXTURE(Test, testFDO74215) { createSwDoc("FDO74215.docx"); + + //FIXME: validation error in OOXML export: Errors: 1 + skipValidation(); + save(TestFilter::DOCX); xmlDocUniquePtr pXmlDoc = parseExport(u"word/numbering.xml"_ustr); // tdf#106849 NumPicBullet xShape should not be resized. @@ -515,6 +547,10 @@ CPPUNIT_TEST_FIXTURE(Test, testEmbeddedXlsx) createSwDoc("embedded-xlsx.docx"); verify(); + + //FIXME: validation error in OOXML export: Errors: 4 + skipValidation(); + saveAndReload(TestFilter::DOCX); verify(); @@ -575,6 +611,10 @@ CPPUNIT_TEST_FIXTURE(Test, testPageBreak) CPPUNIT_TEST_FIXTURE(Test, testOleObject) { createSwDoc("test_ole_object.docx"); + + //FIXME: validation error in OOXML export: Errors: 3 + skipValidation(); + save(TestFilter::DOCX); xmlDocUniquePtr pXmlDoc = parseExport(u"word/document.xml"_ustr); @@ -650,6 +690,10 @@ CPPUNIT_TEST_FIXTURE(Test, testFdo77718) CPPUNIT_TEST_FIXTURE(Test, testTableCurruption) { createSwDoc("tableCurrupt.docx"); + + //FIXME: validation error in OOXML export: Errors: 2 + skipValidation(); + save(TestFilter::DOCX); xmlDocUniquePtr pXmlDoc = parseExport(u"word/header2.xml"_ustr); CPPUNIT_ASSERT(pXmlDoc) ; @@ -691,6 +735,10 @@ CPPUNIT_TEST_FIXTURE(Test, test_Tdf115030) CPPUNIT_TEST_FIXTURE(Test, test_OpeningBrace) { createSwDoc("2120112713_OpenBrace.docx"); + + //FIXME: validation error in OOXML export: Errors: 2 + skipValidation(); + save(TestFilter::DOCX); xmlDocUniquePtr pXmlDoc = parseExport(u"word/document.xml"_ustr); // Checking for OpeningBrace tag @@ -779,6 +827,10 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf38778) CPPUNIT_TEST_FIXTURE(Test, testFDO76312) { createSwDoc("FDO76312.docx"); + + //FIXME: validation error in OOXML export: Errors: 1 + skipValidation(); + save(TestFilter::DOCX); xmlDocUniquePtr pXmlDoc = parseExport(u"word/document.xml"_ustr); @@ -907,6 +959,10 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf104707_urlComment) CPPUNIT_TEST_FIXTURE(Test, testOLEObjectinHeader) { createSwDoc("2129393649.docx"); + + //FIXME: validation error in OOXML export: Errors: 22 + skipValidation(); + save(TestFilter::DOCX); // fdo#76015 : Document contains oleobject in header xml. // Problem was relationship entry for oleobject from header was @@ -940,6 +996,10 @@ CPPUNIT_TEST_FIXTURE(Test, testOLEObjectinHeader) CPPUNIT_TEST_FIXTURE(Test, test_ClosingBrace) { createSwDoc("2120112713.docx"); + + //FIXME: validation error in OOXML export: Errors: 1 + skipValidation(); + save(TestFilter::DOCX); xmlDocUniquePtr pXmlDoc = parseExport(u"word/document.xml"_ustr); // Checking for ClosingBrace tag @@ -1001,6 +1061,10 @@ CPPUNIT_TEST_FIXTURE(Test, testFileWithInvalidImageLink) CPPUNIT_TEST_FIXTURE(Test, testContentTypeDOCX) { createSwDoc("fdo80410.docx"); + + //FIXME: validation error in OOXML export: Errors: 2 + skipValidation(); + save(TestFilter::DOCX); xmlDocUniquePtr pXmlDoc = parseExport(u"[Content_Types].xml"_ustr); @@ -1025,6 +1089,10 @@ CPPUNIT_TEST_FIXTURE(Test, testContentTypeDOCX) CPPUNIT_TEST_FIXTURE(Test, testContentTypeXLSM) { createSwDoc("fdo76098.docx"); + + //FIXME: validation error in OOXML export: Errors: 2 + skipValidation(); + save(TestFilter::DOCX); xmlDocUniquePtr pXmlDoc = parseExport(u"[Content_Types].xml"_ustr); @@ -1068,6 +1136,10 @@ CPPUNIT_TEST_FIXTURE(Test, testTCTagMisMatch) CPPUNIT_TEST_FIXTURE(Test, testFDO78292) { createSwDoc("FDO78292.docx"); + + //FIXME: validation error in OOXML export: Errors: 9 + skipValidation(); + save(TestFilter::DOCX); //text node is a leaf node, it should not have any children xmlDocUniquePtr pXmlDoc = parseExport(u"word/document.xml"_ustr); @@ -1091,6 +1163,10 @@ CPPUNIT_TEST_FIXTURE(Test, testSimpleSdts) CPPUNIT_TEST_FIXTURE(Test, testEmbeddedExcelChart) { createSwDoc("EmbeddedExcelChart.docx"); + + //FIXME: validation error in OOXML export: Errors: 2 + skipValidation(); + save(TestFilter::DOCX); xmlDocUniquePtr pXmlDoc = parseExport(u"[Content_Types].xml"_ustr); @@ -1149,6 +1225,9 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf92521) DECLARE_OOXMLEXPORT_TEST(testTdf102466, "tdf102466.docx") { + //FIXME: validation error in OOXML export: Errors: 16 + skipValidation(); + // the problem was: file is truncated: the first page is missing. // More precisely, the table in the first page was clipped. { diff --git a/sw/qa/inc/swmodeltestbase.hxx b/sw/qa/inc/swmodeltestbase.hxx index f9bd1855dd4c..11967d327dd5 100644 --- a/sw/qa/inc/swmodeltestbase.hxx +++ b/sw/qa/inc/swmodeltestbase.hxx @@ -79,7 +79,7 @@ protected: void paste(std::u16string_view aFilename, const OUString& aInstance, css::uno::Reference<css::text::XTextRange> const& xTextRange); public: - SwModelTestBase(const OUString& pTestDocumentPath = OUString(), bool bSkipValidation = false); + SwModelTestBase(const OUString& pTestDocumentPath = OUString()); protected: /** diff --git a/sw/qa/unit/swmodeltestbase.cxx b/sw/qa/unit/swmodeltestbase.cxx index 70828d032bbb..e149687a9cf1 100644 --- a/sw/qa/unit/swmodeltestbase.cxx +++ b/sw/qa/unit/swmodeltestbase.cxx @@ -55,8 +55,8 @@ void SwModelTestBase::paste(std::u16string_view aFilename, const OUString& aInst CPPUNIT_ASSERT(xFilter->filter(aDescriptor)); } -SwModelTestBase::SwModelTestBase(const OUString& pTestDocumentPath, bool bSkipValidation) - : UnoApiXmlTest(pTestDocumentPath, bSkipValidation) +SwModelTestBase::SwModelTestBase(const OUString& pTestDocumentPath) + : UnoApiXmlTest(pTestDocumentPath) , mpXmlBuffer(nullptr) { } diff --git a/test/source/unoapi_test.cxx b/test/source/unoapi_test.cxx index 9660ea477051..e038d317a2c0 100644 --- a/test/source/unoapi_test.cxx +++ b/test/source/unoapi_test.cxx @@ -24,8 +24,8 @@ using namespace css; using namespace css::uno; -UnoApiTest::UnoApiTest(OUString path, bool bSkipValidation) - : mbSkipValidation(bSkipValidation) +UnoApiTest::UnoApiTest(OUString path) + : mbSkipValidation(false) , m_aBaseString(std::move(path)) , meImportFilterName(TestFilter::NONE) { diff --git a/test/source/unoapixml_test.cxx b/test/source/unoapixml_test.cxx index 121e57625269..d07c97351066 100644 --- a/test/source/unoapixml_test.cxx +++ b/test/source/unoapixml_test.cxx @@ -20,8 +20,8 @@ using namespace css; -UnoApiXmlTest::UnoApiXmlTest(OUString path, bool bSkipValidation) - : UnoApiTest(std::move(path), bSkipValidation) +UnoApiXmlTest::UnoApiXmlTest(OUString path) + : UnoApiTest(std::move(path)) { } commit 7c142b378f645d5ee5343d197893ca5fd6b58f9b Author: Xisco Fauli <[email protected]> AuthorDate: Fri Nov 21 15:59:44 2025 +0100 Commit: Xisco Fauli <[email protected]> CommitDate: Sat Nov 22 08:26:31 2025 +0100 sw_ooxmlexport19: do not skip DOCX export validation Change-Id: If32d36ca0feb50ef4e9d2d7f3751d401b5c03ffa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194340 Reviewed-by: Xisco Fauli <[email protected]> Tested-by: Jenkins diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport19.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport19.cxx index 0ab4df0e7762..5dd58fd57536 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport19.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport19.cxx @@ -42,7 +42,7 @@ class Test : public SwModelTestBase { public: Test() - : SwModelTestBase(u"/sw/qa/extras/ooxmlexport/data/"_ustr, /*bSkipValidation*/ true) + : SwModelTestBase(u"/sw/qa/extras/ooxmlexport/data/"_ustr) { } };
