diff --git a/sal/CppunitTest_sal_osl.mk b/sal/CppunitTest_sal_osl.mk index d96ab2d41483..787dbf96174f 100644 --- a/sal/CppunitTest_sal_osl.mk +++ b/sal/CppunitTest_sal_osl.mk @@ -27,6 +27,7 @@ $(eval $(call gb_CppunitTest_add_exception_objects,sal_osl,\ $(eval $(call gb_CppunitTest_use_libraries,sal_osl,\ sal \ + utl \ )) # the test uses the library created by Module_DLL diff --git a/sal/qa/osl/file/osl_old_test_file.cxx b/sal/qa/osl/file/osl_old_test_file.cxx index f093d5fe1bb8..fbbefbb03884 100644 --- a/sal/qa/osl/file/osl_old_test_file.cxx +++ b/sal/qa/osl/file/osl_old_test_file.cxx @@ -32,6 +32,9 @@ #include #include +#include + + namespace osl_test_file { @@ -137,8 +140,30 @@ void oldtestfile::test_file_004() #endif } +class TempFileTest : public CppUnit::TestFixture +{ + +public: + TempFileTest() {} + + void SetTempNameBaseDirectory() + { // only testing: of not found the directory + OUString path = utl::TempFile::SetTempNameBaseDirectory("file:///not/found/dir"); + + CPPUNIT_ASSERT_MESSAGE("SetTempNameBaseDirectory must give a empty string back", + path.isEmpty()); + } + + + CPPUNIT_TEST_SUITE(TempFileTest); + CPPUNIT_TEST(SetTempNameBaseDirectory); + CPPUNIT_TEST_SUITE_END(); +}; + + } // namespace osl_test_file CPPUNIT_TEST_SUITE_REGISTRATION( osl_test_file::oldtestfile); +CPPUNIT_TEST_SUITE_REGISTRATION( osl_test_file::TempFileTest); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/unotools/source/ucbhelper/tempfile.cxx b/unotools/source/ucbhelper/tempfile.cxx index eb099a43dca9..47afc2ed82ce 100644 --- a/unotools/source/ucbhelper/tempfile.cxx +++ b/unotools/source/ucbhelper/tempfile.cxx @@ -57,13 +57,18 @@ namespace utl OUString getParentName( const OUString& aFileName ) { sal_Int32 lastIndex = aFileName.lastIndexOf( '/' ); - OUString aParent = aFileName.copy( 0, lastIndex ); + OUString aParent; - if( aParent.endsWith(":") && aParent.getLength() == 6 ) - aParent += "/"; + if (lastIndex > -1) + { + aParent = aFileName.copy(0, lastIndex); - if( aParent.equalsIgnoreAsciiCase( "file://" ) ) - aParent = "file:///"; + if (aParent.endsWith(":") && aParent.getLength() == 6) + aParent += "/"; + + if (aParent.equalsIgnoreAsciiCase("file://")) + aParent = "file:///"; + } return aParent; }