unotools: don't go belly-up if temp dir is wrong or empty
When a wrong temp directory was set (e.g. wrong path in xcu ist set), you get a assert in the LO-Debug Version, this patch avoid this assertion. Change-Id: I192f682860ad9cddf907e4b239eff36b4bd6072d Reviewed-on: https://gerrit.libreoffice.org/46846 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
This commit is contained in:
parent
1b73ed91e1
commit
26be5f21ce
@ -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
|
||||
|
@ -32,6 +32,9 @@
|
||||
#include <cppunit/extensions/HelperMacros.h>
|
||||
#include <cppunit/plugin/TestPlugIn.h>
|
||||
|
||||
#include <unotools/tempfile.hxx>
|
||||
|
||||
|
||||
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: */
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user