diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2013-09-27 14:36:40 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2013-09-27 14:36:40 +0200 |
commit | a86a737a27fe38598cda05eca3f7055d671d9fa6 (patch) | |
tree | 1b0d0ff5c57a973ea521812cd104f9365feb48e8 /unotest | |
parent | 5063e39261fb9c9568b56a2a6ff8949fb8230042 (diff) |
Fix URL creation
Change-Id: Icbbe9096c60def4687b137a37bfe86c4de9b3f22
Diffstat (limited to 'unotest')
-rw-r--r-- | unotest/source/cpp/bootstrapfixturebase.cxx | 42 |
1 files changed, 23 insertions, 19 deletions
diff --git a/unotest/source/cpp/bootstrapfixturebase.cxx b/unotest/source/cpp/bootstrapfixturebase.cxx index 56d023d1bd48..74fb3ab189dc 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); } |