sw/qa/extras/odfexport/odfexport.cxx      |    5 ---
 sw/qa/extras/odfexport/odfexport2.cxx     |    6 ---
 sw/qa/extras/ooxmlexport/ooxmlexport.cxx  |   15 ---------
 sw/qa/extras/ooxmlexport/ooxmlexport2.cxx |   25 ++++------------
 sw/qa/extras/ww8export/ww8export.cxx      |   33 ---------------------
 sw/qa/inc/swmodeltestbase.hxx             |   13 --------
 sw/qa/unit/swmodeltestbase.cxx            |   46 +++---------------------------
 test/source/unoapi_test.cxx               |    7 +++-
 8 files changed, 20 insertions(+), 130 deletions(-)

New commits:
commit 58ab2f002fd27974b474151b01287dac221dc102
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Wed May 31 13:17:09 2023 +0200
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Wed May 31 18:56:31 2023 +0200

    SwModelTestBase: get rid of mustValidate
    
    and remove duplicated save method
    
    Change-Id: I9bdf0e28d59ae281fccbafd266b86cdf89c112da
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152421
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>

diff --git a/sw/qa/extras/odfexport/odfexport.cxx 
b/sw/qa/extras/odfexport/odfexport.cxx
index f8f972d20a46..4acb18d36025 100644
--- a/sw/qa/extras/odfexport/odfexport.cxx
+++ b/sw/qa/extras/odfexport/odfexport.cxx
@@ -69,11 +69,6 @@ class Test : public SwModelTestBase
 {
 public:
     Test() : SwModelTestBase("/sw/qa/extras/odfexport/data/", "writer8") {}
-
-    bool mustValidate(const char* /*filename*/) const override
-    {
-        return true;
-    }
 };
 
 CPPUNIT_TEST_FIXTURE(Test, testMathObjectFlatExport)
