[Libreoffice-commits] core.git: unotest/source

Stephan Bergmann sbergman at redhat.com
Fri Sep 27 05:37:14 PDT 2013


 unotest/source/cpp/bootstrapfixturebase.cxx |   42 +++++++++++++++-------------
 1 file changed, 23 insertions(+), 19 deletions(-)

New commits:
commit a86a737a27fe38598cda05eca3f7055d671d9fa6
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Sep 27 14:36:40 2013 +0200

    Fix URL creation
    
    Change-Id: Icbbe9096c60def4687b137a37bfe86c4de9b3f22

diff --git a/unotest/source/cpp/bootstrapfixturebase.cxx b/unotest/source/cpp/bootstrapfixturebase.cxx
index 56d023d..74fb3ab 100644
--- a/unotest/source/cpp/bootstrapfixturebase.cxx
+++ b/unotest/source/cpp/bootstrapfixturebase.cxx
@@ -6,7 +6,13 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
  */
+
+#include "sal/config.h"
+
+#include <cassert>
+
 #include <unotest/bootstrapfixturebase.hxx>
+#include <osl/file.hxx>
 #include <rtl/strbuf.hxx>
 #include <rtl/bootstrap.hxx>
 #include <cppuhelper/bootstrap.hxx>
@@ -18,13 +24,25 @@
 
 using namespace ::com::sun::star;
 
+namespace {
+
+OUString getFileURLFromSystemPath(OUString const & path) {
+    OUString url;
+    osl::FileBase::RC e = osl::FileBase::getFileURLFromSystemPath(path, url);
+    assert(e == osl::FileBase::E_None);
+    if (!url.endsWith("/")) {
+        url += "/";
+    }
+    return url;
+}
+
+}
+
 // NB. this constructor is called before any tests are run, once for each
 // test function in a rather non-intuitive way. This is why all the 'real'
 // heavy lifting is deferred until setUp. setUp and tearDown are interleaved
 // between the tests as you might expect.
 test::BootstrapFixtureBase::BootstrapFixtureBase()
-    : m_aSrcRootURL("file://"), m_aSolverRootURL( m_aSrcRootURL ),
-      m_aWorkdirRootURL(m_aSrcRootURL)
 {
 #ifndef ANDROID
     const char* pSrcRoot = getenv( "SRC_ROOT" );
@@ -33,33 +51,19 @@ test::BootstrapFixtureBase::BootstrapFixtureBase()
     CPPUNIT_ASSERT_MESSAGE("$OUTDIR_FOR_BUILD env variable not set", pSolverRoot != NULL && pSolverRoot[0] != 0);
     const char* pWorkdirRoot = getenv( "WORKDIR_FOR_BUILD" );
     CPPUNIT_ASSERT_MESSAGE("$WORKDIR_FOR_BUILD env variable not set", pWorkdirRoot != NULL && pWorkdirRoot[0] != 0);
-#ifdef WNT
-    if (pSrcRoot[1] == ':')
-    {
-        m_aSrcRootURL += "/";
-    }
-    if (pSolverRoot[1] == ':')
-    {
-        m_aSolverRootURL += "/";
-    }
-    if (pWorkdirRoot[1] == ':')
-    {
-        m_aWorkdirRootURL += "/";
-    }
-#endif
 #else
     const char* pSrcRoot = "/assets";
     const char* pSolverRoot = "/assets";
     const char* pWorkdirRoot = "/assets";
 #endif
     m_aSrcRootPath = OUString::createFromAscii( pSrcRoot );
-    m_aSrcRootURL += m_aSrcRootPath;
+    m_aSrcRootURL = getFileURLFromSystemPath(m_aSrcRootPath);
 
     m_aSolverRootPath = OUString::createFromAscii( pSolverRoot );
-    m_aSolverRootURL += m_aSolverRootPath;
+    m_aSolverRootURL = getFileURLFromSystemPath(m_aSolverRootPath);
 
     m_aWorkdirRootPath = OUString::createFromAscii( pWorkdirRoot );
-    m_aWorkdirRootURL += m_aWorkdirRootPath;
+    m_aWorkdirRootURL = getFileURLFromSystemPath(m_aWorkdirRootPath);
 
 }
 


More information about the Libreoffice-commits mailing list