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:
committed by
Thorsten Behrens
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,\
|
$(eval $(call gb_CppunitTest_use_libraries,sal_osl,\
|
||||||
sal \
|
sal \
|
||||||
|
utl \
|
||||||
))
|
))
|
||||||
|
|
||||||
# the test uses the library created by Module_DLL
|
# the test uses the library created by Module_DLL
|
||||||
|
@@ -32,6 +32,9 @@
|
|||||||
#include <cppunit/extensions/HelperMacros.h>
|
#include <cppunit/extensions/HelperMacros.h>
|
||||||
#include <cppunit/plugin/TestPlugIn.h>
|
#include <cppunit/plugin/TestPlugIn.h>
|
||||||
|
|
||||||
|
#include <unotools/tempfile.hxx>
|
||||||
|
|
||||||
|
|
||||||
namespace osl_test_file
|
namespace osl_test_file
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -137,8 +140,30 @@ void oldtestfile::test_file_004()
|
|||||||
#endif
|
#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
|
} // namespace osl_test_file
|
||||||
|
|
||||||
CPPUNIT_TEST_SUITE_REGISTRATION( osl_test_file::oldtestfile);
|
CPPUNIT_TEST_SUITE_REGISTRATION( osl_test_file::oldtestfile);
|
||||||
|
CPPUNIT_TEST_SUITE_REGISTRATION( osl_test_file::TempFileTest);
|
||||||
|
|
||||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||||
|
@@ -57,13 +57,18 @@ namespace utl
|
|||||||
OUString getParentName( const OUString& aFileName )
|
OUString getParentName( const OUString& aFileName )
|
||||||
{
|
{
|
||||||
sal_Int32 lastIndex = aFileName.lastIndexOf( '/' );
|
sal_Int32 lastIndex = aFileName.lastIndexOf( '/' );
|
||||||
OUString aParent = aFileName.copy( 0, lastIndex );
|
OUString aParent;
|
||||||
|
|
||||||
if( aParent.endsWith(":") && aParent.getLength() == 6 )
|
if (lastIndex > -1)
|
||||||
aParent += "/";
|
{
|
||||||
|
aParent = aFileName.copy(0, lastIndex);
|
||||||
|
|
||||||
if( aParent.equalsIgnoreAsciiCase( "file://" ) )
|
if (aParent.endsWith(":") && aParent.getLength() == 6)
|
||||||
aParent = "file:///";
|
aParent += "/";
|
||||||
|
|
||||||
|
if (aParent.equalsIgnoreAsciiCase("file://"))
|
||||||
|
aParent = "file:///";
|
||||||
|
}
|
||||||
|
|
||||||
return aParent;
|
return aParent;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user