diff --git a/sw/qa/extras/odfexport/odfexport2.cxx 
b/sw/qa/extras/odfexport/odfexport2.cxx
index 7c3d7fb9b841..f101dbd5a19f 100644
--- a/sw/qa/extras/odfexport/odfexport2.cxx
+++ b/sw/qa/extras/odfexport/odfexport2.cxx
@@ -38,12 +38,6 @@ class Test : public SwModelTestBase
 {
 public:
     Test() : SwModelTestBase("/sw/qa/extras/odfexport/data/", "writer8") {}
-
-    bool mustValidate(const char* /*filename*/) const override
-    {
-        return true;
-    }
-
 };
 
 CPPUNIT_TEST_FIXTURE(Test, testEmbeddedFontProps)
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
index a0dd296e5e32..5207f3a8aa4d 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
@@ -37,20 +37,6 @@ class Test : public SwModelTestBase
 {
 public:
     Test() : SwModelTestBase("/sw/qa/extras/ooxmlexport/data/", "Office Open 
XML Text") {}
-
-protected:
-    /**
-     * Validation handling
-     */
-    bool mustValidate(const char* filename) const override
-    {
-        const char* aAllowlist[] = {
-            "paragraph-mark-nonempty.odt"
-        };
-        std::vector<const char*> vAllowlist(aAllowlist, aAllowlist + 
SAL_N_ELEMENTS(aAllowlist));
-
-        return std::find(vAllowlist.begin(), vAllowlist.end(), filename) != 
vAllowlist.end();
-    }
 };
 
 CPPUNIT_TEST_FIXTURE(Test, testfdo81381)
@@ -693,6 +679,7 @@ DECLARE_OOXMLEXPORT_TEST(testParagraphMark2, 
"paragraph-mark2.docx")
 CPPUNIT_TEST_FIXTURE(Test, testParagraphMarkNonempty)
 {
     loadAndSave("paragraph-mark-nonempty.odt");
+    validate(maTempFile.GetFileName(), test::OOXML);
     CPPUNIT_ASSERT_EQUAL(1, getPages());
     xmlDocUniquePtr pXmlDoc = parseExport("word/document.xml");
     // There were two <w:sz> elements, make sure the 40 one is dropped and the 
20 one is kept.
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport2.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport2.cxx
index 2335caa6f17c..607feea76ac7 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport2.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport2.cxx
@@ -38,29 +38,12 @@ class Test : public SwModelTestBase
 {
 public:
     Test() : SwModelTestBase("/sw/qa/extras/ooxmlexport/data/", "Office Open 
XML Text") {}
-
-protected:
-    /**
-     * Validation handling
-     */
-    bool mustValidate(const char* filename) const override
-    {
-        const char* aAllowlist[] = {
-            "page-graphic-background.odt",
-            "zoom.docx",
-            "empty.odt",
-            "fdo38244.docx",
-            "comments-nested.odt"
-        };
-        std::vector<const char*> vAllowlist(aAllowlist, aAllowlist + 
SAL_N_ELEMENTS(aAllowlist));
-
-        return std::find(vAllowlist.begin(), vAllowlist.end(), filename) != 
vAllowlist.end();
-    }
 };
 
 CPPUNIT_TEST_FIXTURE(Test, testPageGraphicBackground)
 {
     loadAndReload("page-graphic-background.odt");
+    validate(maTempFile.GetFileName(), test::OOXML);
     CPPUNIT_ASSERT_EQUAL(1, getPages());
     // No idea how the graphic background should be exported (seems there is no
     // way to do a non-tiling export to OOXML), but at least the background
@@ -176,6 +159,7 @@ DECLARE_OOXMLEXPORT_TEST(testZoom, "zoom.docx")
     // Validation test: order of elements were wrong.
     if (!isExported())
         return;
+    validate(maTempFile.GetFileName(), test::OOXML);
     xmlDocUniquePtr pXmlDoc = parseExport("word/styles.xml");
     // Order was: rsid, next.
     int nNext = getXPathPosition(pXmlDoc, "/w:styles/w:style[3]", "next");
@@ -191,6 +175,7 @@ DECLARE_OOXMLEXPORT_TEST(testZoom, "zoom.docx")
 CPPUNIT_TEST_FIXTURE(Test, defaultTabStopNotInStyles)
 {
     loadAndReload("empty.odt");
+    validate(maTempFile.GetFileName(), test::OOXML);
     CPPUNIT_ASSERT_EQUAL(1, getPages());
 // The default tab stop was mistakenly exported to a style.
 // xray ThisComponent.StyleFamilies(1)(0).ParaTabStop
@@ -255,11 +240,15 @@ DECLARE_OOXMLEXPORT_TEST(testFdo38244, "fdo38244.docx")
     xParaEnum = xParaEnumAccess->createEnumeration();
     xParaEnum->nextElement();
     CPPUNIT_ASSERT(!xParaEnum->hasMoreElements());
+
+    if (isExported())
+        validate(maTempFile.GetFileName(), test::OOXML);
 }
 
 CPPUNIT_TEST_FIXTURE(Test, testCommentsNested)
 {
     loadAndReload("comments-nested.odt");
+    validate(maTempFile.GetFileName(), test::OOXML);
     CPPUNIT_ASSERT_EQUAL(1, getPages());
     uno::Reference<beans::XPropertySet> xOuter = getProperty< 
uno::Reference<beans::XPropertySet> >(getRun(getParagraph(1), 2), "TextField");
     CPPUNIT_ASSERT_EQUAL(OUString("Outer"), getProperty<OUString>(xOuter, 
"Content"));
diff --git a/sw/qa/extras/ww8export/ww8export.cxx 
b/sw/qa/extras/ww8export/ww8export.cxx
index 0253778f1ec6..03b7de1a5d51 100644
--- a/sw/qa/extras/ww8export/ww8export.cxx
+++ b/sw/qa/extras/ww8export/ww8export.cxx
@@ -67,39 +67,6 @@ class Test : public SwModelTestBase
 {
 public:
     Test() : SwModelTestBase("/sw/qa/extras/ww8export/data/", "MS Word 97") {}
-
-    /**
-     * Validation handling
-     */
-    bool mustValidate(const char* filename) const override
-    {
-        const std::vector<const char*> aDenylist =
-        {
-            // the following doc exports currently don't pass binary validation
-            "tdf56321_flipImage_both.doc",
-            "cjklist30.doc",
-            "cjklist31.doc",
-            "cjklist34.doc",
-            "cjklist35.doc",
-            "fdo77454.doc",
-            "new-page-styles.doc",
-            "tdf36117_verticalAdjustment.doc",
-            "bnc636128.doc",
-            "tdf92281.doc",
-            "fdo59530.doc",
-            "fdo56513.doc",
-            "tscp.doc",
-            "zoom.doc",
-            "comments-nested.doc",
-            "commented-table.doc",
-            "zoomtype.doc",
-            "n325936.doc",
-            "first-header-footer.doc"
-        };
-
-        // Don't bother with non-.doc files; weed out denylisted .doc files
-        return (o3tl::ends_with(filename, ".doc") && 
std::find(aDenylist.begin(), aDenylist.end(), filename) == aDenylist.end());
-    }
 };
 
 DECLARE_WW8EXPORT_TEST(testN757910, "n757910.doc")
diff --git a/sw/qa/inc/swmodeltestbase.hxx b/sw/qa/inc/swmodeltestbase.hxx
index c08a9f55552c..36fd389416ae 100644
--- a/sw/qa/inc/swmodeltestbase.hxx
+++ b/sw/qa/inc/swmodeltestbase.hxx
@@ -167,14 +167,6 @@ protected:
         return true;
     }
 
-    /**
-     * Override this function if validation is wanted
-     */
-    virtual bool mustValidate(const char* /*filename*/) const
-    {
-        return false;
-    }
-
     void dumpLayout(const css::uno::Reference< css::lang::XComponent > & 
rComponent);
 
     void discardDumpedLayout();
@@ -279,11 +271,8 @@ protected:
 
     void reload(const char* pFilter, const char* pName, const char* pPassword 
= nullptr);
 
-    /// Save the loaded document to a tempfile. Can be used to check the 
resulting docx/odt directly as a ZIP file.
-    void save(const OUString& aFilterName, const char* pName = nullptr, const 
char* pPassword = nullptr);
-
     /// Combines load() and save().
-    void loadAndSave(const char* pName);
+    void loadAndSave(const char* pName, const char* pPassword = nullptr);
 
     /// Combines load() and reload().
     void loadAndReload(const char* pName);
diff --git a/sw/qa/unit/swmodeltestbase.cxx b/sw/qa/unit/swmodeltestbase.cxx
index a604c972b7ff..85b0e1ed0c59 100644
--- a/sw/qa/unit/swmodeltestbase.cxx
+++ b/sw/qa/unit/swmodeltestbase.cxx
@@ -105,8 +105,7 @@ void SwModelTestBase::executeImportExport(const char* 
filename, const char* pPas
     maTempFile.EnableKillingFile(false);
     header();
     std::unique_ptr<Resetter> const pChanges(preTest(filename));
-    load(filename, pPassword);
-    save(OUString::createFromAscii(mpFilter));
+    loadAndSave(filename, pPassword);
     maTempFile.EnableKillingFile(false);
     verify();
     finish();
@@ -478,50 +477,17 @@ void SwModelTestBase::loadURL(OUString const& rURL, const 
char* pName, const cha
 
 void SwModelTestBase::reload(const char* pFilter, const char* pName, const 
char* pPassword)
 {
-    save(OUString::createFromAscii(pFilter), pName, pPassword);
+    save(OUString::createFromAscii(pFilter), pPassword);
+    mbExported = true;
 
     loadURL(maTempFile.GetURL(), pName, pPassword);
 }
 
-void SwModelTestBase::save(const OUString& aFilterName, const char* pName, 
const char* pPassword)
-{
-    // FIXME: Merge skipValidation and mustValidate
-    skipValidation();
-
-    UnoApiXmlTest::save(aFilterName, pPassword);
-
-    // TODO: for now, validate only ODF here
-    if (mustValidate(pName) || aFilterName == "writer8"
-        || aFilterName == "OpenDocument Text Flat XML")
-    {
-        if (aFilterName == "Office Open XML Text")
-        {
-            // too many validation errors right now
-            validate(maTempFile.GetFileName(), test::OOXML);
-        }
-        else if (aFilterName == "writer8" || aFilterName == "OpenDocument Text 
Flat XML")
-        {
-            validate(maTempFile.GetFileName(), test::ODF);
-        }
-        else if (aFilterName == "MS Word 97")
-        {
-            validate(maTempFile.GetFileName(), test::MSBINARY);
-        }
-        else
-        {
-            OString aMessage
-                = OString::Concat("validation requested, but don't know how to 
validate ") + pName
-                  + " (" + OUStringToOString(aFilterName, 
RTL_TEXTENCODING_UTF8) + ")";
-            CPPUNIT_FAIL(aMessage.getStr());
-        }
-    }
-    mbExported = true;
-}
-
-void SwModelTestBase::loadAndSave(const char* pName)
+void SwModelTestBase::loadAndSave(const char* pName, const char* pPassword)
 {
-    load(pName);
+    load(pName, pPassword);
     save(OUString::createFromAscii(mpFilter));
+    mbExported = true;
 }
 
 void SwModelTestBase::loadAndReload(const char* pName)
diff --git a/test/source/unoapi_test.cxx b/test/source/unoapi_test.cxx
index e8198876537a..5c689bfe5354 100644
--- a/test/source/unoapi_test.cxx
+++ b/test/source/unoapi_test.cxx
@@ -175,10 +175,13 @@ void UnoApiTest::save(const OUString& rFilter, const 
char* pPassword)
 
     if (!mbSkipValidation)
     {
-        if (rFilter == "Office Open XML Text")
+        if (rFilter == "Calc Office Open XML")
             validate(maTempFile.GetFileName(), test::OOXML);
-        else if (rFilter == "Calc Office Open XML")
+        /*
+        // too many validation errors right now
+        else if (rFilter == "Office Open XML Text")
             validate(maTempFile.GetFileName(), test::OOXML);
+        */
         else if (rFilter == "Impress Office Open XML")
             validate(maTempFile.GetFileName(), test::OOXML);
         else if (rFilter == "writer8")

Reply via email to