[Libreoffice-commits] core.git: 2 commits - writerperfect/Library_wpftqahelper.mk writerperfect/qa writerperfect/source

David Tardon dtardon at redhat.com
Wed Jan 11 16:36:17 UTC 2017


 writerperfect/Library_wpftqahelper.mk                 |    1 
 writerperfect/qa/unit/WpftFilterTestBase.cxx          |   12 ++++
 writerperfect/source/calc/MSWorksCalcImportFilter.cxx |   54 +++++++++---------
 3 files changed, 40 insertions(+), 27 deletions(-)

New commits:
commit d9d14d0a4c4470de19b81d0df64e8635bb720560
Author: David Tardon <dtardon at redhat.com>
Date:   Wed Jan 11 17:27:42 2017 +0100

    astyle
    
    Change-Id: Iee24a1b7bc4ada389dfa5f0f39c9d06938ed1481

diff --git a/writerperfect/source/calc/MSWorksCalcImportFilter.cxx b/writerperfect/source/calc/MSWorksCalcImportFilter.cxx
index cff8a02..1c80fa7 100644
--- a/writerperfect/source/calc/MSWorksCalcImportFilter.cxx
+++ b/writerperfect/source/calc/MSWorksCalcImportFilter.cxx
@@ -133,39 +133,39 @@ public:
     }
     /** return a new stream for a ole zone */
     librevenge::RVNGInputStream *getSubStreamByName(const char *name) override
-{
-    if (m_nameToPathMap.find(name)== m_nameToPathMap.end() || !m_xContent.is()) return nullptr;
-
-    try
     {
-        const uno::Reference<sdbc::XResultSet> xResultSet=getResultSet(m_xContent);
-        if (xResultSet.is() && xResultSet->first())
+        if (m_nameToPathMap.find(name)== m_nameToPathMap.end() || !m_xContent.is()) return nullptr;
+
+        try
         {
-            const uno::Reference<ucb::XContentAccess> xContentAccess(xResultSet, uno::UNO_QUERY_THROW);
-            const uno::Reference<sdbc::XRow> xRow(xResultSet, uno::UNO_QUERY_THROW);
-            OUString lPath=m_nameToPathMap.find(name)->second;
-            do
+            const uno::Reference<sdbc::XResultSet> xResultSet=getResultSet(m_xContent);
+            if (xResultSet.is() && xResultSet->first())
             {
-                const rtl::OUString aTitle(xRow->getString(1));
-                if (aTitle != lPath) continue;
-
-                const uno::Reference<ucb::XContent> xSubContent(xContentAccess->queryContent());
-                ucbhelper::Content aSubContent(xSubContent, uno::Reference<ucb::XCommandEnvironment>(), comphelper::getProcessComponentContext());
-                uno::Reference<io::XInputStream> xInputStream = aSubContent.openStream();
-                if (xInputStream.is())
-                    return new writerperfect::WPXSvInputStream(xInputStream);
-                break;
+                const uno::Reference<ucb::XContentAccess> xContentAccess(xResultSet, uno::UNO_QUERY_THROW);
+                const uno::Reference<sdbc::XRow> xRow(xResultSet, uno::UNO_QUERY_THROW);
+                OUString lPath=m_nameToPathMap.find(name)->second;
+                do
+                {
+                    const rtl::OUString aTitle(xRow->getString(1));
+                    if (aTitle != lPath) continue;
+
+                    const uno::Reference<ucb::XContent> xSubContent(xContentAccess->queryContent());
+                    ucbhelper::Content aSubContent(xSubContent, uno::Reference<ucb::XCommandEnvironment>(), comphelper::getProcessComponentContext());
+                    uno::Reference<io::XInputStream> xInputStream = aSubContent.openStream();
+                    if (xInputStream.is())
+                        return new writerperfect::WPXSvInputStream(xInputStream);
+                    break;
+                }
+                while (xResultSet->next());
             }
-            while (xResultSet->next());
         }
-    }
-    catch (...)
-    {
-        SAL_WARN("writerperfect", "ignoring Exception in MSWorksCalcImportFilterInternal::FolderStream::getSubStreamByName");
-    }
+        catch (...)
+        {
+            SAL_WARN("writerperfect", "ignoring Exception in MSWorksCalcImportFilterInternal::FolderStream::getSubStreamByName");
+        }
 
-    return nullptr;
-}
+        return nullptr;
+    }
     /** return a new stream for a ole zone */
     librevenge::RVNGInputStream *getSubStreamById(unsigned id) override
     {
commit c2447d0b6aeffe0c76a549467036df573642a303
Author: David Tardon <dtardon at redhat.com>
Date:   Wed Jan 11 17:24:59 2017 +0100

    honor lib version in import tests again
    
    Change-Id: Idf99aab4bc136ac4a8a07945001e4f34a34a0e17

diff --git a/writerperfect/Library_wpftqahelper.mk b/writerperfect/Library_wpftqahelper.mk
index 86aa03a..59f4d05 100644
--- a/writerperfect/Library_wpftqahelper.mk
+++ b/writerperfect/Library_wpftqahelper.mk
@@ -28,6 +28,7 @@ $(eval $(call gb_Library_use_libraries,wpftqahelper,\
     cppu \
     sal \
     test \
+    tl \
     ucbhelper \
     unotest \
 ))
diff --git a/writerperfect/qa/unit/WpftFilterTestBase.cxx b/writerperfect/qa/unit/WpftFilterTestBase.cxx
index a024334..dbb1ba2 100644
--- a/writerperfect/qa/unit/WpftFilterTestBase.cxx
+++ b/writerperfect/qa/unit/WpftFilterTestBase.cxx
@@ -11,6 +11,8 @@
 
 #include <com/sun/star/document/XFilter.hpp>
 
+#include <tools/urlobj.hxx>
+
 #include "WpftLoader.hxx"
 
 namespace uno = com::sun::star::uno;
@@ -31,6 +33,16 @@ WpftFilterTestBase::WpftFilterTestBase(const rtl::OUString &rFactoryURL)
 bool WpftFilterTestBase::load(const OUString &, const OUString &rURL, const OUString &,
                               SfxFilterFlags, SotClipboardFormatId, unsigned int)
 {
+
+    if (m_pOptionalMap)
+    {
+        // first check if this test file is supported by the used version of the library
+        const INetURLObject aUrl(rURL);
+        const WpftOptionalMap_t::const_iterator it(m_pOptionalMap->find(aUrl.getName()));
+        if ((it != m_pOptionalMap->end()) && !it->second)
+            return true; // skip the file
+    }
+
     const WpftLoader aLoader(rURL, m_xFilter, m_aFactoryURL, m_xDesktop, m_xTypeMap, m_xContext);
     return aLoader.getDocument().is();
 }


More information about the Libreoffice-commits mailing list