summaryrefslogtreecommitdiff
path: root/sal/qa/osl/file/osl_File.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sal/qa/osl/file/osl_File.cxx')
-rw-r--r--sal/qa/osl/file/osl_File.cxx6343
1 files changed, 0 insertions, 6343 deletions
diff --git a/sal/qa/osl/file/osl_File.cxx b/sal/qa/osl/file/osl_File.cxx
deleted file mode 100644
index ffa19b569..000000000
--- a/sal/qa/osl/file/osl_File.cxx
+++ /dev/null
@@ -1,6343 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_sal.hxx"
-
-#ifdef IOS
-#define CPPUNIT_PLUGIN_EXPORTED_NAME cppunitTest_qa_osl_File
-#endif
-
-//------------------------------------------------------------------------
-// include files
-//------------------------------------------------------------------------
-#include <sal/types.h>
-#include <rtl/ustring.hxx>
-#include <rtl/ustrbuf.hxx>
-
-#include "osl/thread.h"
-
-#include "rtl/ustrbuf.hxx"
-#include <osl/file.hxx>
-#include <osl_File_Const.h>
-
-#include <cppunit/TestFixture.h>
-#include <cppunit/extensions/HelperMacros.h>
-#include <cppunit/plugin/TestPlugIn.h>
-
-using namespace osl;
-
-using ::rtl::OUString;
-using ::rtl::OUStringToOString;
-using ::rtl::OString;
-using ::rtl::OStringToOUString;
-
-//------------------------------------------------------------------------
-// helper functions
-//------------------------------------------------------------------------
-
-/** detailed wrong message.
-*/
-inline ::rtl::OString errorToString( const ::osl::FileBase::RC _nError )
-{
- ::rtl::OString sResult;
- switch ( _nError ) {
- case ::osl::FileBase::E_None:
- sResult = "Success";
- break;
- case ::osl::FileBase::E_PERM:
- sResult = "Operation not permitted";
- break;
- case ::osl::FileBase::E_NOENT:
- sResult = "No such file or directory";
- break;
- case ::osl::FileBase::E_EXIST:
- sResult = "Already Exist";
- break;
- case ::osl::FileBase::E_ACCES:
- sResult = "Permission denied";
- break;
- case ::osl::FileBase::E_INVAL:
- sResult = "The format of the parameters was not valid";
- break;
- case ::osl::FileBase::E_NOTDIR:
- sResult = "Not a directory";
- break;
- case ::osl::FileBase::E_ISDIR:
- sResult = "Is a directory";
- break;
- case ::osl::FileBase::E_BADF:
- sResult = "Bad file";
- break;
- case ::osl::FileBase::E_NOTEMPTY:
- sResult = "The directory is not empty";
- break;
- default:
- sResult = "Unknown Error";
- break;
- }
- return sResult;
-}
-
-rtl::OString errorToStr( ::osl::FileBase::RC const& nError)
-{
- rtl::OString suBuf;
- suBuf += "The returned error is: " ;
- suBuf += errorToString(nError);
- suBuf += "!\n";
- return suBuf;
-}
-
-/** print a file type name.
-*/
-inline void printFileType( const ::osl::FileStatus::Type nType )
-{
- printf( "#printFileType# " );
- switch ( nType ) {
- case ::osl::FileStatus::Directory:
- printf( "This file is a: Directory.\n" );
- break;
- case ::osl::FileStatus::Volume:
- printf( "This file is a: volume device.\n" );
- break;
- case ::osl::FileStatus::Regular:
- printf( "This file is a: regular file.\n" );
- break;
- case ::osl::FileStatus::Fifo:
- printf( "This file is a: fifo.\n" );
- break;
- case ::osl::FileStatus::Socket:
- printf( "This file is a: socket.\n" );
- break;
- case ::osl::FileStatus::Link:
- printf( "This file is a: link file.\n" );
- break;
- case ::osl::FileStatus::Special:
- printf( "This file is a: special.\n" );
- break;
- case ::osl::FileStatus::Unknown:
- printf( "The file type is unknown %d \n", nType );
- break;
- }
-}
-
-/** print a file attributes.
-*/
-inline void printFileAttributes( const sal_Int64 nAttributes )
-{
- printf( "#printFileAttributes# This file is a: (" );
- if ( ( nAttributes | osl_File_Attribute_ReadOnly ) == nAttributes )
- printf( " ReadOnly " );
- if ( ( nAttributes | osl_File_Attribute_Hidden ) == nAttributes )
- printf( " Hidden " );
- if ( ( nAttributes | osl_File_Attribute_Executable ) == nAttributes )
- printf( " Executable " );
- if ( ( nAttributes | osl_File_Attribute_GrpWrite ) == nAttributes )
- printf( " GrpWrite " );
- if ( ( nAttributes | osl_File_Attribute_GrpRead ) == nAttributes )
- printf( " GrpRead " );
- if ( ( nAttributes | osl_File_Attribute_GrpExe ) == nAttributes )
- printf( " GrpExe " );
- if ( ( nAttributes | osl_File_Attribute_OwnWrite ) == nAttributes )
- printf( " OwnWrite " );
- if ( ( nAttributes | osl_File_Attribute_OwnRead ) == nAttributes )
- printf( " OwnRead " );
- if ( ( nAttributes | osl_File_Attribute_OwnExe ) == nAttributes )
- printf( " OwnExe " );
- if ( ( nAttributes | osl_File_Attribute_OthWrite ) == nAttributes )
- printf( " OthWrite " );
- if ( ( nAttributes | osl_File_Attribute_OthRead ) == nAttributes )
- printf( " OthRead " );
- if ( ( nAttributes | osl_File_Attribute_OthExe ) == nAttributes )
- printf( " OthExe " );
- printf( ") file!\n" );
-}
-
-/** print an output wrong message.
-*/
-inline void printError( const ::osl::FileBase::RC nError )
-{
- printf( "#printError# " );
- printf( "%s\n", errorToStr(nError).getStr() );
-}
-
-/** print an signed Integer Number.
-*/
-inline void printInt( sal_Int64 i )
-{
- printf( "#printInt_i64# " );
- printf( "The Integer64 is %"SAL_PRIdINT64"\n", i);
-}
-
-/** print an unsigned Integer Number.
-*/
-inline void printInt( sal_uInt64 i )
-{
- printf( "#printInt_u64# " );
- printf( "The unsigned Integer64 is %"SAL_PRIuUINT64"\n", i);
-}
-
-/** print Boolean value.
-*/
-inline void printBool( sal_Bool bOk )
-{
- printf( "#printBool# " );
- ( sal_True == bOk ) ? printf( "YES!\n" ): printf( "NO!\n" );
-}
-
-/** print struct TimeValue in local time format.
-*/
-inline void printTime( TimeValue *tv )
-{
- oslDateTime *pDateTime = ( oslDateTime* )malloc( sizeof( oslDateTime ) ) ;
- CPPUNIT_ASSERT_MESSAGE( "Error in printTime() function,malloc ", pDateTime != NULL );
- TimeValue *pLocalTV = ( TimeValue* )malloc( sizeof( TimeValue ) );
- CPPUNIT_ASSERT_MESSAGE( "Error in printTime() function,malloc ", pLocalTV != NULL );
-
- CPPUNIT_ASSERT_MESSAGE( "Error in printTime() function,osl_getLocalTimeFromSystemTime ",sal_True == osl_getLocalTimeFromSystemTime( tv, pLocalTV ) );
- CPPUNIT_ASSERT_MESSAGE( "Error in printTime() function,osl_gepDateTimeFromTimeValue ",sal_True == osl_getDateTimeFromTimeValue( pLocalTV, pDateTime ) );
-
- printf( "#printTime# " );
- printf( " Time is: %d/%d/%d ", pDateTime->Month, pDateTime->Day, pDateTime->Year);
- switch ( pDateTime->DayOfWeek )
- {
- case 0: printf("Sun. "); break;
- case 1: printf("Mon. "); break;
- case 2: printf("Tue. "); break;
- case 3: printf("Thr. "); break;
- case 4: printf("Wen. "); break;
- case 5: printf("Fri. "); break;
- case 6: printf("Sat. "); break;
- }
- printf( " %d:%d:%d %d nsecs\n", pDateTime->Hours, pDateTime->Minutes, pDateTime->Seconds, (int) pDateTime->NanoSeconds);
-
- free( pDateTime );
- free( pLocalTV );
-}
-
-/** compare two TimeValue, unit is "ms", since Windows time precision is better than UNX.
-*/
-/* FIXME: the above assertion is bogus */
-
-#if ( defined UNX ) //precision of time in Windows is better than UNX
-# define delta 2000 //time precision, 2000ms
-#else
-# define delta 1800 //time precision, 1.8s
-#endif
-
-inline sal_Int64 t_abs64(sal_Int64 _nValue)
-{
- // std::abs() seems to have some ambiguity problems (so-texas)
- // return abs(_nValue);
- printf("t_abs64(%ld)\n", (long) _nValue);
- // CPPUNIT_ASSERT(_nValue < 2147483647);
-
- if (_nValue < 0)
- {
- _nValue = -_nValue;
- }
- return _nValue;
-}
-
-inline sal_Bool t_compareTime( TimeValue *m_aEndTime, TimeValue *m_aStartTime, sal_Int32 nDelta)
-{
- // sal_uInt64 uTimeValue;
- // sal_Int64 iTimeValue;
- //
- // iTimeValue = t_abs64(( tv1->Seconds - tv2->Seconds) * 1000000000 + tv1->Nanosec - tv2->Nanosec);
- // uTimeValue = ( iTimeValue / 1000000 );
-
- sal_Int32 nDeltaSeconds = m_aEndTime->Seconds - m_aStartTime->Seconds;
- sal_Int32 nDeltaNanoSec = sal_Int32(m_aEndTime->Nanosec) - sal_Int32(m_aStartTime->Nanosec);
- if (nDeltaNanoSec < 0)
- {
- nDeltaNanoSec = 1000000000 + nDeltaNanoSec;
- nDeltaSeconds--;
- }
-
- sal_Int32 nDeltaMilliSec = (nDeltaSeconds * 1000) + (nDeltaNanoSec / 1000000);
- return ( nDeltaMilliSec < nDelta );
-}
-
-/** compare two OUString file name.
-*/
-inline sal_Bool compareFileName( const ::rtl::OUString & ustr1, const ::rtl::OUString & ustr2 )
-{
- sal_Bool bOk;
-//on Windows, the seperatar is '\', so here change to '/', then compare
-#if defined (WNT )
- ::rtl::OUString ustr1new,ustr2new;
- sal_Unicode reverseSlash = (sal_Unicode)'\\';
-
- if (ustr1.lastIndexOf(reverseSlash) != -1)
- ustr1new = ustr1.replace(reverseSlash,(sal_Unicode)'/');
- else
- ustr1new = ustr1;
- if (ustr2.lastIndexOf(reverseSlash) != -1)
- ustr2new = ustr2.replace(reverseSlash,(sal_Unicode)'/');
- else
- ustr2new = ustr2;
- bOk = ustr1new.equalsIgnoreAsciiCase( ustr2new ) ;
-#else
- bOk = ustr1.equalsIgnoreAsciiCase( ustr2 );
-#endif
- return bOk;
-}
-
-/** compare a OUString and an ASCII file name.
-*/
-inline sal_Bool compareFileName( const ::rtl::OUString & ustr, const sal_Char *astr )
-{
- (void)ustr;
- ::rtl::OUString ustr1 = rtl::OUString::createFromAscii( astr );
- sal_Bool bOk = ustr1.equalsIgnoreAsciiCase( ustr1 ); // TODO: does it really compare with the same var?
-
- return bOk;
-}
-
-/** simple version to judge if a file name or directory name is a URL or a system path, just to see if it
- is start with "file:///";.
-*/
-inline sal_Bool isURL( const sal_Char *pathname )
-{
- return ( 0 == strncmp( pathname, FILE_PREFIX, sizeof( FILE_PREFIX ) - 1 ) );
-}
-
-/** simple version to judge if a file name or directory name is a URL or a system path, just to see if it
- is start with "file:///";.
-*/
-inline sal_Bool isURL( const ::rtl::OUString pathname )
-{
- return ( ( pathname.indexOf( aPreURL ) == 0 ) ? sal_True : sal_False );
-}
-
-/** concat two part to form a URL or system path, add PATH_SEPERATOR between them if necessary, add "file:///" to begining if necessary.
-*/
-inline void concatURL( ::rtl::OUString & pathname1, const ::rtl::OUString & pathname2 )
-{
- //check if pathname1 is full qualified URL;
- if ( !isURL( pathname1 ) )
- {
- ::rtl::OUString aPathName = pathname1.copy( 0 );
- ::osl::FileBase::getFileURLFromSystemPath( pathname1, aPathName ); //convert if not full qualified URL
- pathname1 = aPathName.copy( 0 );
- }
-
- sal_Int32 index = 0;
- //check if '/' is in the end of pathname1 or at the begin of pathname2;
- if ( ( ( index = pathname1.lastIndexOf( aSlashURL ) ) != ( pathname1.getLength( ) - 1 ) ) &&
- ( ( index = pathname2.indexOf( aSlashURL ) ) != 0 ) )
- pathname1 += aSlashURL;
- pathname1 += pathname2;
-}
-
-/** create a temp test file using OUString name of full qualified URL or system path.
-*/
-inline void createTestFile( const ::rtl::OUString filename )
-{
- ::rtl::OUString aPathURL = filename.copy( 0 );
- ::osl::FileBase::RC nError;
-
- if ( !isURL( filename ) )
- ::osl::FileBase::getFileURLFromSystemPath( filename, aPathURL ); //convert if not full qualified URL
-
- File aFile(aPathURL);
- nError = aFile.open( osl_File_OpenFlag_Read | osl_File_OpenFlag_Write | osl_File_OpenFlag_Create );
- //CPPUNIT_ASSERT_MESSAGE( "In createTestFile Function: creation ", ( ::osl::FileBase::E_None == nError ) || ( nError == ::osl::FileBase::E_EXIST ) );
- if ( ( ::osl::FileBase::E_None != nError ) && ( nError != ::osl::FileBase::E_EXIST ))
- {
- printf("createTestFile failed!\n");
- }
- aFile.close();
-
-}
-
-/** create a temp test file using OUString name of full qualified URL or system path in a base directory.
-*/
-inline void createTestFile( const ::rtl::OUString basename, const ::rtl::OUString filename )
-{
- ::rtl::OUString aBaseURL = basename.copy( 0 );
-
- concatURL( aBaseURL, filename );
- createTestFile( aBaseURL );
-}
-
-/** detete a temp test file using OUString name.
-*/
-inline void deleteTestFile( const ::rtl::OUString filename )
-{
- // LLA: printf("deleteTestFile\n");
- ::rtl::OUString aPathURL = filename.copy( 0 );
- ::osl::FileBase::RC nError;
-
- if ( !isURL( filename ) )
- ::osl::FileBase::getFileURLFromSystemPath( filename, aPathURL ); //convert if not full qualified URL
-
- nError = ::osl::File::setAttributes( aPathURL, osl_File_Attribute_GrpWrite| osl_File_Attribute_OwnWrite| osl_File_Attribute_OthWrite ); // if readonly, make writtenable.
- CPPUNIT_ASSERT_MESSAGE( "In deleteTestFile Function: set writtenable ", ( ::osl::FileBase::E_None == nError ) || ( ::osl::FileBase::E_NOENT == nError ) );
-
- nError = ::osl::File::remove( aPathURL );
- CPPUNIT_ASSERT_MESSAGE( "In deleteTestFile Function: remove ", ( ::osl::FileBase::E_None == nError ) || ( nError == ::osl::FileBase::E_NOENT ) );
-}
-
-/** delete a temp test file using OUString name of full qualified URL or system path in a base directory.
-*/
-inline void deleteTestFile( const ::rtl::OUString basename, const ::rtl::OUString filename )
-{
- ::rtl::OUString aBaseURL = basename.copy( 0 );
-
- concatURL( aBaseURL, filename );
- deleteTestFile( aBaseURL );
-}
-
-/** create a temp test directory using OUString name of full qualified URL or system path.
-*/
-inline void createTestDirectory( const ::rtl::OUString dirname )
-{
- ::rtl::OUString aPathURL = dirname.copy( 0 );
- ::osl::FileBase::RC nError;
-
- if ( !isURL( dirname ) )
- ::osl::FileBase::getFileURLFromSystemPath( dirname, aPathURL ); //convert if not full qualified URL
- nError = ::osl::Directory::create( aPathURL );
- //CPPUNIT_ASSERT_MESSAGE( "In createTestDirectory Function: creation: ", ( ::osl::FileBase::E_None == nError ) || ( nError == ::osl::FileBase::E_EXIST ) );
- if ( ( ::osl::FileBase::E_None != nError ) && ( nError != ::osl::FileBase::E_EXIST ))
- printf("createTestDirectory failed!\n");
-}
-
-/** create a temp test directory using OUString name of full qualified URL or system path in a base directory.
-*/
-inline void createTestDirectory( const ::rtl::OUString basename, const ::rtl::OUString dirname )
-{
- ::rtl::OUString aBaseURL = basename.copy( 0 );
- ::rtl::OString aString;
-
- concatURL( aBaseURL, dirname );
- createTestDirectory( aBaseURL );
-}
-
-/** delete a temp test directory using OUString name of full qualified URL or system path.
-*/
-inline void deleteTestDirectory( const ::rtl::OUString dirname )
-{
- ::rtl::OUString aPathURL = dirname.copy( 0 );
- ::osl::FileBase::RC nError;
- if ( !isURL( dirname ) )
- ::osl::FileBase::getFileURLFromSystemPath( dirname, aPathURL ); //convert if not full qualified URL
-
- ::osl::Directory testDir( aPathURL );
- if ( testDir.isOpen( ) == sal_True )
- testDir.close( ); //close if still open.
-
- nError = ::osl::Directory::remove( aPathURL );
-
- rtl::OString strError (RTL_CONSTASCII_STRINGPARAM("In deleteTestDirectory function: remove Directory "));
- strError += ::rtl::OUStringToOString( aPathURL, RTL_TEXTENCODING_ASCII_US );
- CPPUNIT_ASSERT_MESSAGE( strError.getStr(), ( ::osl::FileBase::E_None == nError ) || ( nError == ::osl::FileBase::E_NOENT ) );
-}
-
-/** delete a temp test directory using OUString name of full qualified URL or system path in a base directory.
-*/
-inline void deleteTestDirectory( const ::rtl::OUString basename, const ::rtl::OUString dirname )
-{
- ::rtl::OUString aBaseURL = basename.copy( 0 );
-
- concatURL( aBaseURL, dirname );
- deleteTestDirectory( aBaseURL );
-}
-
-
-/** Check for the file and directory access right.
-*/
-typedef enum {
- osl_Check_Mode_Exist,
- osl_Check_Mode_OpenAccess,
- osl_Check_Mode_ReadAccess,
- osl_Check_Mode_WriteAccess
-} oslCheckMode;
-
-// not used here
-inline sal_Bool checkFile( const ::rtl::OUString & str, oslCheckMode nCheckMode )
-{
- ::osl::FileBase::RC nError1, nError2;
- ::osl::File testFile( str );
- sal_Bool bCheckResult;
-
- bCheckResult = sal_False;
- nError1 = testFile.open ( osl_File_OpenFlag_Read );
- if ( ( ::osl::FileBase::E_NOENT != nError1 ) && ( ::osl::FileBase::E_ACCES != nError1 ) ){
-
- switch ( nCheckMode ) {
- case osl_Check_Mode_Exist:
- /// check if the file is exist.
- if ( ::osl::FileBase::E_None == nError1 )
- bCheckResult = sal_True;
- break;
- case osl_Check_Mode_OpenAccess:
- /// check if the file is openable.
- if ( ::osl::FileBase::E_None == nError1 )
- bCheckResult = sal_True;
- break;
- case osl_Check_Mode_WriteAccess:
- /// check the file name and whether it can be written.
- /// write chars into the file.
- sal_uInt64 nCount_write;
- nError2 = testFile.write( pBuffer_Char, 10, nCount_write );
- if ( ::osl::FileBase::E_None == nError2 )
- bCheckResult = sal_True;
- break;
-
- default:
- bCheckResult = sal_False;
- }/// swith
-
- nError2 = testFile.close( );
- CPPUNIT_ASSERT_MESSAGE( " in CheckFile() function, close file ", nError2 == FileBase::E_None );
-
- }
-
- return bCheckResult;
-}
-
-//check if the file exist
-inline sal_Bool ifFileExist( const ::rtl::OUString & str )
-{
- sal_Bool bCheckResult = sal_False;
-
-/*#ifdef WNT
- ::rtl::OUString aUStr = str.copy( 0 );
- if ( isURL( str ) )
- ::osl::FileBase::getSystemPathFromFileURL( str, aUStr );
-
- ::rtl::OString aString = ::rtl::OUStringToOString( aUStr, RTL_TEXTENCODING_ASCII_US );
- const char *path = aString.getStr( );
- if (( _access( path, 0 ) ) != -1 )
- bCheckResult = sal_True;
-#else*/
- ::rtl::OString aString = ::rtl::OUStringToOString( str, RTL_TEXTENCODING_ASCII_US );
- // const char *path = aString.getStr( );
- ::osl::File testFile( str );
- bCheckResult = ( osl::FileBase::E_None == testFile.open( osl_File_OpenFlag_Read ) );
- //if (bCheckResult)
- //printf("%s exist!\n", path);
- //else
- //printf("%s not exist!\n", path);
-//#endif
- return bCheckResult;
-
-}
-
-//check if the file can be writen
-inline sal_Bool ifFileCanWrite( const ::rtl::OUString & str )
-{
- sal_Bool bCheckResult = sal_False;
- //on Windows, the file has no write right, but can be written
-#ifdef WNT
- ::rtl::OUString aUStr = str.copy( 0 );
- if ( isURL( str ) )
- ::osl::FileBase::getSystemPathFromFileURL( str, aUStr );
-
- ::rtl::OString aString = ::rtl::OUStringToOString( aUStr, RTL_TEXTENCODING_ASCII_US );
- const char *path = aString.getStr( );
- if (( _access( path, 2 ) ) != -1 )
- bCheckResult = sal_True;
- //on UNX, just test if open success with osl_File_OpenFlag_Write
-#else
- ::osl::File testFile( str );
- bCheckResult = (osl::FileBase::E_None == testFile.open( osl_File_OpenFlag_Write ));
-#endif
- return bCheckResult;
-}
-
-inline sal_Bool checkDirectory( const ::rtl::OUString & str, oslCheckMode nCheckMode )
-{
- rtl::OUString aUString;
- DirectoryItem rItem;
- FileBase::RC rc;
- sal_Bool bCheckResult= sal_False;
-
- //::std::auto_ptr<Directory> pDir( new Directory( str ) );
- Directory aDir( str );
- rc = aDir.open( );
-
- if ( ( ::osl::FileBase::E_NOENT != rc ) && ( ::osl::FileBase::E_ACCES != rc ) ){
-
- switch ( nCheckMode ) {
- case osl_Check_Mode_Exist:
- if ( rc == ::osl::FileBase::E_None )
- bCheckResult = sal_True;
- break;
- case osl_Check_Mode_OpenAccess:
- if ( rc == ::osl::FileBase::E_None )
- bCheckResult = sal_True;
- break;
- case osl_Check_Mode_ReadAccess:
- //rc = pDir->getNextItem( rItem, 0 );
- rc = aDir.getNextItem( rItem, 0 );
- if ( ( rc == ::osl::FileBase::E_None ) || ( rc == ::osl::FileBase::E_NOENT ) )
- bCheckResult = sal_True;
- else
- bCheckResult = sal_False;
- break;
- case osl_Check_Mode_WriteAccess:
- ( ( aUString += str ) += aSlashURL ) += aTmpName2;
- //if ( ( rc = pDir->create( aUString ) ) == ::osl::FileBase::E_None )
- if ( ( rc = Directory::create( aUString ) ) == ::osl::FileBase::E_None )
- {
- bCheckResult = sal_True;
- //rc = pDir->remove( aUString );
- rc = Directory::remove( aUString );
- CPPUNIT_ASSERT( rc == ::osl::FileBase::E_None );
- }
- else
- bCheckResult = sal_False;
- break;
-
- default:
- bCheckResult = sal_False;
- }// switch
-
- rc = aDir.close( );
- CPPUNIT_ASSERT( rc == FileBase::E_None );
-
- }//if
-
- return bCheckResult;
-}
-
-/** construct error message
-*/
-inline ::rtl::OString outputError( const ::rtl::OString & returnVal, const ::rtl::OString & rightVal, const sal_Char * msg = "")
-{
- ::rtl::OString aString;
- if ( returnVal.equals( rightVal ) )
- return aString;
- aString += msg;
- aString += ": the returned value is '";
- aString += returnVal;
- aString += "', but the value should be '";
- aString += rightVal;
- aString += "'.";
- return aString;
-}
-
-/** Change file mode, two version in UNIX and Windows;.
-*/
-#if ( defined UNX ) //chmod() method is differ in Windows
-inline void changeFileMode( ::rtl::OUString & filepath, sal_Int32 mode )
-{
- rtl::OString aString;
- rtl::OUString aUStr = filepath.copy( 0 );
-
- if ( isURL( filepath ) )
- ::osl::FileBase::getSystemPathFromFileURL( filepath, aUStr );
- aString = ::rtl::OUStringToOString( aUStr, RTL_TEXTENCODING_ASCII_US );
- chmod( aString.getStr( ), mode );
-}
-#else //Windows version
-inline void changeFileMode( ::rtl::OUString & filepath, sal_Int32 mode )
-{
- (void)filepath;
- (void)mode;
- printf("this method is not implemented yet");
-}
-#endif
-
-inline ::rtl::OUString getCurrentPID( void );
-
-
-
-//------------------------------------------------------------------------
-// Beginning of the test cases for FileBase class
-//------------------------------------------------------------------------
-namespace osl_FileBase
-{
-
- //---------------------------------------------------------------------
- // testing the method
- // static inline RC getAbsoluteFileURL( const ::rtl::OUString& ustrBaseDirectoryURL,
- // const ::rtl::OUString& ustrRelativeFileURL,
- // ::rtl::OUString& ustrAbsoluteFileURL )
- //---------------------------------------------------------------------
-
- class getAbsoluteFileURL:public CppUnit::TestFixture
- {
- //::osl::FileBase aFileBase;
- ::rtl::OUString aResultURL1, aResultURL2, aResultURL3, aResultURL4, aResultURL5, aResultURL6;
- // ::osl::FileBase::RC nError;
- sal_Bool bOk;
-
- public:
-
- void check_getAbsoluteFileURL( rtl::OUString const& _suBaseURL, rtl::OString const& _sRelativeURL, ::osl::FileBase::RC _nAssumeError, rtl::OUString const& _suAssumeResultStr );
-
- void getAbsoluteFileURL_001_1();
- void getAbsoluteFileURL_001_2();
- void getAbsoluteFileURL_001_3();
- void getAbsoluteFileURL_001_4();
- void getAbsoluteFileURL_001_5();
- void getAbsoluteFileURL_001_6();
- void getAbsoluteFileURL_001_7();
- void getAbsoluteFileURL_001_8();
- void getAbsoluteFileURL_002();
- void getAbsoluteFileURL_003();
- void getAbsoluteFileURL_004();
-
- CPPUNIT_TEST_SUITE( getAbsoluteFileURL );
- CPPUNIT_TEST( getAbsoluteFileURL_001_1 );
- CPPUNIT_TEST( getAbsoluteFileURL_001_2 );
- CPPUNIT_TEST( getAbsoluteFileURL_001_3 );
- CPPUNIT_TEST( getAbsoluteFileURL_001_4 );
- CPPUNIT_TEST( getAbsoluteFileURL_001_5 );
- CPPUNIT_TEST( getAbsoluteFileURL_001_6 );
- CPPUNIT_TEST( getAbsoluteFileURL_001_7 );
- CPPUNIT_TEST( getAbsoluteFileURL_001_8 );
- CPPUNIT_TEST( getAbsoluteFileURL_002 );
- CPPUNIT_TEST( getAbsoluteFileURL_003 );
- CPPUNIT_TEST( getAbsoluteFileURL_004 );
- CPPUNIT_TEST_SUITE_END( );
-
- }; //class getAbsoluteFileURL
-
- void getAbsoluteFileURL::check_getAbsoluteFileURL( rtl::OUString const& _suBaseURL, rtl::OString const& _sRelativeURL, ::osl::FileBase::RC _nAssumeError, rtl::OUString const& _suAssumeResultStr )
- {
- rtl::OUString suRelativeURL = rtl::OStringToOUString(_sRelativeURL, RTL_TEXTENCODING_UTF8);
- rtl::OString sBaseURL = rtl::OUStringToOString(_suBaseURL, RTL_TEXTENCODING_UTF8);
- rtl::OUString suResultURL;
- osl::FileBase::RC nError = FileBase::getAbsoluteFileURL( _suBaseURL, suRelativeURL, suResultURL );
- rtl::OString sResultURL = rtl::OUStringToOString( suResultURL, RTL_TEXTENCODING_UTF8);
- rtl::OString sError = errorToString(nError);
- printf("getAbsoluteFileURL('%s','%s') deliver absolute URL: '%s', error '%s'\n", sBaseURL.getStr(), _sRelativeURL.getStr(),sResultURL.getStr(), sError.getStr() );
- CPPUNIT_ASSERT_MESSAGE( "Assumption is wrong: error number is wrong", nError == _nAssumeError );
- if ( nError == ::osl::FileBase::E_None )
- {
- sal_Bool bStrAreEqual = _suAssumeResultStr.equals( suResultURL );
- CPPUNIT_ASSERT_MESSAGE( "Assumption is wrong: ResultURL is not equal to expected URL ", bStrAreEqual == sal_True );
- }
- }
-
- void getAbsoluteFileURL::getAbsoluteFileURL_001_1()
- {
- rtl::OUString suAssume = aUserDirectoryURL.concat( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/relative/file1")) );
- check_getAbsoluteFileURL( aUserDirectoryURL, "relative/file1",::osl::FileBase::E_None, suAssume );
- }
- void getAbsoluteFileURL::getAbsoluteFileURL_001_2()
- {
- rtl::OUString suAssume = aUserDirectoryURL.concat( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/relative/file2")) );
- check_getAbsoluteFileURL( aUserDirectoryURL, "relative/./file2",::osl::FileBase::E_None, suAssume );
- }
- void getAbsoluteFileURL::getAbsoluteFileURL_001_3()
- {
- rtl::OUString suAssume = aUserDirectoryURL.concat( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/file3")) );
- check_getAbsoluteFileURL( aUserDirectoryURL, "relative/../file3",::osl::FileBase::E_None, suAssume );
- }
- void getAbsoluteFileURL::getAbsoluteFileURL_001_4()
- {
- rtl::OUString suAssume = aUserDirectoryURL.concat( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/file4")) );
- check_getAbsoluteFileURL( aUserDirectoryURL, "././relative/../file4",::osl::FileBase::E_None, suAssume );
- }
- void getAbsoluteFileURL::getAbsoluteFileURL_001_5()
- {
- rtl::OUString suAssume;
-#if ( defined UNX )
- suAssume = aUserDirectoryURL.concat( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/relative/")) );
-#else
- suAssume = aUserDirectoryURL.concat( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/relative")) );
-#endif
- check_getAbsoluteFileURL( aUserDirectoryURL, "././relative/.",::osl::FileBase::E_None, suAssume );
- }
- void getAbsoluteFileURL::getAbsoluteFileURL_001_6()
- {
- rtl::OUString suAssume = aUserDirectoryURL.concat( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/.relative")) );
- check_getAbsoluteFileURL( aUserDirectoryURL, "./.relative",::osl::FileBase::E_None, suAssume );
- }
- void getAbsoluteFileURL::getAbsoluteFileURL_001_7()
- {
- rtl::OUString suAssume;
-#if (defined UNX )
- suAssume = aUserDirectoryURL.concat( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/.a/")) );
-#else //windows
- suAssume = aUserDirectoryURL.concat( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/.a")) );
-#endif
- check_getAbsoluteFileURL( aUserDirectoryURL, "./.a/mydir/..",::osl::FileBase::E_None, suAssume );
- }
- void getAbsoluteFileURL::getAbsoluteFileURL_001_8()
- {
- rtl::OUString suAssume = aUserDirectoryURL.concat( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/tmp/ok")) );
-#if ( defined UNX )
- check_getAbsoluteFileURL( aUserDirectoryURL, "tmp//ok",::osl::FileBase::E_None, suAssume );
-#else
- check_getAbsoluteFileURL( aUserDirectoryURL, "tmp//ok",::osl::FileBase::E_INVAL, suAssume );
-#endif
- }
- void getAbsoluteFileURL::getAbsoluteFileURL_002()
- {
-#if ( defined UNX ) //Link is not defined in Windows
- ::rtl::OUString aUStr_AbsURL, aUStr_LnkFileSys( aTempDirectorySys ), aUStr_SrcFileSys( aTempDirectorySys );
- ( ( aUStr_LnkFileSys += aSlashURL ) += getCurrentPID( ) ) += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/link.file"));
- ( ( aUStr_SrcFileSys += aSlashURL ) += getCurrentPID( ) ) += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/canonical.name"));
-
- rtl::OString strLinkFileName, strSrcFileName;
- strLinkFileName = OUStringToOString( aUStr_LnkFileSys, RTL_TEXTENCODING_ASCII_US );
- strSrcFileName = OUStringToOString( aUStr_SrcFileSys, RTL_TEXTENCODING_ASCII_US );
-
- createTestFile( aCanURL1 );
- sal_Int32 fd = symlink( strSrcFileName.getStr(), strLinkFileName.getStr() );
- CPPUNIT_ASSERT( fd == 0 );
- rtl::OString sLnkURL = OUStringToOString( aLnkURL1, RTL_TEXTENCODING_ASCII_US );
- rtl::OUString suAssume = aUserDirectoryURL.concat( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/canonical.name")) );
- check_getAbsoluteFileURL( aUserDirectoryURL, sLnkURL, ::osl::FileBase::E_None, suAssume );
- deleteTestFile( aCanURL1 );
- fd = remove( strLinkFileName.getStr() );
- CPPUNIT_ASSERT( fd == 0 );
-#endif
- }
- //please see line# 930
- void getAbsoluteFileURL::getAbsoluteFileURL_003()
- {
- }
- void getAbsoluteFileURL::getAbsoluteFileURL_004()
- {
- //create two level directories under $Temp/PID/
- ::rtl::OUString aUStrUpBase = aUserDirectoryURL + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/test1"));
- createTestDirectory( aUStrUpBase );
- ::rtl::OUString aUStrBase = aUserDirectoryURL + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/test1/dir1"));
- createTestDirectory( aUStrBase );
-
- ::rtl::OUString suAssume = aUserDirectoryURL.concat( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/mytestfile")) );
- check_getAbsoluteFileURL( aUStrBase, "../../mytestfile" , ::osl::FileBase::E_None, suAssume );
- deleteTestDirectory( aUStrBase );
- deleteTestDirectory( aUStrUpBase );
- }
- //---------------------------------------------------------------------
- // testing two methods:
- // static inline RC getSystemPathFromFileURL( const ::rtl::OUString& ustrFileURL,
- // ::rtl::OUString& ustrSystemPath )
- // static RC getFileURLFromSystemPath( const ::rtl::OUString & ustrSystemPath,
- // ::rtl::OUString & ustrFileURL );
- //---------------------------------------------------------------------
- class SystemPath_FileURL:public CppUnit::TestFixture
- {
- //::osl::FileBase aFileBase;
- // ::rtl::OUString aUStr;
- // ::osl::FileBase::RC nError;
-
- //void check_getSystemPathFromFileURL(rtl::OString const& _sURL, ::osl::FileBase::RC _nAssumeError, rtl::OString const& _sAssumeResultStr);
- void check_SystemPath_FileURL(rtl::OString const& _sSource, ::osl::FileBase::RC _nAssumeError, rtl::OString const& _sAssumeResultStr, sal_Bool bDirection = sal_True );
- void checkWNTBehaviour_getSystemPathFromFileURL(rtl::OString const& _sURL, ::osl::FileBase::RC _nAssumeError, rtl::OString const& _sWNTAssumeResultString );
- void checkUNXBehaviour_getSystemPathFromFileURL(rtl::OString const& _sURL, ::osl::FileBase::RC _nAssumeError, rtl::OString const& _sUnixAssumeResultString );
- void checkWNTBehaviour_getFileURLFromSystemPath(rtl::OString const& _sSysPath, ::osl::FileBase::RC _nAssumeError, rtl::OString const& _sWNTAssumeResultString);
- void checkUNXBehaviour_getFileURLFromSystemPath(rtl::OString const& _sSysPath, ::osl::FileBase::RC _nAssumeError, rtl::OString const& _sUnixAssumeResultString);
-
- public:
- // test code.
- void getSystemPathFromFileURL_001_1( );
- void getSystemPathFromFileURL_001_2( );
- void getSystemPathFromFileURL_001_21( );
- void getSystemPathFromFileURL_001_22( );
- void getSystemPathFromFileURL_001_3( );
- void getSystemPathFromFileURL_001_31( );
- void getSystemPathFromFileURL_001_4( );
- void getSystemPathFromFileURL_001_41( );
- void getSystemPathFromFileURL_001_5( );
- void getSystemPathFromFileURL_001_51( );
- void getSystemPathFromFileURL_001_52( );
- void getSystemPathFromFileURL_001_53( );
- void getSystemPathFromFileURL_001_6( );
- void getSystemPathFromFileURL_001_61( );
- void getSystemPathFromFileURL_001_7( );
- void getSystemPathFromFileURL_001_71( );
- void getSystemPathFromFileURL_001_8( );
- void getSystemPathFromFileURL_001_81( );
- void getSystemPathFromFileURL_001_9( );
- void getSystemPathFromFileURL_001_91( );
- void getSystemPathFromFileURL_001_92( );
- void getSystemPathFromFileURL_004( );
- void getSystemPathFromFileURL_005( );
-
- //test case fot getFileURLFromSystemPath
- void getFileURLFromSystemPath_001( );
- void getFileURLFromSystemPath_002( );
- void getFileURLFromSystemPath_003( );
- void getFileURLFromSystemPath_004( );
- void getFileURLFromSystemPath_005( );
-
- CPPUNIT_TEST_SUITE( SystemPath_FileURL );
- CPPUNIT_TEST( getSystemPathFromFileURL_001_1 );
- CPPUNIT_TEST( getSystemPathFromFileURL_001_2 );
- CPPUNIT_TEST( getSystemPathFromFileURL_001_21 );
- CPPUNIT_TEST( getSystemPathFromFileURL_001_22 );
- CPPUNIT_TEST( getSystemPathFromFileURL_001_3 );
- CPPUNIT_TEST( getSystemPathFromFileURL_001_31 );
- CPPUNIT_TEST( getSystemPathFromFileURL_001_4 );
- CPPUNIT_TEST( getSystemPathFromFileURL_001_41 );
- CPPUNIT_TEST( getSystemPathFromFileURL_001_5 );
- CPPUNIT_TEST( getSystemPathFromFileURL_001_51 );
- CPPUNIT_TEST( getSystemPathFromFileURL_001_52 );
- CPPUNIT_TEST( getSystemPathFromFileURL_001_53 );
- CPPUNIT_TEST( getSystemPathFromFileURL_001_6 );
- CPPUNIT_TEST( getSystemPathFromFileURL_001_61 );
- CPPUNIT_TEST( getSystemPathFromFileURL_001_7 );
- CPPUNIT_TEST( getSystemPathFromFileURL_001_71 );
- CPPUNIT_TEST( getSystemPathFromFileURL_001_8 );
- CPPUNIT_TEST( getSystemPathFromFileURL_001_81 );
- CPPUNIT_TEST( getSystemPathFromFileURL_001_9 );
- CPPUNIT_TEST( getSystemPathFromFileURL_001_91 );
- CPPUNIT_TEST( getSystemPathFromFileURL_001_92 );
- CPPUNIT_TEST( getSystemPathFromFileURL_004 );
- CPPUNIT_TEST( getSystemPathFromFileURL_005 );
- CPPUNIT_TEST( getFileURLFromSystemPath_001 );
- CPPUNIT_TEST( getFileURLFromSystemPath_002 );
- CPPUNIT_TEST( getFileURLFromSystemPath_003 );
- CPPUNIT_TEST( getFileURLFromSystemPath_004 );
- CPPUNIT_TEST( getFileURLFromSystemPath_005 );
- CPPUNIT_TEST_SUITE_END( );
- };// class SystemPath_FileURL
-
-
- // if bDirection==sal_True, check getSystemPathFromFileURL
- // if bDirection==sal_False, check getFileURLFromSystemPath
- void SystemPath_FileURL::check_SystemPath_FileURL(rtl::OString const& _sSource, ::osl::FileBase::RC _nAssumeError, rtl::OString const& _sAssumeResultStr, sal_Bool bDirection)
- {
- // PRE: URL as String
- rtl::OUString suSource;
- rtl::OUString suStr;
- suSource = rtl::OStringToOUString(_sSource, RTL_TEXTENCODING_UTF8);
- ::osl::FileBase::RC nError;
- if ( bDirection == sal_True )
- nError = osl::FileBase::getSystemPathFromFileURL( suSource, suStr );
- else
- nError = osl::FileBase::getFileURLFromSystemPath( suSource, suStr );
-
- // if the given string is gt length 0,
- // we check also this string
- rtl::OString sStr = rtl::OUStringToOString(suStr, RTL_TEXTENCODING_UTF8);
- rtl::OString sError = errorToString(nError);
- if ( bDirection == sal_True )
- printf("getSystemPathFromFileURL('%s') deliver system path: '%s', error '%s'\n", _sSource.getStr(), sStr.getStr(), sError.getStr() );
- else
- printf("getFileURLFromSystemPath('%s') deliver File URL: '%s', error '%s'\n", _sSource.getStr(), sStr.getStr(), sError.getStr() );
-
- // rtl::OUString suStrEncode = rtl::Uri::encode(suStr, rtl_UriCharClassUnoParamValue, rtl_UriEncodeKeepEscapes, RTL_TEXTENCODING_UTF8);
- // sStr = rtl::OUStringToOString(suStr, RTL_TEXTENCODING_UTF8);
- // printf("UTF8: %s\n", sStr.getStr() );
-
- if (_sAssumeResultStr.getLength() > 0)
- {
- sal_Bool bStrAreEqual = _sAssumeResultStr.equals(sStr);
- CPPUNIT_ASSERT_MESSAGE( "Assumption is wrong",
- nError == _nAssumeError && bStrAreEqual == sal_True );
- }
- else
- {
- CPPUNIT_ASSERT_MESSAGE( "Assumption is wrong", nError == _nAssumeError );
- }
- }
- void SystemPath_FileURL::checkWNTBehaviour_getSystemPathFromFileURL(rtl::OString const& _sURL, ::osl::FileBase::RC _nAssumeError, rtl::OString const& _sWNTAssumeResultString)
- {
-#if ( defined WNT )
- check_SystemPath_FileURL(_sURL, _nAssumeError, _sWNTAssumeResultString);
-#else
- (void)_sURL;
- (void)_nAssumeError;
- (void)_sWNTAssumeResultString;
-#endif
- }
-
- void SystemPath_FileURL::checkUNXBehaviour_getSystemPathFromFileURL(rtl::OString const& _sURL, ::osl::FileBase::RC _nAssumeError, rtl::OString const& _sUnixAssumeResultString)
- {
-#if ( defined UNX )
- check_SystemPath_FileURL(_sURL, _nAssumeError, _sUnixAssumeResultString);
-#else
- (void)_sURL;
- (void)_nAssumeError;
- (void)_sUnixAssumeResultString;
-#endif
- }
-
- void SystemPath_FileURL::checkWNTBehaviour_getFileURLFromSystemPath(rtl::OString const& _sSysPath, ::osl::FileBase::RC _nAssumeError, rtl::OString const& _sWNTAssumeResultString)
- {
-#if ( defined WNT )
- check_SystemPath_FileURL(_sSysPath, _nAssumeError, _sWNTAssumeResultString, sal_False );
-#else
- (void)_sSysPath;
- (void)_nAssumeError;
- (void)_sWNTAssumeResultString;
-#endif
- }
-
- void SystemPath_FileURL::checkUNXBehaviour_getFileURLFromSystemPath(rtl::OString const& _sSysPath, ::osl::FileBase::RC _nAssumeError, rtl::OString const& _sUnixAssumeResultString)
- {
-#if ( defined UNX )
- check_SystemPath_FileURL(_sSysPath, _nAssumeError, _sUnixAssumeResultString, sal_False );
-#else
- (void)_sSysPath;
- (void)_nAssumeError;
- (void)_sUnixAssumeResultString;
-#endif
- }
-
- /** LLA: Test for getSystemPathFromFileURL()
- this test is splitted into 2 different OS tests,
- the first function checkUNXBehaviour... runs only on Unix based Systems,
- the second only on windows based systems
- the first parameter are a file URL where we want to get the system path of,
- the second parameter is the assumed error of the osl_getSystemPathFromFileURL() function,
- the thrid parameter is the assumed result string, the string will only test, if it's length is greater 0
- */
-
- void SystemPath_FileURL::getSystemPathFromFileURL_001_1()
- {
- rtl::OString sURL("");
- checkUNXBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_INVAL, "");
- checkWNTBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_INVAL, "");
- }
-
- void SystemPath_FileURL::getSystemPathFromFileURL_001_2()
- {
- rtl::OString sURL("/");
- checkUNXBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_INVAL, "");
- checkWNTBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_None, "\\");
- }
- void SystemPath_FileURL::getSystemPathFromFileURL_001_21()
- {
- // rtl::OString sURL("%2f");
- rtl::OString sURL("%2F");
- checkUNXBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_None, "/"); // LLA: this is may be a BUG
- checkWNTBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_INVAL, "");
- }
- void SystemPath_FileURL::getSystemPathFromFileURL_001_22()
- {
- rtl::OString sURL("file:///tmp%2Fmydir");
- checkUNXBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_INVAL, "");
- checkWNTBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_INVAL, "");
- }
- void SystemPath_FileURL::getSystemPathFromFileURL_001_3()
- {
- rtl::OString sURL("a");
- checkUNXBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_None, "a");
- checkWNTBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_None, "a");
- }
- void SystemPath_FileURL::getSystemPathFromFileURL_001_31()
- {
- rtl::OString sURL("tmpname");
- checkUNXBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_None, "tmpname");
- checkWNTBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_None, "tmpname");
- }
- void SystemPath_FileURL::getSystemPathFromFileURL_001_4()
- {
- rtl::OString sURL("file://");
- checkUNXBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_None, "");
- checkWNTBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_INVAL, "");
- }
- void SystemPath_FileURL::getSystemPathFromFileURL_001_41()
- {
- rtl::OString sURL("file://localhost/tmp");
- checkUNXBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_None, "");
- checkWNTBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_INVAL, "");
- }
- void SystemPath_FileURL::getSystemPathFromFileURL_001_5()
- {
- rtl::OString sURL("file:///tmp");
- checkUNXBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_None, "/tmp");
- checkWNTBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_INVAL, "");
- }
- void SystemPath_FileURL::getSystemPathFromFileURL_001_51()
- {
- rtl::OString sURL("file://c:/tmp");
- checkUNXBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_None, "c:/tmp"); // LLA: this is may be a BUG
- checkWNTBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_INVAL, "");
- }
- void SystemPath_FileURL::getSystemPathFromFileURL_001_52()
- {
- rtl::OString sURL("file:///c:/tmp");
- checkUNXBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_None, "/c:/tmp");
- checkWNTBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_None, "c:\\tmp");
- }
- void SystemPath_FileURL::getSystemPathFromFileURL_001_53()
- {
-// LLA: is this a legal file path?
- rtl::OString sURL("file:///c|/tmp");
- checkUNXBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_None, "/c|/tmp");
- checkWNTBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_None, "c:\\tmp");
- }
- void SystemPath_FileURL::getSystemPathFromFileURL_001_6()
- {
- rtl::OString sURL("file:///tmp/first");
- checkUNXBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_None, "/tmp/first");
- checkWNTBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_INVAL, "");
- }
- void SystemPath_FileURL::getSystemPathFromFileURL_001_61()
- {
- rtl::OString sURL("file:///c:/tmp/first");
- checkUNXBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_None, "/c:/tmp/first");
- checkWNTBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_None, "c:\\tmp\\first");
- }
- void SystemPath_FileURL::getSystemPathFromFileURL_001_7()
- {
- rtl::OString sURL("file:///tmp/../second");
- checkUNXBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_None, "/tmp/../second"); // LLA: may be a BUG
- checkWNTBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_INVAL, "");
- }
- void SystemPath_FileURL::getSystemPathFromFileURL_001_71()
- {
- rtl::OString sURL("file:///c:/tmp/../second");
- checkUNXBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_None, "/c:/tmp/../second");
- checkWNTBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_None, "c:\\tmp\\..\\second");
- }
- void SystemPath_FileURL::getSystemPathFromFileURL_001_8()
- {
- rtl::OString sURL("../tmp");
- checkUNXBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_None, "../tmp");
- checkWNTBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_None, "..\\tmp");
- }
- void SystemPath_FileURL::getSystemPathFromFileURL_001_81()
- {
- rtl::OString sURL("file://~/tmp");
- char* home_path;
- home_path = getenv("HOME");
- rtl::OString expResult(home_path);
- expResult += "/tmp";
- checkUNXBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_None, expResult );
- // checkWNTBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_None, "\\tmp");
- }
- void SystemPath_FileURL::getSystemPathFromFileURL_001_9()
- {
- rtl::OString sURL("file:///tmp/first%20second");
- checkUNXBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_None, "/tmp/first second");
- checkWNTBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_INVAL, "");
- }
- void SystemPath_FileURL::getSystemPathFromFileURL_001_91()
- {
- rtl::OString sURL("file:///c:/tmp/first%20second");
- checkUNXBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_None, "/c:/tmp/first second");
- checkWNTBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_None, "c:\\tmp\\first second");
- }
-
- void SystemPath_FileURL::getSystemPathFromFileURL_001_92()
- {
- rtl::OString sURL("ca@#;+.,$///78no%01ni..name");
- checkUNXBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_None, "");
- checkWNTBehaviour_getSystemPathFromFileURL(sURL, osl::FileBase::E_INVAL, "");
- }
-
- //normal legal case
- void SystemPath_FileURL::getSystemPathFromFileURL_004( )
- {
- ::rtl::OUString aUStr;
- ::rtl::OUString aUNormalURL( aTmpName6 );
- ::rtl::OUString aUResultURL ( aSysPath4 );
- ::osl::FileBase::RC nError = osl::FileBase::getSystemPathFromFileURL( aUNormalURL, aUStr );
-
- sal_Bool bOk = compareFileName( aUStr, aUResultURL );
-
- ::rtl::OString sError("test for getSystemPathFromFileURL(' ");
- sError += ::rtl::OUStringToOString( aUNormalURL, RTL_TEXTENCODING_ASCII_US );
- sError += " ') function:use an absolute file URL, ";
- sError += outputError(::rtl::OUStringToOString( aUStr, RTL_TEXTENCODING_ASCII_US ),
- ::rtl::OUStringToOString( aUResultURL, RTL_TEXTENCODING_ASCII_US ));
-
- CPPUNIT_ASSERT_MESSAGE(sError.getStr(), ( osl::FileBase::E_None == nError ) && ( sal_True == bOk ) );
-
- }
-
- //CJK charactors case
- void SystemPath_FileURL::getSystemPathFromFileURL_005( )
- {
- ::rtl::OUString aUStr;
- createTestDirectory( aTmpName10 );
- ::rtl::OUString aUNormalURL( aTmpName10 );
- ::rtl::OUString aUResultURL ( aSysPath5 );
-
- ::osl::FileBase::RC nError = osl::FileBase::getSystemPathFromFileURL( aUNormalURL, aUStr );
-
- sal_Bool bOk = compareFileName( aUStr, aUResultURL );
-
- ::rtl::OString sError("test for getSystemPathFromFileURL(' ");
- sError += ::rtl::OUStringToOString( aUNormalURL, RTL_TEXTENCODING_ASCII_US );
- sError += " ') function:use a CJK coded absolute URL, ";
- sError += outputError(::rtl::OUStringToOString( aUStr, RTL_TEXTENCODING_ASCII_US ),
- ::rtl::OUStringToOString( aUResultURL, RTL_TEXTENCODING_ASCII_US ));
- deleteTestDirectory( aTmpName10 );
-
- CPPUNIT_ASSERT_MESSAGE( sError.getStr(), ( osl::FileBase::E_None == nError ) && ( sal_True == bOk ) );
- }
-
- void SystemPath_FileURL::getFileURLFromSystemPath_001()
- {
- rtl::OString sSysPath("~/tmp");
- char* home_path;
- home_path = getenv("HOME");
- rtl::OString expResult(home_path);
- expResult = "file://"+ expResult + "/tmp";
- checkUNXBehaviour_getFileURLFromSystemPath(sSysPath, osl::FileBase::E_None, expResult );
- checkWNTBehaviour_getFileURLFromSystemPath(sSysPath, osl::FileBase::E_None, "~/tmp");
- }
- void SystemPath_FileURL::getFileURLFromSystemPath_002()
- {
- rtl::OString sSysPath("c:/tmp");
- checkUNXBehaviour_getFileURLFromSystemPath(sSysPath, osl::FileBase::E_None, "c:/tmp");
- checkWNTBehaviour_getFileURLFromSystemPath(sSysPath, osl::FileBase::E_None, "file:///c:/tmp");
- }
- void SystemPath_FileURL::getFileURLFromSystemPath_003()
- {
- rtl::OString sSysPath("file:///temp");
- checkUNXBehaviour_getFileURLFromSystemPath(sSysPath, osl::FileBase::E_INVAL, "");
- checkWNTBehaviour_getFileURLFromSystemPath(sSysPath, osl::FileBase::E_INVAL, "");
- }
- void SystemPath_FileURL::getFileURLFromSystemPath_004()
- {
- rtl::OString sSysPath("//tmp//first start");
- checkUNXBehaviour_getFileURLFromSystemPath(sSysPath, osl::FileBase::E_None, "file:///tmp/first%20start");
- checkWNTBehaviour_getFileURLFromSystemPath(sSysPath, osl::FileBase::E_INVAL, "");
- }
- void SystemPath_FileURL::getFileURLFromSystemPath_005()
- {
- rtl::OString sSysPath("");
- checkUNXBehaviour_getFileURLFromSystemPath(sSysPath, osl::FileBase::E_INVAL, "");
- checkWNTBehaviour_getFileURLFromSystemPath(sSysPath, osl::FileBase::E_INVAL, "");
- }
- // start with "~user", not impletment
- // void SystemPath_FileURL::getFileURLFromSystemPath_006()
-
-
-
-
- //---------------------------------------------------------------------
- // testing the method
- // static inline RC searchFileURL( const ::rtl::OUString& ustrFileName,
- // const ::rtl::OUString& ustrSearchPath,
- // ::rtl::OUString& ustrFileURL )
- //---------------------------------------------------------------------
- class searchFileURL:public CppUnit::TestFixture
- {
- //::osl::FileBase aFileBase;
- ::rtl::OUString aUStr;
- ::osl::FileBase::RC nError1, nError2, nError3,nError4;
-
- public:
-
- // test code.
- void searchFileURL_001( )
- {
- /* search file is passed by system filename */
- nError1 = ::osl::FileBase::searchFileURL( aTmpName1, aUserDirectorySys, aUStr );
- /* search file is passed by full qualified file URL */
- nError2 = ::osl::FileBase::searchFileURL( aCanURL1, aUserDirectorySys, aUStr );
- /* search file is passed by relative file path */
- nError3 = ::osl::FileBase::searchFileURL( aRelURL4, aUserDirectorySys, aUStr );
-
- CPPUNIT_ASSERT_MESSAGE( "test for searchFileURL function: system filename/URL filename/relative path, system directory, searched files that is not exist, but it reply invalid error, did not pass in (W32) ",
- ( osl::FileBase::E_NOENT == nError1 ) &&
- ( osl::FileBase::E_NOENT == nError2 ) &&
- ( osl::FileBase::E_NOENT == nError3 ));
- }
-
- void searchFileURL_002( )
- {
- /* search file is passed by system filename */
- nError1 = ::osl::FileBase::searchFileURL( aTempDirectorySys, aRootSys, aUStr );
- sal_Bool bOk1 = compareFileName( aUStr, aTempDirectoryURL );
- /* search file is passed by full qualified file URL */
- nError2 = ::osl::FileBase::searchFileURL( aTempDirectoryURL, aRootSys, aUStr );
- sal_Bool bOk2 = compareFileName( aUStr, aTempDirectoryURL );
- /* search file is passed by relative file path */
- nError3 = ::osl::FileBase::searchFileURL( aRelURL5, aRootSys, aUStr );
- sal_Bool bOk3 = compareFileName( aUStr, aTempDirectoryURL );
- /* search file is passed by an exist file */
- createTestFile( aCanURL1 );
- nError4 = ::osl::FileBase::searchFileURL( aCanURL4, aUserDirectorySys, aUStr );
- sal_Bool bOk4 = compareFileName( aUStr, aCanURL1 );
- deleteTestFile( aCanURL1 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for searchFileURL function: system filename/URL filename/relative path, system directory, searched file already exist.",
- ( osl::FileBase::E_None == nError1 ) &&
- ( osl::FileBase::E_None == nError2 ) &&
- ( osl::FileBase::E_None == nError3 ) &&
- ( osl::FileBase::E_None == nError4 ) &&
- ( sal_True == bOk1 ) &&
- ( sal_True == bOk2 ) &&
- ( sal_True == bOk3 ) &&
- ( sal_True == bOk4 ) );
- }
-
-
- void searchFileURL_003( )
- {
- OSLTEST_DECLARE( SystemPathList, TEST_PLATFORM_ROOT":"TEST_PLATFORM_ROOT TEST_PLATFORM_TEMP":"TEST_PLATFORM_ROOT"system/path" );
- nError1 = ::osl::FileBase::searchFileURL( aUserDirectoryURL, aSystemPathList, aUStr );
- sal_Bool bOk = compareFileName( aUStr, aUserDirectoryURL );
- CPPUNIT_ASSERT_MESSAGE( "test for searchFileURL function: search directory is a list of system paths",
- ( osl::FileBase::E_None == nError1 ) &&
- ( sal_True == bOk ) );
- }
-
- void searchFileURL_004( )
- {
- OSLTEST_DECLARE( SystemPathList, TEST_PLATFORM_ROOT PATH_LIST_DELIMITER TEST_PLATFORM_ROOT TEST_PLATFORM_TEMP PATH_LIST_DELIMITER TEST_PLATFORM_ROOT "system/path/../name" );
- nError1 = ::osl::FileBase::searchFileURL( aUserDirectoryURL, aSystemPathList, aUStr );
- sal_Bool bOk = compareFileName( aUStr, aUserDirectoryURL );
- CPPUNIT_ASSERT_MESSAGE( "test for searchFileURL function: search directory is a list of system paths",
- ( osl::FileBase::E_None == nError1 ) &&
- ( sal_True == bOk ) );
- }
-
- void searchFileURL_005( )
- {
- nError1 = ::osl::FileBase::searchFileURL( aUserDirectoryURL, aNullURL, aUStr );
- sal_Bool bOk = compareFileName( aUStr, aUserDirectoryURL );
- CPPUNIT_ASSERT_MESSAGE( "test for searchFileURL function: search directory is NULL",
- ( osl::FileBase::E_None == nError1 ) &&
- ( sal_True == bOk ) );
- }
-
- CPPUNIT_TEST_SUITE( searchFileURL );
- CPPUNIT_TEST( searchFileURL_001 );
- CPPUNIT_TEST( searchFileURL_002 );
- CPPUNIT_TEST( searchFileURL_003 );
- CPPUNIT_TEST( searchFileURL_004 );
- CPPUNIT_TEST( searchFileURL_005 );
- CPPUNIT_TEST_SUITE_END( );
- };// class searchFileURL
-
-
- //---------------------------------------------------------------------
- // testing the method
- // static inline RC getTempDirURL( ::rtl::OUString& ustrTempDirURL )
- //---------------------------------------------------------------------
- class getTempDirURL:public CppUnit::TestFixture
- {
- //::osl::FileBase aFileBase;
- ::rtl::OUString aUStr;
- ::osl::FileBase::RC nError;
-
- public:
- // initialization
- void setUp( )
- {
- nError = FileBase::getTempDirURL( aUStr );
- }
-
- void tearDown( )
- {
- }
-
- // test code.
- void getTempDirURL_001( )
- {
-
- CPPUNIT_ASSERT_MESSAGE( "test for getTempDirURL function: excution",
- ( osl::FileBase::E_None == nError ) );
- }
-
- void getTempDirURL_002( )
- {
- CPPUNIT_ASSERT_MESSAGE( "test for getTempDirURL function: test for open and write access rights",
- checkDirectory( aUStr, osl_Check_Mode_OpenAccess ) &&
- checkDirectory( aUStr, osl_Check_Mode_ReadAccess ) &&
- checkDirectory( aUStr,osl_Check_Mode_WriteAccess ) );
- }
-
- CPPUNIT_TEST_SUITE( getTempDirURL );
- CPPUNIT_TEST( getTempDirURL_001 );
- CPPUNIT_TEST( getTempDirURL_002 );
- CPPUNIT_TEST_SUITE_END( );
- };// class getTempDirURL
-
-
- //---------------------------------------------------------------------
- // testing the method
- // static inline RC createTempFile( ::rtl::OUString* pustrDirectoryURL,
- // oslFileHandle* pHandle,
- // ::rtl::OUString* pustrTempFileURL)
- //---------------------------------------------------------------------
- class createTempFile:public CppUnit::TestFixture
- {
- //::osl::FileBase aFileBase;
- ::osl::FileBase::RC nError1, nError2;
- sal_Bool bOK;
-
- oslFileHandle *pHandle;
- ::rtl::OUString *pUStr_DirURL;
- ::rtl::OUString *pUStr_FileURL;
-
- public:
-
- // initialization
- void setUp( )
- {
- pHandle = new oslFileHandle();
- pUStr_DirURL = new ::rtl::OUString( aUserDirectoryURL );
- pUStr_FileURL = new ::rtl::OUString();
- //*pUStr_DirURL = aUserDirectoryURL; /// create temp file in /tmp/PID or c:\temp\PID.*/
- }
-
- void tearDown( )
- {
- delete pUStr_DirURL;
- delete pUStr_FileURL;
- delete pHandle;
- }
-
- // test code.
- void createTempFile_001( )
- {
- nError1 = FileBase::createTempFile( pUStr_DirURL, pHandle, pUStr_FileURL );
- ::osl::File testFile( *pUStr_FileURL );
- nError2 = testFile.open( osl_File_OpenFlag_Create );
- if ( osl::FileBase::E_EXIST == nError2 ) {
- osl_closeFile( *pHandle );
- deleteTestFile( *pUStr_FileURL );
- }
-
- CPPUNIT_ASSERT_MESSAGE( "test for createTempFile function: create temp file and test the existence",
- ( osl::FileBase::E_None == nError1 ) && ( pHandle != NULL ) && ( osl::FileBase::E_EXIST== nError2 ) );
- }
-
- void createTempFile_002( )
- {
- bOK = sal_False;
- nError1 = FileBase::createTempFile( pUStr_DirURL, pHandle, pUStr_FileURL );
- ::osl::File testFile( *pUStr_FileURL );
- nError2 = testFile.open( osl_File_OpenFlag_Create );
-
- CPPUNIT_ASSERT_MESSAGE( "createTempFile function: create a temp file, but it does not exist",
- ( osl::FileBase::E_None == nError1 ) && ( pHandle != NULL ) &&
- ( osl::FileBase::E_EXIST == nError2 ) );
-
- //check file if have the write permission
- if ( osl::FileBase::E_EXIST == nError2 ) {
- bOK = ifFileCanWrite( *pUStr_FileURL );
- osl_closeFile( *pHandle );
- deleteTestFile( *pUStr_FileURL );
- }
-
- CPPUNIT_ASSERT_MESSAGE( "test for open and write access rights, in (W32), it did not have write access right, but it should be writtenable.",
- ( sal_True == bOK ) );
- }
-
- void createTempFile_003( )
- {
- nError1 = FileBase::createTempFile( pUStr_DirURL, pHandle, 0 );
- //the temp file will be removed when return from createTempFile
- bOK = ( pHandle != NULL && pHandle != 0);
- if ( sal_True == bOK )
- osl_closeFile( *pHandle );
-
- CPPUNIT_ASSERT_MESSAGE( "test for createTempFile function: set pUStrFileURL to 0 to let it remove the file after call.",
- ( ::osl::FileBase::E_None == nError1 ) &&( sal_True == bOK ) );
- }
- void createTempFile_004( )
- {
- nError1 = FileBase::createTempFile( pUStr_DirURL, 0, pUStr_FileURL );
- bOK = ( pUStr_FileURL != 0);
- ::osl::File testFile( *pUStr_FileURL );
- nError2 = testFile.open( osl_File_OpenFlag_Create );
- deleteTestFile( *pUStr_FileURL );
- CPPUNIT_ASSERT_MESSAGE( "createTempFile function: create a temp file, but it does not exist",
- ( osl::FileBase::E_None == nError1 ) && ( osl::FileBase::E_EXIST == nError2 ) &&( sal_True == bOK ) );
-
- }
-
- CPPUNIT_TEST_SUITE( createTempFile );
- CPPUNIT_TEST( createTempFile_001 );
- CPPUNIT_TEST( createTempFile_002 );
- CPPUNIT_TEST( createTempFile_003 );
- CPPUNIT_TEST( createTempFile_004 );
- CPPUNIT_TEST_SUITE_END( );
- };// class createTempFile
-
- // -----------------------------------------------------------------------------
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_FileBase::getAbsoluteFileURL, "osl_FileBase" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_FileBase::SystemPath_FileURL, "osl_FileBase" );
- // CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_FileBase::getFileURLFromSystemPath, "osl_FileBase" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_FileBase::searchFileURL, "osl_FileBase" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_FileBase::getTempDirURL, "osl_FileBase" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_FileBase::createTempFile, "osl_FileBase" );
-}// namespace osl_FileBase
-
-
-//------------------------------------------------------------------------
-// Beginning of the test cases for VolumeInfo class
-//------------------------------------------------------------------------
-namespace osl_VolumeInfo
-{
-
- //---------------------------------------------------------------------
- // testing the method
- // VolumeInfo( sal_uInt32 nMask ): _nMask( nMask )
- //---------------------------------------------------------------------
- class ctors : public CppUnit::TestFixture
- {
- ::rtl::OUString aUStr;
- ::osl::FileBase::RC nError1, nError2;
-
- ::osl::VolumeDevice aVolumeDevice1;
-
- public:
- // initialization
- void setUp( )
- {
- }
-
- void tearDown( )
- {
- }
-
- // test code.
- void ctors_001( )
- {
- ::osl::VolumeInfo aVolumeInfo( 0 );
- nError1 = ::osl::Directory::getVolumeInfo( aRootURL, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- sal_uInt64 uiTotalSpace = aVolumeInfo.getTotalSpace( );
- sal_uInt32 uiMaxPathLength = aVolumeInfo.getMaxPathLength( );
- aUStr = aVolumeInfo.getFileSystemName( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for ctors function: mask is empty",
- ( 0 == uiTotalSpace ) &&
- ( 0 == uiMaxPathLength ) &&
- sal_True == compareFileName( aUStr, aNullURL ) );
- }
-
-#if ( defined UNX )
- void ctors_002( )
- {
- ::osl::VolumeInfo aVolumeInfo( osl_VolumeInfo_Mask_TotalSpace |
- osl_VolumeInfo_Mask_UsedSpace |
- osl_VolumeInfo_Mask_FileSystemName );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL4, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- //CPPUNIT_ASSERT( aVolumeInfo.isValid( mask ) );
- sal_uInt64 uiTotalSpace = aVolumeInfo.getTotalSpace( );
- sal_uInt64 uiUsedSpace = aVolumeInfo.getUsedSpace( );
- aUStr = aVolumeInfo.getFileSystemName( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for ctors function: mask is specified as certain valid fields, and get the masked fields",
- ( 0 != uiTotalSpace ) &&
- ( 0 != uiUsedSpace ) &&
- sal_True == compareFileName( aUStr, "nfs" ) );
- }
-#else /// Windows version,here we can not determine whichvolume in Windows is serve as an nfs volume.
- void ctors_002( )
- {
- CPPUNIT_ASSERT_MESSAGE( "test for ctors function: mask is specified as certain valid fields, and get the masked fields( Windows version )",
- 1 == 1 );
- }
-#endif
-
- void ctors_003( )
- {
-
- sal_Int32 mask1 = osl_VolumeInfo_Mask_FreeSpace;
- ::osl::VolumeInfo aVolumeInfo1( mask1 );
- nError1 = ::osl::Directory::getVolumeInfo( aRootURL, aVolumeInfo1 );
- CPPUNIT_ASSERT( sal_True == aVolumeInfo1.isValid( mask1 ) );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
-
- sal_uInt64 uiTotalSpace1 = aVolumeInfo1.getTotalSpace( );
- aUStr = aVolumeInfo1.getFileSystemName( );
-
- sal_Int32 mask2 = osl_VolumeInfo_Mask_TotalSpace;
- ::osl::VolumeInfo aVolumeInfo2( mask2 );
- nError2 = ::osl::Directory::getVolumeInfo( aRootURL, aVolumeInfo2 );
- CPPUNIT_ASSERT( sal_True == aVolumeInfo2.isValid( mask2 ) );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError2 );
-
- sal_uInt64 uiTotalSpace2 = aVolumeInfo2.getTotalSpace( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for ctors function: mask is specified as certain valid fields, but get unmasked fields, use mask to FreeSpace, but I can get TotalSpace, did not pass in (UNX)(W32)",
- ( 0 == uiTotalSpace1 ) && ( 0 != uiTotalSpace2 ) &&
- sal_True == compareFileName( aUStr, aNullURL ) );
- }
-
- CPPUNIT_TEST_SUITE( ctors );
- CPPUNIT_TEST( ctors_001 );
- CPPUNIT_TEST( ctors_002 );
- CPPUNIT_TEST( ctors_003 );
- CPPUNIT_TEST_SUITE_END( );
- };// class ctors
-
-
- //---------------------------------------------------------------------
- // testing the method
- // inline sal_Bool isValid( sal_uInt32 nMask ) const
- //---------------------------------------------------------------------
- class isValid : public CppUnit::TestFixture
- {
- ::osl::VolumeDevice aVolumeDevice;
- ::rtl::OUString aUStr;
- ::osl::FileBase::RC nError1, nError2;
-
- public:
- // initialization
- void setUp( )
- {
- }
-
- void tearDown( )
- {
-
- }
-
- // test code.
- void isValid_001( )
- {
- sal_Int32 mask = 0;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL4, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for isValid function: no fields specified.",
- sal_True == aVolumeInfo.isValid( mask ) );
- }
-
-#if ( defined UNX )
- void isValid_002( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_Attributes | osl_VolumeInfo_Mask_TotalSpace | osl_VolumeInfo_Mask_UsedSpace |
- osl_VolumeInfo_Mask_FreeSpace | osl_VolumeInfo_Mask_MaxNameLength |
- osl_VolumeInfo_Mask_MaxPathLength | osl_VolumeInfo_Mask_FileSystemName;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL4, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for isValid function: all valid fields specified for a nfs volume.",
- sal_True == aVolumeInfo.isValid( mask ) );
- }
-#else /// Windows version,here we can not determine whichvolume in Windows is serve as an nfs volume.
- void isValid_002( )
- {
- CPPUNIT_ASSERT_MESSAGE( "test for isValid function: all valid fields specified for a nfs volume.( Windows version )",
- 1 == 1 );
- }
-#endif
-
- void isValid_003( )
- {
- ::osl::VolumeDevice aVolumeDevice1;
- sal_Int32 mask = osl_VolumeInfo_Mask_Attributes;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL1, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- sal_Bool bOk1 = aVolumeInfo.isValid( mask );
-
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL2, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- sal_Bool bOk2 = aVolumeInfo.isValid( mask );
-
- CPPUNIT_ASSERT_MESSAGE( "test for isValid function: osl_VolumeInfo_Mask_Attributes, it should be valid for some volume such as /, floppy, cdrom, etc. but it did not pass",
- ( sal_True == bOk1 ) && ( sal_True == bOk2 ) );
- }
-
- CPPUNIT_TEST_SUITE( isValid );
- CPPUNIT_TEST( isValid_001 );
- CPPUNIT_TEST( isValid_002 );
- CPPUNIT_TEST( isValid_003 );
- CPPUNIT_TEST_SUITE_END( );
- };// class isValid
-
- //---------------------------------------------------------------------
- // testing the method
- // inline sal_Bool getRemoteFlag() const
- //---------------------------------------------------------------------
- class getRemoteFlag : public CppUnit::TestFixture
- {
- ::osl::VolumeDevice aVolumeDevice;
- ::rtl::OUString aUStr;
- ::osl::FileBase::RC nError1, nError2;
-
- public:
- // test code.
- void getRemoteFlag_001( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_Attributes;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL1, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- sal_Bool bOk = aVolumeInfo.getRemoteFlag( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getRemoteFlag function: get a volume device which is not remote.",
- ( sal_False == bOk ) );
- }
-
- #if ( defined UNX ) //remote Volume is different in Solaris and Windows
- void getRemoteFlag_002( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_Attributes;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL4, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- sal_Bool bOk = aVolumeInfo.getRemoteFlag( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getRemoteFlag function: get a volume device which is remote( Solaris version ).",
- ( sal_True == bOk ) );
- }
-#else //Windows version
- void getRemoteFlag_002( )
- {
- CPPUNIT_ASSERT_MESSAGE( "test for getRemoteFlag function: get a volume device which is remote( Windows version )",
- 1 == 1 );
- }
-#endif
-
- CPPUNIT_TEST_SUITE( getRemoteFlag );
- CPPUNIT_TEST( getRemoteFlag_001 );
- CPPUNIT_TEST( getRemoteFlag_002 );
- CPPUNIT_TEST_SUITE_END( );
- };// class getRemoteFlag
-
- //---------------------------------------------------------------------
- // testing the method
- // inline sal_Bool getRemoveableFlag() const
- //---------------------------------------------------------------------
- class getRemoveableFlag : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1, nError2;
-
- public:
- // test code.
- void getRemoveableFlag_001( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_Attributes;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL1, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- sal_Bool bOk = aVolumeInfo.getRemoveableFlag( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getRemoveableFlag function: get a volume device which is not removable.",
- sal_False == bOk );
- }
-
- void getRemoveableFlag_002( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_Attributes;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL2, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- sal_Bool bOk = aVolumeInfo.getRemoveableFlag( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getRemoveableFlag function: get a volume device which is removable, not sure, here we use floppy disk, but it did not pass.",
- sal_True == bOk );
- }
- CPPUNIT_TEST_SUITE( getRemoveableFlag );
- CPPUNIT_TEST( getRemoveableFlag_001 );
- CPPUNIT_TEST( getRemoveableFlag_002 );
- CPPUNIT_TEST_SUITE_END( );
- };// class getRemoveableFlag
-
-
- //---------------------------------------------------------------------
- // testing the method
- // inline sal_Bool getCompactDiscFlag() const
- //---------------------------------------------------------------------
- class getCompactDiscFlag : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1;
-
- public:
- // test code.
- void getCompactDiscFlag_001( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_Attributes;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL1, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- sal_Bool bOk = aVolumeInfo.getCompactDiscFlag( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getCompactDiscFlag function: get a volume device which is not a cdrom.",
- ( sal_False == bOk ) );
- }
-
- void getCompactDiscFlag_002( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_Attributes;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL6, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- sal_Bool bOk = aVolumeInfo.getCompactDiscFlag( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getCompactDiscFlag function: get a cdrom volume device flag, it did not pass.",
- ( sal_True == bOk ) );
- }
- CPPUNIT_TEST_SUITE( getCompactDiscFlag );
- CPPUNIT_TEST( getCompactDiscFlag_001 );
- CPPUNIT_TEST( getCompactDiscFlag_002 );
- CPPUNIT_TEST_SUITE_END( );
- };// class getCompactDiscFlag
-
-
- //---------------------------------------------------------------------
- // testing the method
- // inline sal_Bool getFloppyDiskFlag() const
- //---------------------------------------------------------------------
- class getFloppyDiskFlag : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1;
-
- public:
- // test code.
- void getFloppyDiskFlag_001( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_Attributes;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL1, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- sal_Bool bOk = aVolumeInfo.getFloppyDiskFlag( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getFloppyDiskFlag function: get a volume device which is not a floppy disk.",
- ( sal_False == bOk ) );
- }
-
- void getFloppyDiskFlag_002( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_Attributes;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL2, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- sal_Bool bOk = aVolumeInfo.getFloppyDiskFlag( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getFloppyDiskFlag function: get a floppy volume device flag, it did not pass.",
- ( sal_True == bOk ) );
- }
- CPPUNIT_TEST_SUITE( getFloppyDiskFlag );
- CPPUNIT_TEST( getFloppyDiskFlag_001 );
- CPPUNIT_TEST( getFloppyDiskFlag_002 );
- CPPUNIT_TEST_SUITE_END( );
- };// class getFloppyDiskFlag
-
-
- //---------------------------------------------------------------------
- // testing the method
- // inline sal_Bool getFixedDiskFlag() const
- //---------------------------------------------------------------------
- class getFixedDiskFlag : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1;
-
- public:
- // test code.
- void getFixedDiskFlag_001( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_Attributes;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL2, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- sal_Bool bOk = aVolumeInfo.getFixedDiskFlag( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getFixedDiskFlag function: get a volume device which is not a fixed disk.",
- ( sal_False == bOk ) );
- }
-
- void getFixedDiskFlag_002( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_Attributes;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL1, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- sal_Bool bOk = aVolumeInfo.getFixedDiskFlag( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getFixedDiskFlag function: get a fixed disk volume device flag, it did not pass.",
- ( sal_True == bOk ) );
- }
- CPPUNIT_TEST_SUITE( getFixedDiskFlag );
- CPPUNIT_TEST( getFixedDiskFlag_001 );
- CPPUNIT_TEST( getFixedDiskFlag_002 );
- CPPUNIT_TEST_SUITE_END( );
- };// class getFixedDiskFlag
-
- //---------------------------------------------------------------------
- // testing the method
- // inline sal_Bool getRAMDiskFlag() const
- //---------------------------------------------------------------------
- class getRAMDiskFlag : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1;
-
- public:
- // test code.
- void getRAMDiskFlag_001( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_Attributes;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL1, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- sal_Bool bOk = aVolumeInfo.getRAMDiskFlag( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getRAMDiskFlag function: get a volume device which is not a RAM disk.",
- ( sal_False == bOk ) );
- }
-
- void getRAMDiskFlag_002( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_Attributes;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL1, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- sal_Bool bOk = aVolumeInfo.getRAMDiskFlag( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getRAMDiskFlag function: FIX ME, don't know how to get a RAM disk flag, perhaps Windows 98 boot disk can create a RAM disk, it did not pass in (UNX)(W32).",
- ( sal_True == bOk ) );
- }
- CPPUNIT_TEST_SUITE( getRAMDiskFlag );
- CPPUNIT_TEST( getRAMDiskFlag_001 );
- CPPUNIT_TEST( getRAMDiskFlag_002 );
- CPPUNIT_TEST_SUITE_END( );
- };// class getRAMDiskFlag
-
-
- //---------------------------------------------------------------------
- // testing the method
- // inline sal_uInt64 getTotalSpace() const
- //---------------------------------------------------------------------
- class getTotalSpace : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1;
-
- public:
- // test code.
- void getTotalSpace_001( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_TotalSpace;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL1, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- CPPUNIT_ASSERT( sal_True == aVolumeInfo.isValid( mask ) );
- sal_uInt64 uiTotalSpace = aVolumeInfo.getTotalSpace( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getTotalSpace function: get total space of Fixed disk volume mounted on /, it should not be 0",
- 0 != uiTotalSpace );
- }
-
- #if defined( UNX )
- void getTotalSpace_002( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_TotalSpace;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL3, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- CPPUNIT_ASSERT( sal_True == aVolumeInfo.isValid( mask ) );
- sal_uInt64 uiTotalSpace = aVolumeInfo.getTotalSpace( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getTotalSpace function: get total space of /proc, it should be 0",
- 0 == uiTotalSpace );
- }
-#else /// Windows version, in Windows, there is no /proc directory
- void getTotalSpace_002( )
- {
- CPPUNIT_ASSERT_MESSAGE( "test for getTotalSpace function:not applicable for /proc( Windows version )",
- 1 == 1 );
- }
-#endif
-
-
-
-#if defined(SOLARIS)
- void getTotalSpace_003( )
- {
- struct statvfs aStatFS;
- static const sal_Char name[] = "/";
-
- memset (&aStatFS, 0, sizeof(aStatFS));
- statvfs( name, &aStatFS);
- sal_uInt64 TotalSpace = aStatFS.f_frsize * aStatFS.f_blocks ;
-
- sal_Int32 mask = osl_VolumeInfo_Mask_TotalSpace;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL1, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- CPPUNIT_ASSERT( sal_True == aVolumeInfo.isValid( mask ) );
- sal_uInt64 uiTotalSpace = aVolumeInfo.getTotalSpace( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getTotalSpace function: get total space by hand, then compare with getTotalSpace, it did not pass",
- uiTotalSpace == TotalSpace );
- }
-#else /// Windows version
- void getTotalSpace_003( )
- {
- CPPUNIT_ASSERT_MESSAGE( "test for getTotalSpace function:not implemented yet( Windows version )",
- 1 == 1 );
- }
-#endif
-
- CPPUNIT_TEST_SUITE( getTotalSpace );
- CPPUNIT_TEST( getTotalSpace_001 );
- CPPUNIT_TEST( getTotalSpace_002 );
- CPPUNIT_TEST( getTotalSpace_003 );
- CPPUNIT_TEST_SUITE_END( );
- };// class getTotalSpace
-
- //---------------------------------------------------------------------
- // testing the method
- // inline sal_uInt64 getFreeSpace() const
- //---------------------------------------------------------------------
- class getFreeSpace : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1;
-
- public:
- // test code.
- void getFreeSpace_001( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_FreeSpace;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL1, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- CPPUNIT_ASSERT( sal_True == aVolumeInfo.isValid( mask ) );
- sal_uInt64 uiFreeSpace = aVolumeInfo.getFreeSpace( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getFreeSpace function: get free space of Fixed disk volume mounted on /, it should not be 0, suggestion: returned value, -1 is better, since some times the free space may be 0",
- 0 != uiFreeSpace );
- }
-
-#if defined( UNX )
- void getFreeSpace_002( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_FreeSpace;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL3, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- CPPUNIT_ASSERT( sal_True == aVolumeInfo.isValid( mask ) );
- sal_uInt64 uiFreeSpace = aVolumeInfo.getFreeSpace( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getFreeSpace function: get free space of /proc, it should be 0",
- 0 == uiFreeSpace );
- }
-#else /// Windows version, in Windows, there is no /proc directory
- void getFreeSpace_002( )
- {
- CPPUNIT_ASSERT_MESSAGE( "test for getFreeSpace function: not applicable for /proc( Windows version )",
- 1 == 1 );
- }
-#endif
-
-
-#if defined(SOLARIS)
- void getFreeSpace_003( )
- {
- struct statvfs aStatFS;
- static const sal_Char name[] = "/";
-
- memset (&aStatFS, 0, sizeof(aStatFS));
- statvfs( name, &aStatFS);
- sal_uInt64 FreeSpace = aStatFS.f_bfree * aStatFS.f_frsize ;
-
- sal_Int32 mask = osl_VolumeInfo_Mask_FreeSpace;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL1, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- CPPUNIT_ASSERT( sal_True == aVolumeInfo.isValid( mask ) );
- sal_uInt64 uiFreeSpace = aVolumeInfo.getFreeSpace( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getFreeSpace function: get free space by hand, then compare with getFreeSpace, it did not pass",
- uiFreeSpace == FreeSpace );
- }
-#else //Windows version
- void getFreeSpace_003( )
- {
- CPPUNIT_ASSERT_MESSAGE( "test for getFreeSpace function: not implemented yet( Windows version )",
- 1 == 1 );
- }
-#endif
-
-
- CPPUNIT_TEST_SUITE( getFreeSpace );
- CPPUNIT_TEST( getFreeSpace_001 );
- CPPUNIT_TEST( getFreeSpace_002 );
- CPPUNIT_TEST( getFreeSpace_003 );
- CPPUNIT_TEST_SUITE_END( );
- };// class getFreeSpace
-
- //---------------------------------------------------------------------
- // testing the method
- // inline sal_uInt64 getUsedSpace() const
- //---------------------------------------------------------------------
- class getUsedSpace : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1;
-
- public:
- // test code.
- void getUsedSpace_001( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_UsedSpace;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL1, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- CPPUNIT_ASSERT( sal_True == aVolumeInfo.isValid( mask ) );
- sal_uInt64 uiUsedSpace = aVolumeInfo.getUsedSpace( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getUsedSpace function: get used space of Fixed disk volume mounted on /, it should not be 0, suggestion: returned value, -1 is better, since some times the used space may be 0",
- 0 != uiUsedSpace );
- }
-
-#if defined( UNX )
- void getUsedSpace_002( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_UsedSpace;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL3, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- CPPUNIT_ASSERT( sal_True == aVolumeInfo.isValid( mask ) );
- sal_uInt64 uiUsedSpace = aVolumeInfo.getUsedSpace( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getUsedSpace function: get used space of /proc, it should be 0",
- 0 == uiUsedSpace );
- }
-#else /// Windows version, in Windows, there is no /proc directory
- void getUsedSpace_002( )
- {
- CPPUNIT_ASSERT_MESSAGE( "test for getUsedSpace function: not applicable for /proc( Windows version )",
- 1 == 1 );
- }
-#endif
-
-
-#if defined(SOLARIS)
- void getUsedSpace_003( )
- {
- struct statvfs aStatFS;
- static const sal_Char name[] = "/";
-
- memset (&aStatFS, 0, sizeof(aStatFS));
- statvfs( name, &aStatFS);
- sal_uInt64 UsedSpace = ( aStatFS.f_blocks - aStatFS.f_bavail ) * aStatFS.f_frsize;
-
-
- sal_Int32 mask = osl_VolumeInfo_Mask_UsedSpace;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL1, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- CPPUNIT_ASSERT( sal_True == aVolumeInfo.isValid( mask ) );
- sal_uInt64 uiUsedSpace = aVolumeInfo.getUsedSpace( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getUsedSpace function: get used space by hand, then compare with getUsedSpace, it did not pass",
- uiUsedSpace == UsedSpace );
- }
-#else //Windows version
- void getUsedSpace_003( )
- {
- CPPUNIT_ASSERT_MESSAGE( "test for getUsedSpace function: not implemented yet( Windows version )",
- 1 == 1 );
- }
-#endif
-
-
- CPPUNIT_TEST_SUITE( getUsedSpace );
- CPPUNIT_TEST( getUsedSpace_001 );
- CPPUNIT_TEST( getUsedSpace_002 );
- CPPUNIT_TEST( getUsedSpace_003 );
- CPPUNIT_TEST_SUITE_END( );
- };// class getUsedSpace
-
-
- //---------------------------------------------------------------------
- // testing the method
- // inline sal_uInt32 getMaxNameLength() const
- //---------------------------------------------------------------------
- class getMaxNameLength : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1;
-
- public:
- // test code.
- void getMaxNameLength_001( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_MaxNameLength;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL1, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- CPPUNIT_ASSERT( sal_True == aVolumeInfo.isValid( mask ) );
- sal_uInt32 uiMaxNameLength = aVolumeInfo.getMaxNameLength( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getMaxNameLength function: get max name length of Fixed disk volume mounted on /, it should not be 0",
- 0 != uiMaxNameLength );
- }
-
-
-#if defined(UNX) && !defined(ANDROID)
- void getMaxNameLength_002( )
- {
- struct statvfs aStatFS;
- static const sal_Char name[] = "/";
-
- memset (&aStatFS, 0, sizeof(aStatFS));
- statvfs( name, &aStatFS);
- sal_uInt64 MaxNameLength = aStatFS.f_namemax;
-
- sal_Int32 mask = osl_VolumeInfo_Mask_MaxNameLength;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL1, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- CPPUNIT_ASSERT( sal_True == aVolumeInfo.isValid( mask ) );
- sal_uInt64 uiMaxNameLength = aVolumeInfo.getMaxNameLength( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getMaxNameLength function: get max name length by hand, then compare with getMaxNameLength",
- uiMaxNameLength == MaxNameLength );
- }
-#else //Windows version
- void getMaxNameLength_002( )
- {
- CPPUNIT_ASSERT_MESSAGE( "test for getMaxNameLength function: not implemented yet( Windows version )",
- 1 == 1 );
- }
-#endif
-
- CPPUNIT_TEST_SUITE( getMaxNameLength );
- CPPUNIT_TEST( getMaxNameLength_001 );
- CPPUNIT_TEST( getMaxNameLength_002 );
- CPPUNIT_TEST_SUITE_END( );
- };// class getMaxNameLength
-
-
- //---------------------------------------------------------------------
- // testing the method
- // inline sal_uInt32 getMaxPathLength() const
- //---------------------------------------------------------------------
- class getMaxPathLength : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1;
-
- public:
- // test code.
- void getMaxPathLength_001( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_MaxPathLength;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL1, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- CPPUNIT_ASSERT( sal_True == aVolumeInfo.isValid( mask ) );
- sal_uInt32 uiMaxPathLength = aVolumeInfo.getMaxPathLength( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getMaxPathLength function: get max path length of Fixed disk volume mounted on /, it should not be 0",
- 0 != uiMaxPathLength );
- }
-
-
-#if ( defined UNX )
- void getMaxPathLength_002( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_MaxPathLength;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL1, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- CPPUNIT_ASSERT( sal_True == aVolumeInfo.isValid( mask ) );
- sal_uInt64 uiMaxPathLength = aVolumeInfo.getMaxPathLength( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getMaxPathLength function: get max path length by hand, then compare with getMaxPathLength",
- uiMaxPathLength == PATH_MAX );
- }
-#else //Windows version
- void getMaxPathLength_002( )
- {
- CPPUNIT_ASSERT_MESSAGE( "test for getMaxPathLength function: not implemented yet( Windows version )",
- 1 == 1 );
- }
-#endif
-
-
- CPPUNIT_TEST_SUITE( getMaxPathLength );
- CPPUNIT_TEST( getMaxPathLength_001 );
- CPPUNIT_TEST( getMaxPathLength_002 );
- CPPUNIT_TEST_SUITE_END( );
- };// class getMaxPathLength
-
-
- //---------------------------------------------------------------------
- // testing the method
- // inline ::rtl::OUString getFileSystemName() const
- //---------------------------------------------------------------------
- class getFileSystemName : public CppUnit::TestFixture
- {
- ::rtl::OUString aUStr;
- ::osl::FileBase::RC nError1;
-
- public:
- // test code.
- void getFileSystemName_001( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_FileSystemName;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL1, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- CPPUNIT_ASSERT( sal_True == aVolumeInfo.isValid( mask ) );
- aUStr = aVolumeInfo.getFileSystemName( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getFileSystemName function: get file system name of Fixed disk volume mounted on /, it should not be empty string",
- sal_False == compareFileName( aNullURL, aUStr ) );
- }
-
-
-#if defined(SOLARIS)
- void getFileSystemName_002( )
- {
- struct statvfs aStatFS;
- static const sal_Char name[] = "/";
-
- memset (&aStatFS, 0, sizeof(aStatFS));
- statvfs( name, &aStatFS);
- sal_Char * astrFileSystemName = aStatFS.f_basetype;
-
- sal_Int32 mask = osl_VolumeInfo_Mask_FileSystemName;
- ::osl::VolumeInfo aVolumeInfo( mask );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL1, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
- CPPUNIT_ASSERT( sal_True == aVolumeInfo.isValid( mask ) );
- aUStr = aVolumeInfo.getFileSystemName( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getFileSystemName function: get file system name by hand, then compare with getFileSystemName",
- sal_True == compareFileName( aUStr, astrFileSystemName ) );
- }
-#else //Windows version
- void getFileSystemName_002( )
- {
- CPPUNIT_ASSERT_MESSAGE( "test for getFileSystemName function: not implemented yet( Windows version )",
- 1 == 1 );
- }
-#endif
-
-
- CPPUNIT_TEST_SUITE( getFileSystemName );
- CPPUNIT_TEST( getFileSystemName_001 );
- CPPUNIT_TEST( getFileSystemName_002 );
- CPPUNIT_TEST_SUITE_END( );
- };// class getFileSystemName
-
- //---------------------------------------------------------------------
- // testing the method
- // inline VolumeDevice getDeviceHandle() const
- //---------------------------------------------------------------------
- class getDeviceHandle : public CppUnit::TestFixture
- {
- ::rtl::OUString aUStr;
- ::osl::FileBase::RC nError1;
-
- public:
- // test code.
- void getDeviceHandle_001( )
- {
- ::osl::VolumeInfo aVolumeInfo( osl_VolumeInfo_Mask_Attributes );
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL1, aVolumeInfo );
- CPPUNIT_ASSERT( osl::FileBase::E_None == nError1 );
-
- ::osl::VolumeDevice aVolumeDevice1( aVolumeInfo.getDeviceHandle( ) );
- sal_Bool bOk = compareFileName( aNullURL, aVolumeDevice1.getMountPath( ) );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getDeviceHandle function: get device handle of Fixed disk volume mounted on /, it should not be NULL, it did not pass in (W32) (UNX).",
- ( sal_False == bOk ) );
- }
-
- CPPUNIT_TEST_SUITE( getDeviceHandle );
- CPPUNIT_TEST( getDeviceHandle_001 );
- CPPUNIT_TEST_SUITE_END( );
- };// class getDeviceHandle
-
-
- // -----------------------------------------------------------------------------
- /*CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_VolumeInfo::ctors, "osl_VolumeInfo" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_VolumeInfo::isValid, "osl_VolumeInfo" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_VolumeInfo::getRemoteFlag, "osl_VolumeInfo" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_VolumeInfo::getRemoveableFlag, "osl_VolumeInfo" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_VolumeInfo::getCompactDiscFlag, "osl_VolumeInfo" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_VolumeInfo::getFloppyDiskFlag, "osl_VolumeInfo" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_VolumeInfo::getFixedDiskFlag, "osl_VolumeInfo" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_VolumeInfo::getRAMDiskFlag, "osl_VolumeInfo" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_VolumeInfo::getTotalSpace, "osl_VolumeInfo" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_VolumeInfo::getFreeSpace, "osl_VolumeInfo" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_VolumeInfo::getUsedSpace, "osl_VolumeInfo" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_VolumeInfo::getMaxNameLength, "osl_VolumeInfo" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_VolumeInfo::getMaxPathLength, "osl_VolumeInfo" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_VolumeInfo::getFileSystemName, "osl_VolumeInfo" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_VolumeInfo::getDeviceHandle, "osl_VolumeInfo" );*/
-}// namespace osl_VolumeInfo
-
-
-
-//------------------------------------------------------------------------
-// Beginning of the test cases for VolumeDevice class
-//------------------------------------------------------------------------
-namespace osl_FileStatus
-{
-
- //---------------------------------------------------------------------
- // testing the method
- // FileStatus( sal_uInt32 nMask ): _nMask( nMask )
- //---------------------------------------------------------------------
- class ctors : public CppUnit::TestFixture
- {
- ::rtl::OUString aUStr;
- ::osl::FileBase::RC nError1, nError2;
- ::osl::DirectoryItem rItem;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempfile in $TEMP/tmpdir/tmpname.
- createTestDirectory( aTmpName3 );
- createTestFile( aTmpName4 );
-
- ::std::auto_ptr<Directory> pDir( new Directory( aTmpName3 ) );
- nError1 = pDir->open( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = pDir->getNextItem( rItem, 0 );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- pDir->close();
- /*
- Directory aDir( aTmpName3 );
- nError1 = aDir.open();
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = aDir.getNextItem( rItem, 0 );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- aDir.close();
- */
- }
-
- void tearDown( )
- {
- // remove the tempfile in $TEMP/tmpdir/tmpname.
- deleteTestFile( aTmpName4 );
- deleteTestDirectory( aTmpName3 );
- }
-
- // test code.
- void ctors_001( )
- {
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_All );
- nError1 = rItem.getFileStatus( rFileStatus );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- aUStr = rFileStatus.getFileName( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for ctors function: mask all and see the file name",
- sal_True == compareFileName( aUStr, aTmpName2) );
- }
-
- void ctors_002( )
- {
- ::osl::FileStatus rFileStatus( 0 );
- nError1 = rItem.getFileStatus( rFileStatus );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- aUStr = rFileStatus.getFileName( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for ctors function: mask is empty",
- sal_True == compareFileName( aUStr, aNullURL) );
- }
-
- CPPUNIT_TEST_SUITE( ctors );
- CPPUNIT_TEST( ctors_001 );
- CPPUNIT_TEST( ctors_002 );
- CPPUNIT_TEST_SUITE_END( );
- };// class ctors
-
-
- //---------------------------------------------------------------------
- // testing the method
- // inline sal_Bool isValid( sal_uInt32 nMask ) const
- //---------------------------------------------------------------------
- class isValid : public CppUnit::TestFixture
- {
- ::rtl::OUString aUStr;
- ::osl::Directory *pDir;
- ::osl::DirectoryItem rItem_file, rItem_link;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempfile in $TEMP/tmpdir/tmpname.
- createTestDirectory( aTmpName3 );
- createTestFile( aTmpName4 );
-
- pDir = new Directory( aTmpName3 );
- //::std::auto_ptr<Directory> pDir( new Directory( aTmpName3 ) );
- ::osl::FileBase::RC nError1 = pDir->open( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = pDir->getNextItem( rItem_file, 1 );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- }
-
- void tearDown( )
- {
- ::osl::FileBase::RC nError1 = pDir->close( );
- delete pDir;
- CPPUNIT_ASSERT_MESSAGE( errorToStr(nError1).getStr(), ::osl::FileBase::E_None == nError1 );
-
- // remove the tempfile in $TEMP/tmpdir/tmpname.
- deleteTestFile( aTmpName4 );
- deleteTestDirectory( aTmpName3 );
- }
-
- // test code.
- void isValid_001( )
- {
- sal_uInt32 mask = 0;
- ::osl::FileStatus rFileStatus( mask );
- ::osl::FileBase::RC nError1 = rItem_file.getFileStatus( rFileStatus );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- sal_Bool bOk = rFileStatus.isValid( mask );
-
- CPPUNIT_ASSERT_MESSAGE( "test for isValid function: no fields specified",
- ( sal_True == bOk ) );
- }
-
- void check_FileStatus(::osl::FileStatus const& _aStatus)
- {
- rtl::OString sStat;
- if (_aStatus.isValid(osl_FileStatus_Mask_Type))
- {
- sStat += "type ";
- }
- if (_aStatus.isValid(osl_FileStatus_Mask_Attributes))
- {
- sStat += "attributes ";
- }
- if (_aStatus.isValid(osl_FileStatus_Mask_CreationTime))
- {
- sStat += "ctime ";
- }
- if (_aStatus.isValid(osl_FileStatus_Mask_AccessTime))
- {
- sStat += "atime ";
- }
- if (_aStatus.isValid(osl_FileStatus_Mask_ModifyTime))
- {
- sStat += "mtime ";
- }
- if (_aStatus.isValid(osl_FileStatus_Mask_FileSize))
- {
- sStat += "filesize ";
- }
- if (_aStatus.isValid(osl_FileStatus_Mask_FileName))
- {
- sStat += "filename ";
- }
- if (_aStatus.isValid(osl_FileStatus_Mask_FileURL))
- {
- sStat += "fileurl ";
- }
- printf("mask: %s\n", sStat.getStr());
- }
-
- void isValid_002( )
- {
- createTestFile( aTmpName6 );
- sal_uInt32 mask_file = ( osl_FileStatus_Mask_Type | osl_FileStatus_Mask_Attributes |
- osl_FileStatus_Mask_CreationTime | osl_FileStatus_Mask_AccessTime |
- osl_FileStatus_Mask_ModifyTime | osl_FileStatus_Mask_FileSize |
- osl_FileStatus_Mask_FileName | osl_FileStatus_Mask_FileURL) ;
- ::osl::FileStatus rFileStatus( mask_file );
- ::osl::FileBase::RC nError1 = ::osl::DirectoryItem::get( aTmpName6, rItem_file );
- nError1 = rItem_file.getFileStatus( rFileStatus );
-
- CPPUNIT_ASSERT_MESSAGE( errorToStr(nError1).getStr(), ::osl::FileBase::E_None == nError1 );
-
-// LLA: this is wrong, we never should try to check on all masks
-// only on one.
-// Second, it's not a bug, if a value is not valid, it's an unhandled feature.
-
-// sal_Bool bOk = rFileStatus.isValid( mask_file );
-
- check_FileStatus(rFileStatus);
- deleteTestFile( aTmpName6 );
-
- // CPPUNIT_ASSERT_MESSAGE( "test for isValid function: regular file mask fields test, #osl_FileStatus_Mask_CreationTime# should be valid field for regular file, but feedback is invalid",
- // ( sal_True == bOk ) );
- }
-
- //Link is not defined in Windows, and on Linux, we can not get the directory item of the link file
- // LLA: we have to differ to filesystems, normal filesystems support links (EXT2, ...)
- // castrated filesystems don't (FAT, FAT32)
- // Windows NT NTFS support links, but the windows api don't :-(
-
- void isValid_003( )
- {
-#if defined ( UNX )
- // ::osl::FileBase::RC nError;
- sal_Int32 fd;
-
- ::rtl::OUString aUStr_LnkFileSys( aTempDirectorySys ), aUStr_SrcFileSys( aTempDirectorySys );
- ( ( aUStr_LnkFileSys += aSlashURL ) += getCurrentPID( ) ) += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/tmpdir/link.file"));
- ( ( aUStr_SrcFileSys += aSlashURL ) += getCurrentPID( ) ) += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/tmpdir/tmpname"));
-
- rtl::OString strLinkFileName;
- rtl::OString strSrcFileName;
- strLinkFileName = OUStringToOString( aUStr_LnkFileSys, RTL_TEXTENCODING_ASCII_US );
- strSrcFileName = OUStringToOString( aUStr_SrcFileSys, RTL_TEXTENCODING_ASCII_US );
-
- //create a link file and link it to file "/tmp/PID/tmpdir/tmpname"
- fd = symlink( strSrcFileName.getStr(), strLinkFileName.getStr() );
- CPPUNIT_ASSERT( fd == 0 );
-
- // testDirectory is "/tmp/PID/tmpdir/"
- ::osl::Directory testDirectory( aTmpName3 );
- ::osl::FileBase::RC nError1 = testDirectory.open( );
- ::rtl::OUString aFileName (RTL_CONSTASCII_USTRINGPARAM("link.file"));
- sal_Bool bOk = sal_False;
- while (1) {
- nError1 = testDirectory.getNextItem( rItem_link, 4 );
- if (::osl::FileBase::E_None == nError1) {
- sal_uInt32 mask_link = osl_FileStatus_Mask_FileName | osl_FileStatus_Mask_LinkTargetURL;
- ::osl::FileStatus rFileStatus( mask_link );
- rItem_link.getFileStatus( rFileStatus );
- if ( compareFileName( rFileStatus.getFileName( ), aFileName) == sal_True )
- {
- //printf("find the link file");
- if ( sal_True == rFileStatus.isValid( osl_FileStatus_Mask_LinkTargetURL ) )
- {
- bOk = sal_True;
- break;
- }
- }
- }
- else
- break;
- };
-
- fd = remove( strLinkFileName.getStr() );
- CPPUNIT_ASSERT( fd == 0 );
-
- CPPUNIT_ASSERT_MESSAGE("test for isValid function: link file, check for LinkTargetURL",
- ( sal_True == bOk ) );
-#endif
- }
-
- void isValid_004( )
- {
- sal_uInt32 mask_file_all = osl_FileStatus_Mask_All;
- ::osl::FileStatus rFileStatus_all( mask_file_all );
- ::osl::FileBase::RC nError1 = rItem_file.getFileStatus( rFileStatus_all );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- check_FileStatus(rFileStatus_all);
-// LLA: this is wrong
-// sal_Bool bOk1 = rFileStatus_all.isValid( mask_file_all );
-
- sal_uInt32 mask_file_val = osl_FileStatus_Mask_Validate;
- ::osl::FileStatus rFileStatus_val( mask_file_val );
- nError1 = rItem_file.getFileStatus( rFileStatus_val );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- // sal_Bool bOk2 = rFileStatus_val.isValid( mask_file_val );
-
- check_FileStatus(rFileStatus_val);
- // CPPUNIT_ASSERT_MESSAGE( "test for isValid function: check for Mask_All and Validate, really not sure what validate used for and how to use it, help me. did not pass (W32)(UNX).",
- // ( sal_False == bOk1 ) && ( sal_True == bOk2 ) );
- }
-
-
- CPPUNIT_TEST_SUITE( isValid );
- CPPUNIT_TEST( isValid_001 );
- CPPUNIT_TEST( isValid_002 );
- CPPUNIT_TEST( isValid_003 );
- CPPUNIT_TEST( isValid_004 );
- CPPUNIT_TEST_SUITE_END( );
- };// class ctors
-
-
- //---------------------------------------------------------------------
- // testing the method
- // inline Type getFileType() const
- //---------------------------------------------------------------------
- class getFileType : public CppUnit::TestFixture
- {
- ::rtl::OUString aUStr;
- ::osl::FileBase::RC nError1, nError2;
-
- ::osl::DirectoryItem m_aItem_1, m_aItem_2, m_aVolumeItem, m_aFifoItem;
- ::osl::DirectoryItem m_aLinkItem, m_aSocketItem, m_aSpecialItem;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempfile: $TEMP/tmpdir/tmpname.
- // a tempdirectory: $TEMP/tmpdir/tmpdir.
- // use $ROOT/staroffice as volume ---> use dev/fd as volume.
- // and get their directory item.
- createTestDirectory( aTmpName3 );
- createTestFile( aTmpName3, aTmpName2 );
- createTestDirectory( aTmpName3, aTmpName1 );
-
- ::std::auto_ptr<Directory> pDir( new Directory( aTmpName3 ) );
- nError1 = pDir->open( );
- CPPUNIT_ASSERT_MESSAGE("open aTmpName3 failed!", ::osl::FileBase::E_None == nError1 );
- //getNextItem can not assure which item retrieved
- nError1 = pDir->getNextItem( m_aItem_1, 1 );
- CPPUNIT_ASSERT_MESSAGE("get first item failed!", ::osl::FileBase::E_None == nError1 );
-
- nError1 = pDir->getNextItem( m_aItem_2 );
- CPPUNIT_ASSERT_MESSAGE("get second item failed!", ::osl::FileBase::E_None == nError1 );
- pDir->close();
- //mindy: failed on my RH9,so removed temporaly
- //nError1 = ::osl::DirectoryItem::get( aVolURL2, m_aVolumeItem );
- //CPPUNIT_ASSERT_MESSAGE("get volume item failed!", ::osl::FileBase::E_None == nError1 );
-
- }
-
- void tearDown( )
- {
- // remove all in $TEMP/tmpdir.
- deleteTestDirectory( aTmpName3, aTmpName1 );
- deleteTestFile( aTmpName3, aTmpName2 );
- deleteTestDirectory( aTmpName3 );
- }
-
- // test code.
- void getFileType_001( )
- {
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_Type | osl_FileStatus_Mask_FileName );
- nError1 = m_aItem_1.getFileStatus( rFileStatus );
- CPPUNIT_ASSERT_MESSAGE("getFileStatus failed", ::osl::FileBase::E_None == nError1 );
-
- check_FileType(rFileStatus);
- }
-
- void check_FileType(osl::FileStatus const& _rFileStatus )
- {
- sal_Bool bOK = sal_False;
- if ( _rFileStatus.isValid(osl_FileStatus_Mask_FileName))
- {
- rtl::OUString suFilename = _rFileStatus.getFileName();
-
- if ( _rFileStatus.isValid(osl_FileStatus_Mask_Type))
- {
- osl::FileStatus::Type eType = _rFileStatus.getFileType( );
-
- if ( compareFileName( suFilename, aTmpName2) == sal_True )
- {
- // regular
- bOK = ( eType == osl::FileStatus::Regular );
- }
- if ( compareFileName( suFilename, aTmpName1) == sal_True )
- {
- // directory
- bOK = ( eType == ::osl::FileStatus::Directory );
- }
-
- CPPUNIT_ASSERT_MESSAGE( "test for getFileType function: ",
- ( bOK == sal_True ) );
- }
- }
- // LLA: it's not a bug, if a FileStatus not exist, so no else
- }
-
- void getFileType_002( )
- {
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_Type | osl_FileStatus_Mask_FileName );
- nError1 = m_aItem_2.getFileStatus( rFileStatus );
-
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- check_FileType(rFileStatus);
- }
-
- void getFileType_003( )
- {
- }
-
-/*
- * LLA: removed, m_aSocketItem is wrong initialised.
- */
-
-// LLA: void getFileType_005( )
-// LLA: {
-// LLA: #if defined ( SOLARIS ) //Socket file may differ in Windows
-// LLA: // nError1 = ::osl::DirectoryItem::get( aTypeURL1, m_aSocketItem );
-// LLA: nError1 = ::osl::DirectoryItem::get( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/dev/null")), m_aSocketItem );
-// LLA: printError(nError1);
-// LLA: CPPUNIT_ASSERT_MESSAGE("get Socket type file failed", ::osl::FileBase::E_None == nError1 );
-// LLA:
-// LLA: //check for File type
-// LLA: ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_Type );
-// LLA:
-// LLA: nError1 = m_aSocketItem.getFileStatus( rFileStatus );
-// LLA: CPPUNIT_ASSERT_MESSAGE("getFileStatus failed", ::osl::FileBase::E_None == nError1 );
-// LLA:
-// LLA: if (rFileStatus.isValid( osl_FileStatus_Mask_Type ))
-// LLA: {
-// LLA: osl::FileStatus::Type eType = rFileStatus.getFileType( );
-// LLA: printFileType(eType);
-// LLA: CPPUNIT_ASSERT_MESSAGE( "test for getFileType function: Socket, Solaris version ",
-// LLA: ( eType == ::osl::FileStatus::Socket ) );
-// LLA: }
-// LLA: #endif
-// LLA: }
-
-
-// deprecated since there is a same case Directory::getNextItem_004
-/*#if defined 0 //( UNX ) //( SOLARIS ) //Link file is not defined in Windows
- void getFileType_006( )
- {
- nError1 = ::osl::DirectoryItem::get( aTypeURL3, m_aLinkItem );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- //check for File type
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_Type );
- nError1 = m_aLinkItem.getFileStatus( rFileStatus );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getFileType function: Link, UNX version ",
- ( ::osl::FileStatus::Link == rFileStatus.getFileType( ) ) );
- }
-#endif */
-
- void getFileType_007( )
- {
-#if defined ( SOLARIS ) //Special file is differ in Windows
- nError1 = ::osl::DirectoryItem::get( aTypeURL2, m_aSpecialItem );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- //check for File type
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_Type );
- nError1 = m_aSpecialItem.getFileStatus( rFileStatus );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- if (rFileStatus.isValid(osl_FileStatus_Mask_Type))
- {
- osl::FileStatus::Type eType = rFileStatus.getFileType( );
-
-
- CPPUNIT_ASSERT_MESSAGE( "test for getFileType function: Special, Solaris version ",
- ( eType == ::osl::FileStatus::Special ) );
- }
-#endif
- }
-
- CPPUNIT_TEST_SUITE( getFileType );
- CPPUNIT_TEST( getFileType_001 );
- CPPUNIT_TEST( getFileType_002 );
- CPPUNIT_TEST( getFileType_003 );
- // LLA: CPPUNIT_TEST( getFileType_005 );
- //CPPUNIT_TEST( getFileType_006 );
- CPPUNIT_TEST( getFileType_007 );
- CPPUNIT_TEST_SUITE_END( );
- };// class getFileType
-
- //---------------------------------------------------------------------
- // testing the method
- // inline sal_uInt64 getAttributes() const
- //---------------------------------------------------------------------
- class getAttributes : public CppUnit::TestFixture
- {
- ::rtl::OUString aTypeURL, aTypeURL_Hid;
- ::osl::FileBase::RC nError;
- ::osl::DirectoryItem rItem, rItem_hidden;
-
- public:
- // initialization
- void setUp( )
- {
- aTypeURL = aUserDirectoryURL.copy( 0 );
- concatURL( aTypeURL, aTmpName2 );
- createTestFile( aTypeURL );
- nError = ::osl::DirectoryItem::get( aTypeURL, rItem );
- CPPUNIT_ASSERT( nError == FileBase::E_None );
-
- aTypeURL_Hid = aUserDirectoryURL.copy( 0 );
- concatURL( aTypeURL_Hid, aHidURL1 );
- createTestFile( aTypeURL_Hid );
- nError = ::osl::DirectoryItem::get( aTypeURL_Hid, rItem_hidden );
- CPPUNIT_ASSERT( nError == FileBase::E_None );
- }
-
- void tearDown( )
- {
- deleteTestFile( aTypeURL );
- deleteTestFile( aTypeURL_Hid );
- }
-
- // test code.
-#if ( defined UNX )
-//windows only 3 file attributes: normal, readonly, hidden
- void getAttributes_001( )
- {
- changeFileMode( aTypeURL, S_IRUSR | S_IRGRP | S_IROTH );
-
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_Attributes );
- nError = rItem.getFileStatus( rFileStatus );
- CPPUNIT_ASSERT( nError == FileBase::E_None );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getAttributes function: ReadOnly, GrpRead, OwnRead, OthRead( UNX version ) ",
- ( osl_File_Attribute_ReadOnly | osl_File_Attribute_GrpRead | osl_File_Attribute_OwnRead | osl_File_Attribute_OthRead ) ==
- rFileStatus.getAttributes( ) );
- }
-#else //Windows version
- void getAttributes_001( )
- {
- CPPUNIT_ASSERT_MESSAGE( "test for getAttributes function: ReadOnly, GrpRead, OwnRead, OthRead( Windows version )",
- 1 == 1 );
- }
-#endif
-
-
- void getAttributes_002( )
- {
-#if ( defined UNX )
- changeFileMode( aTypeURL, S_IXUSR | S_IXGRP | S_IXOTH );
-
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_Attributes );
- nError = rItem.getFileStatus( rFileStatus );
- CPPUNIT_ASSERT( nError == FileBase::E_None );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getAttributes function: Executable, GrpExe, OwnExe, OthExe, the result is Readonly, Executable, GrpExe, OwnExe, OthExe, it partly not pass( Solaris version )",
- ( osl_File_Attribute_ReadOnly | osl_File_Attribute_Executable | osl_File_Attribute_GrpExe | osl_File_Attribute_OwnExe | osl_File_Attribute_OthExe ) ==
- rFileStatus.getAttributes( ) );
-#endif
- }
-
-
-#if ( defined UNX )
- void getAttributes_003( )
- {
- changeFileMode( aTypeURL, S_IWUSR | S_IWGRP | S_IWOTH );
-
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_Attributes );
- nError = rItem.getFileStatus( rFileStatus );
- CPPUNIT_ASSERT( nError == FileBase::E_None );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getAttributes function: GrpWrite, OwnWrite, OthWrite( Solaris version )",
- ( osl_File_Attribute_GrpWrite | osl_File_Attribute_OwnWrite | osl_File_Attribute_OthWrite ) ==
- rFileStatus.getAttributes( ) );
- }
-#else //Windows version
- void getAttributes_003( )
- {
- CPPUNIT_ASSERT_MESSAGE( "test for getAttributes function: GrpWrite, OwnWrite, OthWrite( Windows version )",
- 1 == 1 );
- }
-#endif
-
-#if ( defined UNX ) //hidden file definition may different in Windows
- void getAttributes_004( )
- {
- sal_Int32 test_Attributes = osl_File_Attribute_Hidden;
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_Attributes );
- nError = rItem_hidden.getFileStatus( rFileStatus );
- CPPUNIT_ASSERT( nError == FileBase::E_None );
- test_Attributes &= rFileStatus.getAttributes( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getAttributes function: Hidden files( Solaris version )",
- test_Attributes == osl_File_Attribute_Hidden );
- }
-#else //Windows version
- void getAttributes_004( )
- {
- ::rtl::OUString aUserHiddenFileURL (RTL_CONSTASCII_USTRINGPARAM("file:///c:/AUTOEXEC.BAT"));
- nError = ::osl::DirectoryItem::get( aUserHiddenFileURL, rItem_hidden );
- CPPUNIT_ASSERT_MESSAGE("get item fail", nError == FileBase::E_None );
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_Attributes );
- nError = rItem_hidden.getFileStatus( rFileStatus );
- CPPUNIT_ASSERT( nError == FileBase::E_None );
-
- CPPUNIT_ASSERT_MESSAGE( "Hidden files(Windows version), please check if hidden file c:/AUTOEXEC.BAT exists ",
- (rFileStatus.getAttributes( ) & osl_File_Attribute_Hidden)!= 0 );
- }
-#endif
-
- CPPUNIT_TEST_SUITE( getAttributes );
- CPPUNIT_TEST( getAttributes_001 );
- CPPUNIT_TEST( getAttributes_002 );
- CPPUNIT_TEST( getAttributes_003 );
- CPPUNIT_TEST( getAttributes_004 );
- CPPUNIT_TEST_SUITE_END( );
- };// class getAttributes
-
- //---------------------------------------------------------------------
- // testing the method
- // inline TimeValue getAccessTime() const
- //---------------------------------------------------------------------
- class getAccessTime : public CppUnit::TestFixture
- {
- ::rtl::OUString aTypeURL;
- ::osl::FileBase::RC nError;
- ::osl::DirectoryItem rItem;
-
- public:
- // initialization
- void setUp( )
- {
- aTypeURL = aUserDirectoryURL.copy( 0 );
- concatURL( aTypeURL, aTmpName2 );
- createTestFile( aTypeURL );
- nError = ::osl::DirectoryItem::get( aTypeURL, rItem );
- CPPUNIT_ASSERT( nError == FileBase::E_None );
-
- }
-
- void tearDown( )
- {
- deleteTestFile( aTypeURL );
- }
-
- // test code.
- void getAccessTime_001( )
- {
- TimeValue *pTV_current = NULL;
- CPPUNIT_ASSERT( ( pTV_current = ( TimeValue* )malloc( sizeof( TimeValue ) ) ) != NULL );
- TimeValue *pTV_access = NULL;
- CPPUNIT_ASSERT( ( pTV_access = ( TimeValue* )malloc( sizeof( TimeValue ) ) ) != NULL );
-
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_AccessTime );
- nError = rItem.getFileStatus( rFileStatus );
- sal_Bool bOk = osl_getSystemTime( pTV_current );
- CPPUNIT_ASSERT( sal_True == bOk && nError == FileBase::E_None );
-
- *pTV_access = rFileStatus.getAccessTime( );
-
- sal_Bool bOK = t_compareTime( pTV_access, pTV_current, delta );
- free( pTV_current );
- free( pTV_access );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getAccessTime function: This test turns out that UNX pricision is no more than 1 sec, don't know how to test this function, in Windows test, it lost hour min sec, only have date time. ",
- sal_True == bOK );
- }
-
- CPPUNIT_TEST_SUITE( getAccessTime );
- CPPUNIT_TEST( getAccessTime_001 );
- CPPUNIT_TEST_SUITE_END( );
- };// class getAccessTime
-
- //---------------------------------------------------------------------
- // testing the method
- // inline TimeValue getModifyTime() const
- //---------------------------------------------------------------------
- class getModifyTime : public CppUnit::TestFixture
- {
- ::rtl::OUString aTypeURL;
- ::osl::FileBase::RC nError;
- ::osl::DirectoryItem rItem;
-
- public:
-
- // test code.
- void getModifyTime_001( )
- {
- TimeValue *pTV_current = NULL;
- CPPUNIT_ASSERT( ( pTV_current = ( TimeValue* )malloc( sizeof( TimeValue ) ) ) != NULL );
-
- //create file
- aTypeURL = aUserDirectoryURL.copy( 0 );
- concatURL( aTypeURL, aTmpName2 );
- createTestFile( aTypeURL );
-
- //get current time
- sal_Bool bOk = osl_getSystemTime( pTV_current );
- CPPUNIT_ASSERT( sal_True == bOk );
-
- //get instance item and filestatus
- nError = ::osl::DirectoryItem::get( aTypeURL, rItem );
- CPPUNIT_ASSERT( nError == FileBase::E_None );
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_ModifyTime );
- nError = rItem.getFileStatus( rFileStatus );
- CPPUNIT_ASSERT( nError == FileBase::E_None );
-
- //get modify time
- TimeValue *pTV_modify = NULL;
- CPPUNIT_ASSERT( ( pTV_modify = ( TimeValue* )malloc( sizeof( TimeValue ) ) ) != NULL );
- *pTV_modify = rFileStatus.getModifyTime( );
-
- sal_Bool bOK = t_compareTime( pTV_modify, pTV_current, delta );
- //delete file
- deleteTestFile( aTypeURL );
- free( pTV_current );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getModifyTime function: This test turns out that UNX pricision is no more than 1 sec, don't know how to improve this function. ",
- sal_True == bOK );
- }
-
- CPPUNIT_TEST_SUITE( getModifyTime );
- CPPUNIT_TEST( getModifyTime_001 );
- CPPUNIT_TEST_SUITE_END( );
- };// class getModifyTime
-
-
- //---------------------------------------------------------------------
- // testing the method
- // inline sal_uInt64 getFileSize() const
- //---------------------------------------------------------------------
- class getFileSize : public CppUnit::TestFixture
- {
- ::rtl::OUString aTypeURL;
- ::osl::FileBase::RC nError;
- ::osl::DirectoryItem rItem;
-
- public:
- // initialization
- void setUp( )
- {
- aTypeURL = aUserDirectoryURL.copy( 0 );
- concatURL( aTypeURL, aTmpName2 );
- createTestFile( aTypeURL );
- nError = ::osl::DirectoryItem::get( aTypeURL, rItem );
- CPPUNIT_ASSERT( nError == FileBase::E_None );
- }
-
- void tearDown( )
- {
- deleteTestFile( aTypeURL );
- }
-
- // test code.
- void getFileSize_001( )
- {
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_FileSize );
- nError = rItem.getFileStatus( rFileStatus );
- CPPUNIT_ASSERT( nError == FileBase::E_None );
-
- sal_uInt64 uFileSize = rFileStatus.getFileSize( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getFileSize function: empty file ",
- 0 == uFileSize );
- }
-
- void getFileSize_002( )
- {
- ::osl::File testfile( aTypeURL );
- nError = testfile.open( osl_File_OpenFlag_Write | osl_File_OpenFlag_Read );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError );
- nError = testfile.setSize( TEST_FILE_SIZE );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError );
-
- nError = ::osl::DirectoryItem::get( aTypeURL, rItem );
- CPPUNIT_ASSERT( nError == FileBase::E_None );
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_FileSize );
- nError = rItem.getFileStatus( rFileStatus );
- CPPUNIT_ASSERT( nError == FileBase::E_None );
- sal_uInt64 uFileSize = rFileStatus.getFileSize( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getFileSize function: file with size of TEST_FILE_SIZE, did not pass in (W32). ",
- TEST_FILE_SIZE == uFileSize );
- }
- CPPUNIT_TEST_SUITE( getFileSize );
- CPPUNIT_TEST( getFileSize_001 );
- CPPUNIT_TEST( getFileSize_002 );
- CPPUNIT_TEST_SUITE_END( );
- };// class getFileSize
-
- //---------------------------------------------------------------------
- // testing the method
- // inline ::rtl::OUString getFileName() const
- //---------------------------------------------------------------------
- class getFileName : public CppUnit::TestFixture
- {
- ::rtl::OUString aTypeURL;
- ::osl::FileBase::RC nError;
- ::osl::DirectoryItem rItem;
-
- public:
- // initialization
- void setUp( )
- {
- aTypeURL = aUserDirectoryURL.copy( 0 );
- concatURL( aTypeURL, aTmpName2 );
- createTestFile( aTypeURL );
- nError = ::osl::DirectoryItem::get( aTypeURL, rItem );
- CPPUNIT_ASSERT( nError == FileBase::E_None );
- }
-
- void tearDown( )
- {
- deleteTestFile( aTypeURL );
- }
-
- // test code.
- void getFileName_001( )
- {
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_FileName );
- nError = rItem.getFileStatus( rFileStatus );
- CPPUNIT_ASSERT( nError == FileBase::E_None );
-
- ::rtl::OUString aFileName = rFileStatus.getFileName( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getFileName function: name compare with specify",
- sal_True == compareFileName( aFileName, aTmpName2 ) );
- }
-
- CPPUNIT_TEST_SUITE( getFileName );
- CPPUNIT_TEST( getFileName_001 );
- CPPUNIT_TEST_SUITE_END( );
- };// class getFileName
-
- //---------------------------------------------------------------------
- // testing the method
- // inline ::rtl::OUString getFileURL() const
- //---------------------------------------------------------------------
- class getFileURL : public CppUnit::TestFixture
- {
- ::rtl::OUString aTypeURL;
- ::osl::FileBase::RC nError;
- ::osl::DirectoryItem rItem;
-
- public:
- // initialization
- void setUp( )
- {
- createTestFile( aTmpName6 );
- nError = ::osl::DirectoryItem::get( aTmpName6, rItem );
- CPPUNIT_ASSERT( nError == FileBase::E_None );
- }
-
- void tearDown( )
- {
- deleteTestFile( aTmpName6 );
- }
-
- // test code.
- void getFileURL_001( )
- {
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_FileURL );
- nError = rItem.getFileStatus( rFileStatus );
- CPPUNIT_ASSERT( nError == FileBase::E_None );
-
- ::rtl::OUString aFileURL = rFileStatus.getFileURL( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getFileURL function: ",
- sal_True == compareFileName( aFileURL, aTmpName6 ) );
- }
-
- CPPUNIT_TEST_SUITE( getFileURL );
- CPPUNIT_TEST( getFileURL_001 );
- CPPUNIT_TEST_SUITE_END( );
- };// class getFileURL
-
- //---------------------------------------------------------------------
- // testing the method
- // inline ::rtl::OUString getLinkTargetURL() const
- //---------------------------------------------------------------------
- class getLinkTargetURL : public CppUnit::TestFixture
- {
- ::rtl::OUString aTypeURL;
- ::osl::FileBase::RC nError;
- ::osl::DirectoryItem rItem;
-
- public:
- // test code.
- // initialization
- void setUp( )
- {
- aTypeURL = aUserDirectoryURL.copy( 0 );
- concatURL( aTypeURL, aTmpName2 );
- createTestFile( aTypeURL );
- }
-
- void tearDown( )
- {
- deleteTestFile( aTypeURL );
- }
-
-#if ( defined UNX ) //Link file is not define in Windows
- void getLinkTargetURL_001( )
- {
- //create a link file;
- ::rtl::OUString aUStr_LnkFileSys( aTempDirectorySys ), aUStr_SrcFileSys( aTempDirectorySys );
- ( ( aUStr_LnkFileSys += aSlashURL ) += getCurrentPID( ) ) += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/link.file"));
- ( ( aUStr_SrcFileSys += aSlashURL ) += getCurrentPID( ) ) += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/tmpname"));
-
- rtl::OString strLinkFileName, strSrcFileName;
- strLinkFileName = OUStringToOString( aUStr_LnkFileSys, RTL_TEXTENCODING_ASCII_US );
- strSrcFileName = OUStringToOString( aUStr_SrcFileSys, RTL_TEXTENCODING_ASCII_US );
-
- sal_Int32 fd;
- fd = symlink( strSrcFileName.getStr(), strLinkFileName.getStr() );
- CPPUNIT_ASSERT_MESSAGE( "in creating link file", fd == 0 );
-
- //get linkTarget URL
- nError = ::osl::DirectoryItem::get( aLnkURL1, rItem );
- CPPUNIT_ASSERT_MESSAGE( "in getting link file item", nError == FileBase::E_None );
-
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_LinkTargetURL );
- nError = rItem.getFileStatus( rFileStatus );
- CPPUNIT_ASSERT_MESSAGE( "in getting link file status", nError == FileBase::E_None );
- ::rtl::OUString aFileURL = rFileStatus.getLinkTargetURL( );
-
- //remove link file
- fd = remove( strLinkFileName.getStr() );
- CPPUNIT_ASSERT_MESSAGE( "in deleting link file", fd == 0 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getLinkTargetURL function: Solaris version, creat a file, and a link file link to it, get its LinkTargetURL and compare",
- sal_True == compareFileName( aFileURL, aTypeURL ) );
- }
-#else
- void getLinkTargetURL_001( )
- {
- CPPUNIT_ASSERT_MESSAGE( "test for getLinkTargetURL function: Windows version, not tested",
- 1 );
- }
-#endif
-
- CPPUNIT_TEST_SUITE( getLinkTargetURL );
- CPPUNIT_TEST( getLinkTargetURL_001 );
- CPPUNIT_TEST_SUITE_END( );
- };// class getLinkTargetURL
-
- // -----------------------------------------------------------------------------
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_FileStatus::ctors, "osl_FileStatus" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_FileStatus::isValid, "osl_FileStatus" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_FileStatus::getFileType, "osl_FileStatus" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_FileStatus::getAttributes, "osl_FileStatus" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_FileStatus::getAccessTime, "osl_FileStatus" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_FileStatus::getModifyTime, "osl_FileStatus" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_FileStatus::getFileSize, "osl_FileStatus" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_FileStatus::getFileName, "osl_FileStatus" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_FileStatus::getFileURL, "osl_FileStatus" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_FileStatus::getLinkTargetURL, "osl_FileStatus" );
-}// namespace osl_FileStatus
-
-
-
-//------------------------------------------------------------------------
-// Beginning of the test cases for File class
-//------------------------------------------------------------------------
-namespace osl_File
-{
- //---------------------------------------------------------------------
- // testing the method
- // File( const ::rtl::OUString& ustrFileURL )
- //---------------------------------------------------------------------
- class ctors : public CppUnit::TestFixture
- {
- // ::osl::FileBase::RC nError1;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempfile in $TEMP/tmpdir/tmpname.
- createTestDirectory( aTmpName3 );
- createTestFile( aTmpName4 );
- }
-
- void tearDown( )
- {
- // remove the tempfile in $TEMP/tmpdir/tmpname.
- deleteTestFile( aTmpName4 );
- deleteTestDirectory( aTmpName3 );
- }
-
- // test code.
- void ctors_001( )
- {
- ::osl::File testFile( aTmpName4 );
-
- ::osl::FileBase::RC nError1 = testFile.open( osl_File_OpenFlag_Read | osl_File_OpenFlag_Write );
- ::osl::FileBase::RC nError2 = testFile.close( );
- CPPUNIT_ASSERT_MESSAGE( "test for ctors function: initialize a File and test its open and close",
- ( ::osl::FileBase::E_None == nError1 ) && ( ::osl::FileBase::E_None == nError2 ) );
- }
-
- void ctors_002( )
- {
- ::osl::File testFile( aTmpName5 );
- sal_Char buffer[30] = "Test for File constructor";
- sal_uInt64 nCount;
-
- ::osl::FileBase::RC nError1 = testFile.open( osl_File_OpenFlag_Read | osl_File_OpenFlag_Write );
- ::osl::FileBase::RC nError2 = testFile.write( buffer, 30, nCount );
- testFile.close( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for ctors function: test relative file URL, this test show that relative file URL is also acceptable",
- ( ::osl::FileBase::E_None == nError1 ) && ( ::osl::FileBase::E_None == nError2 ) );
- }
-
- CPPUNIT_TEST_SUITE( ctors );
- CPPUNIT_TEST( ctors_001 );
- CPPUNIT_TEST( ctors_002 );
- CPPUNIT_TEST_SUITE_END( );
- };// class ctors
-
- //---------------------------------------------------------------------
- // testing the method
- // inline RC open( sal_uInt32 uFlags )
- //---------------------------------------------------------------------
- class open : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1, nError2, nError3;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempfile in $TEMP/tmpdir/tmpname.
- createTestDirectory( aTmpName3 );
- createTestFile( aTmpName4 );
- }
-
- void tearDown( )
- {
- // remove the tempfile in $TEMP/tmpdir/tmpname.
- deleteTestFile( aTmpName4 );
- deleteTestDirectory( aTmpName3 );
- }
-
- // test code.
- void open_001( )
- {
- ::osl::File testFile( aTmpName4 );
-
- nError1 = testFile.open( osl_File_OpenFlag_Read | osl_File_OpenFlag_Write );
- nError2 = testFile.close( );
- CPPUNIT_ASSERT_MESSAGE("close error", ::osl::FileBase::E_None == nError2 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for open function: open a regular file",
- ::osl::FileBase::E_None == nError1 );
- }
-
- void open_002( )
- {
- ::osl::File testFile( aTmpName3 );
-
- nError1 = testFile.open( osl_File_OpenFlag_Read );
-
- CPPUNIT_ASSERT_MESSAGE( "test for open function: open a directory",
- ( File::E_INVAL == nError1 ) || ( File::E_ACCES == nError1 ) );
- }
-
- void open_003( )
- {
- ::osl::File testFile( aCanURL1 );
-
- nError1 = testFile.open( osl_File_OpenFlag_Read | osl_File_OpenFlag_Write );
-
- CPPUNIT_ASSERT_MESSAGE( "test for open function: open a non-exist file",
- File::E_NOENT == nError1 );
- }
-
- void open_004( )
- {
- ::rtl::OUString aTestFile( aRootURL );
- concatURL( aTestFile, aTmpName2 );
- ::osl::File testFile( aTestFile );
-
- nError1 = testFile.open( osl_File_OpenFlag_Create );
- sal_Bool bOK = ( File::E_ACCES == nError1 );
-#if defined (WNT )
- bOK = sal_True; /// in Windows, you can create file in c:/ any way.
- testFile.close( );
- deleteTestFile( aTestFile);
-#endif
-
- CPPUNIT_ASSERT_MESSAGE( "test for open function: create an illegal file",
- bOK == sal_True );
- }
-
- void open_005( )
- {
- ::osl::File testFile( aTmpName4 );
-
- nError1 = testFile.open( osl_File_OpenFlag_Create );
-
- CPPUNIT_ASSERT_MESSAGE( "test for open function: create an exist file",
- File::E_EXIST == nError1 );
- }
-
- void open_006( )
- {
- ::osl::File testFile( aCanURL1 );
- sal_Char buffer_write[30] = "Test for File open";
- sal_Char buffer_read[30];
- sal_uInt64 nCount_write, nCount_read;
-
- nError1 = testFile.open( osl_File_OpenFlag_Read | osl_File_OpenFlag_Write | osl_File_OpenFlag_Create );
- nError2 = testFile.write( buffer_write, 30, nCount_write );
- ::osl::FileBase::RC nError4 = testFile.setPos( osl_Pos_Absolut, 0 );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError4 );
- nError3 = testFile.read( buffer_read, 10, nCount_read );
-
- ::osl::FileBase::RC nError5 = testFile.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError5 );
- ::osl::FileBase::RC nError6 = testFile.remove( aCanURL1 );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError6 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for open function: test for osl_File_OpenFlag_Read, osl_File_OpenFlag_Write and osl_File_OpenFlag_Create",
- ( ::osl::FileBase::E_None == nError1 ) &&
- ( ::osl::FileBase::E_None == nError2 ) &&
- ( ::osl::FileBase::E_None == nError3 ) &&
- ( 30 == nCount_write ) &&
- ( 10 == nCount_read ) );
- }
-
- CPPUNIT_TEST_SUITE( open );
- CPPUNIT_TEST( open_001 );
- CPPUNIT_TEST( open_002 );
- CPPUNIT_TEST( open_003 );
- CPPUNIT_TEST( open_004 );
- CPPUNIT_TEST( open_005 );
- CPPUNIT_TEST( open_006 );
- CPPUNIT_TEST_SUITE_END( );
- };// class open
-
- //---------------------------------------------------------------------
- // testing the method
- // inline RC close()
- //---------------------------------------------------------------------
- class close : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1, nError2, nError3;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempfile in $TEMP/tmpdir/tmpname.
- createTestDirectory( aTmpName3 );
- createTestFile( aTmpName4 );
- }
-
- void tearDown( )
- {
- // remove the tempfile in $TEMP/tmpdir/tmpname.
- deleteTestFile( aTmpName4 );
- deleteTestDirectory( aTmpName3 );
- }
-
- // test code.
- void close_001( )
- {
- ::osl::File testFile( aTmpName4 );
-
- nError1 = testFile.open( osl_File_OpenFlag_Read | osl_File_OpenFlag_Write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- nError2 = testFile.close( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for close function: close a regular file",
- ::osl::FileBase::E_None == nError2 );
- }
-
- void close_002( )
- {
- ::osl::File testFile( aTmpName4 );
-
- nError1 = testFile.open( osl_File_OpenFlag_Read | osl_File_OpenFlag_Write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- nError2 = testFile.close( );
-
- nError3 = testFile.setPos( osl_Pos_Absolut, 0 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for close function: manipulate a file after it has been closed",
- ( ::osl::FileBase::E_None == nError2 ) &&
- ( ::osl::FileBase::E_None != nError3 ) );
- }
-
- CPPUNIT_TEST_SUITE( close );
- CPPUNIT_TEST( close_001 );
- CPPUNIT_TEST( close_002 );
- CPPUNIT_TEST_SUITE_END( );
- };// class close
-
-
- //---------------------------------------------------------------------
- // testing the method
- // inline RC setPos( sal_uInt32 uHow, sal_Int64 uPos )
- //---------------------------------------------------------------------
- class setPos : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1;
- sal_uInt64 nCount_write, nCount_read;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempfile in $TEMP/tmpdir/tmpname.
- createTestDirectory( aTmpName3 );
- createTestFile( aTmpName4 );
-
- //write chars into the file.
- ::osl::File testFile( aTmpName4 );
-
- nError1 = testFile.open( osl_File_OpenFlag_Write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.write( pBuffer_Char, sizeof( pBuffer_Char ), nCount_write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- }
-
- void tearDown( )
- {
- // remove the tempfile in $TEMP/tmpdir/tmpname.
- deleteTestFile( aTmpName4 );
- deleteTestDirectory( aTmpName3 );
- }
-
- // test code.
- void setPos_001( )
- {
- ::osl::File testFile( aTmpName4 );
- sal_Char buffer_read[2];
-
- nError1 = testFile.open( osl_File_OpenFlag_Read | osl_File_OpenFlag_Write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.setPos( osl_Pos_Absolut, 26 );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.read( buffer_read, 1, nCount_read );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for setPos function: test for osl_Pos_Absolut, set the position to 26, test if the 26th char in file is correct",
- buffer_read[0] == pBuffer_Char[26] );
- }
-
- void setPos_002( )
- {
- ::osl::File testFile( aTmpName4 );
- sal_Char buffer_read[2];
-
- nError1 = testFile.open( osl_File_OpenFlag_Read | osl_File_OpenFlag_Write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.setPos( osl_Pos_Absolut, sizeof( pBuffer_Char ) - 2 );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.setPos( osl_Pos_Current, 0);
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.read( buffer_read, 1, nCount_read );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for setPos function: test for osl_Pos_Current, set the position to end, test if the ( end -1 ) char in file is correct",
- buffer_read[0] == pBuffer_Char[sizeof( pBuffer_Char ) - 2] );
- }
-
- void setPos_003( )
- {
- ::osl::File testFile( aTmpName4 );
- sal_Char buffer_read[2];
-
- nError1 = testFile.open( osl_File_OpenFlag_Read | osl_File_OpenFlag_Write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- //the file size is smaller than 100
- nError1 = testFile.setPos( osl_Pos_End, -100 );
- CPPUNIT_ASSERT_MESSAGE( "should return error", ::osl::FileBase::E_INVAL == nError1 );
-
- nError1 = testFile.setPos( osl_Pos_End, -53 );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.read( buffer_read, 1, nCount_read );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for setPos function: test for osl_Pos_End, set the position to end, test if the first char in file is correct",
- buffer_read[0] == pBuffer_Char[0] );
- }
-
- CPPUNIT_TEST_SUITE( setPos );
- CPPUNIT_TEST( setPos_001 );
- CPPUNIT_TEST( setPos_002 );
- CPPUNIT_TEST( setPos_003 );
- CPPUNIT_TEST_SUITE_END( );
- };// class setPos
-
- //---------------------------------------------------------------------
- // testing the method
- // inline RC getPos( sal_uInt64& uPos )
- //---------------------------------------------------------------------
- class getPos : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1;
- sal_uInt64 nCount_write, nCount_read;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempfile in $TEMP/tmpdir/tmpname.
- createTestDirectory( aTmpName3 );
- createTestFile( aTmpName4 );
-
- //write chars into the file.
- ::osl::File testFile( aTmpName4 );
-
- nError1 = testFile.open( osl_File_OpenFlag_Write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.write( pBuffer_Char, sizeof( pBuffer_Char ), nCount_write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- }
-
- void tearDown( )
- {
- // remove the tempfile in $TEMP/tmpdir/tmpname.
- deleteTestFile( aTmpName4 );
- deleteTestDirectory( aTmpName3 );
- }
-
- // test code.
- void getPos_001( )
- {
- ::osl::File testFile( aTmpName4 );
- sal_uInt64 nFilePointer;
-
- nError1 = testFile.getPos( nFilePointer );
- CPPUNIT_ASSERT( ::osl::FileBase::E_INVAL == nError1 );
-
- nError1 = testFile.open( osl_File_OpenFlag_Read | osl_File_OpenFlag_Write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- nError1 = testFile.setPos( osl_Pos_Absolut, 26 );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.getPos( nFilePointer );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- nError1 = testFile.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getPos function: set the position to 26, get position and check if it is right",
- 26 == nFilePointer );
- }
-
- CPPUNIT_TEST_SUITE( getPos );
- CPPUNIT_TEST( getPos_001 );
- CPPUNIT_TEST_SUITE_END( );
- };// class getPos
-
-
- //---------------------------------------------------------------------
- // testing the method
- // inline RC isEndOfFile( sal_Bool *pIsEOF )
- //---------------------------------------------------------------------
- class isEndOfFile : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1;
- sal_uInt64 nCount_write, nCount_read;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempfile in $TEMP/tmpdir/tmpname.
- createTestDirectory( aTmpName3 );
- createTestFile( aTmpName4 );
-
- //write chars into the file.
- ::osl::File testFile( aTmpName4 );
-
- nError1 = testFile.open( osl_File_OpenFlag_Write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.write( pBuffer_Char, sizeof( pBuffer_Char ), nCount_write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- }
-
- void tearDown( )
- {
- // remove the tempfile in $TEMP/tmpdir/tmpname.
- deleteTestFile( aTmpName4 );
- deleteTestDirectory( aTmpName3 );
- }
-
- // test code.
- void isEndOfFile_001( )
- {
- ::osl::File testFile( aTmpName4 );
- sal_Bool bEOF = sal_False;
- sal_Bool *pEOF = &bEOF;
-
-
- nError1 = testFile.open( osl_File_OpenFlag_Read | osl_File_OpenFlag_Write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- nError1 = testFile.setPos( osl_Pos_End, 0 );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.isEndOfFile( pEOF );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- nError1 = testFile.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for isEndOfFile function: set the position to end, check if reach end",
- sal_True == *pEOF );
- }
-
- void isEndOfFile_002( )
- {
- ::osl::File testFile( aTmpName4 );
- sal_Bool bEOF = sal_False;
- sal_Bool *pEOF = &bEOF;
- sal_uInt64 nFilePointer = 0;
-
- nError1 = testFile.open( osl_File_OpenFlag_Read | osl_File_OpenFlag_Write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- nError1 = testFile.setPos( osl_Pos_Absolut, 0 );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- *pEOF = sal_False;
- while ( !( *pEOF ) )
- {
- nError1 = testFile.isEndOfFile( pEOF );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.setPos( osl_Pos_Current, 1 );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- }
- nError1 = testFile.getPos( nFilePointer );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- nError1 = testFile.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for isEndOfFile function: use isEndOfFile to move pointer step by step",
- sizeof( pBuffer_Char ) + 1 == nFilePointer );
- }
- CPPUNIT_TEST_SUITE( isEndOfFile );
- CPPUNIT_TEST( isEndOfFile_001 );
- CPPUNIT_TEST( isEndOfFile_002 );
- CPPUNIT_TEST_SUITE_END( );
- };// class isEndOfFile
-
-
- //---------------------------------------------------------------------
- // testing the method
- // inline RC setSize( sal_uInt64 uSize )
- //---------------------------------------------------------------------
- class setSize : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1;
- sal_uInt64 nCount_write, nCount_read;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempfile in $TEMP/tmpdir/tmpname.
- createTestDirectory( aTmpName3 );
- createTestFile( aTmpName4 );
-
- //write chars into the file.
- ::osl::File testFile( aTmpName4 );
-
- nError1 = testFile.open( osl_File_OpenFlag_Write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.write( pBuffer_Char, sizeof( pBuffer_Char ), nCount_write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- }
-
- void tearDown( )
- {
- // remove the tempfile in $TEMP/tmpdir/tmpname.
- deleteTestFile( aTmpName4 );
- deleteTestDirectory( aTmpName3 );
- }
-
- // test code.
- void setSize_001( )
- {
- ::osl::File testFile( aTmpName4 );
- // sal_Bool bEOF = sal_False;
- // sal_Bool *pEOF = &bEOF;
- sal_uInt64 nFilePointer;
-
-
- nError1 = testFile.open( osl_File_OpenFlag_Read | osl_File_OpenFlag_Write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- //enlarge the file to size of 100;
- nError1 = testFile.setSize( 100 );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- //get the file size;
- nError1 = testFile.setPos( osl_Pos_End, 0 );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.getPos( nFilePointer );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- nError1 = testFile.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for setSize function: enlarge the file ",
- 100 == nFilePointer );
- }
-
- void setSize_002( )
- {
- ::osl::File testFile( aTmpName4 );
- // sal_Bool bEOF = sal_False;
- // sal_Bool *pEOF = &bEOF;
- sal_uInt64 nFilePointer;
-
-
- nError1 = testFile.open( osl_File_OpenFlag_Read | osl_File_OpenFlag_Write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- //enlarge the file to size of 100;
- nError1 = testFile.setSize( 10 );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- //get the file size;
- nError1 = testFile.setPos( osl_Pos_End, 0 );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.getPos( nFilePointer );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- nError1 = testFile.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for setSize function: truncate the file ",
- 10 == nFilePointer );
- }
-
- CPPUNIT_TEST_SUITE( setSize );
- CPPUNIT_TEST( setSize_001 );
- CPPUNIT_TEST( setSize_002 );
- CPPUNIT_TEST_SUITE_END( );
- };// class setSize
-
-
- //---------------------------------------------------------------------
- // testing the method
- // inline RC read( void *pBuffer, sal_uInt64 uBytesRequested, sal_uInt64& rBytesRead )
- //---------------------------------------------------------------------
- class read : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1;
- sal_uInt64 nCount_write, nCount_read;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempfile in $TEMP/tmpdir/tmpname.
- createTestDirectory( aTmpName3 );
- createTestFile( aTmpName4 );
-
- //write chars into the file.
- ::osl::File testFile( aTmpName4 );
-
- nError1 = testFile.open( osl_File_OpenFlag_Write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.write( pBuffer_Char, sizeof( pBuffer_Char ), nCount_write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- }
-
- void tearDown( )
- {
- // remove the tempfile in $TEMP/tmpdir/tmpname.
- deleteTestFile( aTmpName4 );
- deleteTestDirectory( aTmpName3 );
- }
-
- // test code.
- void read_001( )
- {
- ::osl::File testFile( aTmpName4 );
- sal_uInt64 nFilePointer;
- sal_Char buffer_read[10];
-
-
- nError1 = testFile.open( osl_File_OpenFlag_Read | osl_File_OpenFlag_Write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- nError1 = testFile.read( buffer_read, 10, nCount_read );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.getPos( nFilePointer );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- nError1 = testFile.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for read function: read whole content in the file to a buffer",
- ( 10 == nFilePointer ) && ( 0 == strncmp( buffer_read, pBuffer_Char, 10 ) ) );
- }
-
- void read_002( )
- {
- ::osl::File testFile( aTmpName4 );
- sal_uInt64 nFilePointer;
- sal_Char buffer_read[26];
-
-
- nError1 = testFile.open( osl_File_OpenFlag_Read | osl_File_OpenFlag_Write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- nError1 = testFile.setPos( osl_Pos_Absolut, 26 );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.read( buffer_read, 26, nCount_read );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.getPos( nFilePointer );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- nError1 = testFile.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for read function: read from a special positon in the file",
- ( 52 == nFilePointer ) && ( 26 == nCount_read ) && ( 0 == strncmp( buffer_read, &pBuffer_Char[26], 26 ) ) );
- }
-
- CPPUNIT_TEST_SUITE( read );
- CPPUNIT_TEST( read_001 );
- CPPUNIT_TEST( read_002 );
- CPPUNIT_TEST_SUITE_END( );
- };// class read
-
- //---------------------------------------------------------------------
- // testing the method
- // inline RC write(const void *pBuffer, sal_uInt64 uBytesToWrite, sal_uInt64& rBytesWritten)
- //---------------------------------------------------------------------
- class write : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1;
- sal_uInt64 nCount_write, nCount_read;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempfile in $TEMP/tmpname.
- createTestFile( aTmpName6 );
- }
-
- void tearDown( )
- {
- // remove the tempfile in $TEMP/tmpname.
- deleteTestFile( aTmpName6 );
- }
-
- // test code.
- void write_001( )
- {
- ::osl::File testFile( aTmpName6 );
- sal_uInt64 nFilePointer;
- sal_Char buffer_read[10];
-
- nError1 = testFile.open( osl_File_OpenFlag_Read | osl_File_OpenFlag_Write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- //write chars into the file.
- nError1 = testFile.write( pBuffer_Char, 10, nCount_write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- //get the current pointer;
- nError1 = testFile.getPos( nFilePointer );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- //reset pointer to the begining;
- nError1 = testFile.setPos( osl_Pos_Absolut, 0 );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.read( buffer_read, 10, nCount_read );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- nError1 = testFile.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for write function: read whole content in the file to a buffer. Note, buffer size can not smaller than the read size",
- ( 10 == nFilePointer ) &&
- ( 0 == strncmp( buffer_read, pBuffer_Char, 10 ) ) &&
- ( 10 == nCount_write ) );
- }
-
- CPPUNIT_TEST_SUITE( write );
- CPPUNIT_TEST( write_001 );
- CPPUNIT_TEST_SUITE_END( );
- };// class write
-
- //---------------------------------------------------------------------
- // testing the method
- // inline RC readLine( ::rtl::ByteSequence& aSeq )
- //---------------------------------------------------------------------
- class readLine : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1;
- sal_uInt64 nCount_write, nCount_read;
- ::rtl::ByteSequence aSequence;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempfile in $TEMP/tmpname.
- createTestFile( aTmpName6 );
-
- //write some strings into the file.
- ::osl::File testFile( aTmpName6 );
- sal_Char ppStrSeq[3][27] = { "abcde\n",
- "1234567890\n",
- "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- };
-
- nError1 = testFile.open( osl_File_OpenFlag_Write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- for ( int nCount = 0; nCount < 3; nCount++ )
- {
- nError1 = testFile.write( ppStrSeq[nCount], strlen( ppStrSeq[nCount] ), nCount_write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- }
-
- nError1 = testFile.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- }
-
- void tearDown( )
- {
- // remove the tempfile in $TEMP/tmpname.
- deleteTestFile( aTmpName6 );
- }
-
- // test code.
- void readLine_001( )
- {
- ::osl::File testFile( aTmpName6 );
-
- nError1 = testFile.open( osl_File_OpenFlag_Read | osl_File_OpenFlag_Write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.readLine( aSequence );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for readLine function: read the first line of the file.",
- ( ::osl::FileBase::E_None == nError1 ) &&
- ( 0 == strncmp( ( const char * )aSequence.getArray( ), pBuffer_Char, 5 ) ) );
- }
-
- void readLine_002( )
- {
- ::osl::File testFile( aTmpName6 );
- sal_Bool bEOF = sal_False;
- sal_Bool *pEOF = &bEOF;
-
- nError1 = testFile.open( osl_File_OpenFlag_Read | osl_File_OpenFlag_Write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- for ( int nCount = 0; nCount < 3; nCount++ )
- {
- nError1 = testFile.readLine( aSequence );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- }
- nError1 = testFile.isEndOfFile( pEOF );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for readLine function: read three lines of the file and check the file pointer moving.",
- *pEOF &&
- ( 0 == strncmp( ( const char * )aSequence.getArray( ), &pBuffer_Char[26], 26 ) ) );
- }
- CPPUNIT_TEST_SUITE( readLine );
- CPPUNIT_TEST( readLine_001 );
- CPPUNIT_TEST( readLine_002 );
- CPPUNIT_TEST_SUITE_END( );
- };// class readLine
-
- //---------------------------------------------------------------------
- // testing the method
- // inline static RC copy( const ::rtl::OUString& ustrSourceFileURL, const ::rtl::OUString& ustrDestFileURL )
- //---------------------------------------------------------------------
- class copy : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1;
- sal_uInt64 nCount_write, nCount_read;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempfile in $TEMP/tmpdir/tmpname.
- createTestDirectory( aTmpName3 );
- createTestFile( aTmpName4 );
-
- //write chars into the file.
- ::osl::File testFile( aTmpName4 );
-
- nError1 = testFile.open( osl_File_OpenFlag_Write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.write( pBuffer_Char, sizeof( pBuffer_Char ), nCount_write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- }
-
- void tearDown( )
- {
- // remove the tempfile in $TEMP/tmpdir/tmpname.
- deleteTestFile( aTmpName4 );
- deleteTestDirectory( aTmpName3 );
- }
-
- // test code.
- void copy_001( )
- {
- ::osl::File testFile( aTmpName6 );
-
- //copy $TEMP/tmpdir/tmpname to $TEMP/tmpname.
- nError1 = ::osl::File::copy( aTmpName4, aTmpName6 );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- //check
- nError1 = testFile.open( osl_File_OpenFlag_Create );
- deleteTestFile( aTmpName6 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for copy function: copy file to upper directory",
- ::osl::FileBase::E_EXIST == nError1 );
- }
-
- void copy_002( )
- {
- //copy $TEMP/tmpdir/tmpname to $TEMP/tmpdir.
- nError1 = ::osl::File::copy( aTmpName4, aTmpName3 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for copy function: use directory as destination",
- ( ::osl::FileBase::E_ISDIR == nError1 ) ||( ::osl::FileBase::E_ACCES == nError1 ) );
- }
-
- void copy_003( )
- {
- //copy $TEMP/tmpdir/tmpname to $ROOT/tmpname.
- nError1 = ::osl::File::copy( aTmpName4, aTmpName7 );
-#if defined (WNT )
- nError1 = ::osl::FileBase::E_ACCES; /// for Windows, c:/ is writtenable any way.
- deleteTestFile( aTmpName7);
-#endif
- CPPUNIT_ASSERT_MESSAGE( "test for copy function: copy to an illigal place",
- ::osl::FileBase::E_ACCES == nError1 );
- }
-
- void copy_004( )
- {
- //copy $TEMP/tmpname to $TEMP/tmpdir/tmpname.
- nError1 = ::osl::File::copy( aTmpName6, aTmpName4 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for copy function: copy a not exist file",
- ::osl::FileBase::E_NOENT == nError1 );
- }
-
- void copy_005( )
- {
- //copy $TEMP/tmpname to $TEMP/system.path using system path.
- nError1 = ::osl::File::copy( aTmpName6, aSysPath1 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for copy function: copy a file using system file path",
- ::osl::FileBase::E_INVAL == nError1 );
- }
- void copy_006( )
- {
- createTestFile( aTmpName6 );
- File tmpFile( aTmpName6 );
- FileBase::RC err = tmpFile.open( osl_File_OpenFlag_Write | osl_File_OpenFlag_Read );
- (void)err;
- tmpFile.setSize( 200 );
- tmpFile.close();
- //copy to new path
- nError1 = ::osl::File::copy( aTmpName6, aTmpName4 );
- CPPUNIT_ASSERT( nError1 == FileBase::E_None );
-
- //check if is the new file
- File newFile( aTmpName4 );
- newFile.open( osl_File_OpenFlag_Write | osl_File_OpenFlag_Read );
- nError1 = newFile.setPos( osl_Pos_End, 0 );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- sal_uInt64 nFilePointer;
- nError1 = newFile.getPos( nFilePointer );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- newFile.close( );
- deleteTestFile( aTmpName6 );
- CPPUNIT_ASSERT_MESSAGE( "test for copy function: the dest file exist",
- nFilePointer == 200 );
- }
- //copyLink has not been impletmented yet
- void copy_007( )
- {
-#if ( defined UNX )
-
- CPPUNIT_ASSERT_MESSAGE( "test for copy function: source file is link file",
- ::osl::FileBase::E_INVAL == nError1 );
-#endif
- }
-
- CPPUNIT_TEST_SUITE( copy );
- CPPUNIT_TEST( copy_001 );
- CPPUNIT_TEST( copy_002 );
- CPPUNIT_TEST( copy_003 );
- CPPUNIT_TEST( copy_004 );
- CPPUNIT_TEST( copy_005 );
- CPPUNIT_TEST( copy_006 );
- CPPUNIT_TEST_SUITE_END( );
- };// class copy
-
- //---------------------------------------------------------------------
- // testing the method
- // inline static RC move( const ::rtl::OUString& ustrSourceFileURL, const ::rtl::OUString& ustrDestFileURL )
- //---------------------------------------------------------------------
- class move : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1, nError2;
- sal_uInt64 nCount_write, nCount_read;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempfile in $TEMP/tmpdir/tmpname.
- createTestDirectory( aTmpName3 );
- createTestFile( aTmpName4 );
-
- //write chars into the file.
- ::osl::File testFile( aTmpName4 );
-
- nError1 = testFile.open( osl_File_OpenFlag_Write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.write( pBuffer_Char, sizeof( pBuffer_Char ), nCount_write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- }
-
- void tearDown( )
- {
- // remove the tempfile in $TEMP/tmpdir/tmpname.
- deleteTestFile( aTmpName4 );
- deleteTestDirectory( aTmpName3 );
- }
-
- // test code.
- void move_001( )
- {
- //rename $TEMP/tmpdir/tmpname to $TEMP/canonical.name.
- nError1 = ::osl::File::move( aTmpName4, aCanURL1 );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- //check
- ::osl::File testFile( aCanURL1 );
- nError2 = testFile.open( osl_File_OpenFlag_Create );
- deleteTestFile( aCanURL1 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for move function: rename file to another directory",
- ::osl::FileBase::E_EXIST == nError2 );
- }
-
- void move_002( )
- {
- //move $TEMP/tmpdir/tmpname to $TEMP/tmpdir.
- nError1 = ::osl::File::move( aTmpName4, aTmpName3 );
- //returned ::osl::FileBase::E_ACCES on WNT
- CPPUNIT_ASSERT_MESSAGE( "test for move function: use directory as destination",
- ( ::osl::FileBase::E_ACCES == nError1 || ::osl::FileBase::E_ISDIR == nError1 ) ||( ::osl::FileBase::E_EXIST == nError1 ) );
- }
-
- void move_003( )
- {
- //move $TEMP/tmpdir/tmpname to $ROOT/tmpname.
- nError1 = ::osl::File::move( aTmpName4, aTmpName7 );
-#if defined (WNT )
- nError1 = ::osl::FileBase::E_ACCES; /// for Windows, c:/ is writtenable any way.
- deleteTestFile( aTmpName7);
-#endif
-
- CPPUNIT_ASSERT_MESSAGE( "test for move function: move to an illigal place",
- ::osl::FileBase::E_ACCES == nError1 );
- }
-
- void move_004( )
- {
- //move $TEMP/tmpname to $TEMP/tmpdir/tmpname.
- nError1 = ::osl::File::move( aTmpName6, aTmpName4 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for move function: move a not exist file",
- ::osl::FileBase::E_NOENT == nError1 );
- }
-
- void move_005( )
- {
- //move $TEMP/tmpname to $TEMP/system.path using system path.
- nError1 = ::osl::File::move( aTmpName6, aSysPath1 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for move function: move a file using system file",
- ::osl::FileBase::E_INVAL == nError1 );
- }
-
- void move_006( )
- {
- //move directory $TEMP/tmpname to $TEMP/tmpdir/tmpname.
- createTestDirectory( aTmpName6 );
- nError1 = ::osl::File::move( aTmpName6, aTmpName4 );
- //move file $TEMP/tmpdir/tmpname to $TEMP/tmpname
- nError2 = ::osl::File::move( aTmpName4, aTmpName6 );
- deleteTestDirectory( aTmpName6 );
-#if defined ( WNT )
- deleteTestDirectory( aTmpName4 );// in Windows, it can be moved!!!!! this is only for not influence the following test.
- deleteTestFile( aTmpName6 );
- nError1 = ::osl::FileBase::E_NOTDIR;
- nError2 = ::osl::FileBase::E_ISDIR;
-#endif
- CPPUNIT_ASSERT_MESSAGE( "test for move function: move a directory to an exist file with same name, did not pass in (W32)",
- ::osl::FileBase::E_NOTDIR == nError1 && ::osl::FileBase::E_ISDIR == nError2 );
- }
-
- void move_007( )
- {
- //create directory $TEMP/tmpname.
- createTestDirectory( aTmpName6 );
- //move directory $TEMP/tmpdir to $TEMP/tmpname/tmpdir
- nError1 = ::osl::File::move( aTmpName3, aTmpName8 );
- //check
- nError2 = ::osl::Directory::create( aTmpName8 );
- ::osl::File::move( aTmpName8, aTmpName3 );
- deleteTestDirectory( aTmpName6 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for move function: move a directory to an exist file with same name",
- (::osl::FileBase::E_None == nError1 ) &&
- (::osl::FileBase::E_EXIST == nError2 ) );
- }
- // oldpath and newpath are not on the same filesystem.EXDEV,no such error no on Solaris, only on linux
- void move_008( )
- {
- CPPUNIT_ASSERT_MESSAGE( "oldpath and newpath are not on the same filesystem, should error returns",
- ::osl::FileBase::E_None == nError1 );
- }
- //bugid# 115420, after the bug fix, add the case
- void move_009( )
- {
- //create directory $TEMP/tmpname.
- createTestDirectory( aTmpName6 );
- //create directory $TEMP/tmpname/tmpdir
- createTestDirectory( aTmpName8 );
- //move directory $TEMP/tmpname to $TEMP/tmpname/tmpdir/tmpname
- rtl::OUString newName = aTmpName8 + OUString(RTL_CONSTASCII_USTRINGPARAM("/tmpname"));
- nError1 = ::osl::File::move( aTmpName3, newName );
- //deleteTestDirectory( newName + OUString(RTL_CONSTASCII_USTRINGPARAM("/tmpname")) );
- //deleteTestDirectory( newName );
- deleteTestDirectory( aTmpName8 );
- deleteTestDirectory( aTmpName6 );
- CPPUNIT_ASSERT_MESSAGE( "test for move function: move a directory to it's subdirectory",
- ::osl::FileBase::E_None != nError1 );
- }
-
- CPPUNIT_TEST_SUITE( move );
- CPPUNIT_TEST( move_001 );
- CPPUNIT_TEST( move_002 );
- CPPUNIT_TEST( move_003 );
- CPPUNIT_TEST( move_004 );
- CPPUNIT_TEST( move_005 );
- CPPUNIT_TEST( move_006 );
- CPPUNIT_TEST( move_007 );
- // CPPUNIT_TEST( move_008 );
- //CPPUNIT_TEST( move_009 );
- CPPUNIT_TEST_SUITE_END( );
- };// class move
-
-
- //---------------------------------------------------------------------
- // testing the method
- // inline static RC remove( const ::rtl::OUString& ustrFileURL )
- //---------------------------------------------------------------------
- class remove : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1, nError2;
- sal_uInt64 nCount_write, nCount_read;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempfile in $TEMP/tmpdir/tmpname.
- createTestDirectory( aTmpName3 );
- createTestFile( aTmpName4 );
-
- //write chars into the file.
- ::osl::File testFile( aTmpName4 );
-
- nError1 = testFile.open( osl_File_OpenFlag_Write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.write( pBuffer_Char, sizeof( pBuffer_Char ), nCount_write );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = testFile.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- }
-
- void tearDown( )
- {
- // remove the tempfile in $TEMP/tmpdir/tmpname.
- deleteTestFile( aTmpName4 );
- deleteTestDirectory( aTmpName3 );
- }
-
- // test code.
- void remove_001( )
- {
- //remove $TEMP/tmpdir/tmpname.
- nError1 = ::osl::File::remove( aTmpName4 );
- //check
- ::osl::File testFile( aTmpName4 );
- nError2 = testFile.open( osl_File_OpenFlag_Create );
-
- CPPUNIT_ASSERT_MESSAGE( "test for remove function: remove a file",
- ( ::osl::FileBase::E_None == nError1 ) &&
- ( ::osl::FileBase::E_EXIST != nError2 ) );
- }
-
- void remove_002( )
- {
- //remove $TEMP/tmpname.
- nError1 = ::osl::File::remove( aTmpName6 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for remove function: remove a file not exist",
- ( ::osl::FileBase::E_NOENT == nError1 ) );
- }
-
- void remove_003( )
- {
- //remove $TEMP/system/path.
- nError1 = ::osl::File::remove( aSysPath2 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for remove function: removing a file not using full qualified URL",
- ( ::osl::FileBase::E_INVAL == nError1 ) );
- }
-
- void remove_004( )
- {
- //remove $TEMP/tmpdir.
- nError1 = ::osl::File::remove( aTmpName3 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for remove function: remove a directory",
- ( ::osl::FileBase::E_ISDIR == nError1 ) || ( ::osl::FileBase::E_ACCES == nError1 ));
- }
-
- CPPUNIT_TEST_SUITE( remove );
- CPPUNIT_TEST( remove_001 );
- CPPUNIT_TEST( remove_002 );
- CPPUNIT_TEST( remove_003 );
- CPPUNIT_TEST( remove_004 );
- CPPUNIT_TEST_SUITE_END( );
- };// class remove
-
-
- //---------------------------------------------------------------------
- // testing the method
- // inline static RC setAttributes( const ::rtl::OUString& ustrFileURL, sal_uInt64 uAttributes )
- //---------------------------------------------------------------------
- class setAttributes : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1, nError2;
- ::osl::DirectoryItem rItem, rItem_hidden;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempfile in $TEMP/tmpdir/tmpname.
- createTestFile( aTmpName6 );
- }
-
- void tearDown( )
- {
- // remove the tempfile in $TEMP/tmpdir/tmpname.
- deleteTestFile( aTmpName6 );
- }
-
- // test code.
- void setAttributes_001( )
- {
- //on windows, only can set 2 attributes: osl_File_Attribute_ReadOnly, osl_File_Attribute_Hidden
-#ifdef UNX
- //set the file to readonly
- nError2 = ::osl::File::setAttributes( aTmpName6, osl_File_Attribute_ReadOnly | osl_File_Attribute_GrpRead | osl_File_Attribute_OwnRead | osl_File_Attribute_OthRead );
- CPPUNIT_ASSERT( nError2 == FileBase::E_None);
- nError1 = ::osl::DirectoryItem::get( aTmpName6, rItem );
- CPPUNIT_ASSERT( nError1 == FileBase::E_None);
- //get the file attributes
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_Attributes );
- nError1 = rItem.getFileStatus( rFileStatus );
- CPPUNIT_ASSERT( nError1 == FileBase::E_None );
-
- CPPUNIT_ASSERT_MESSAGE( "test for setAttributes function: set file attributes and get it to verify.",
- ( osl_File_Attribute_ReadOnly | osl_File_Attribute_GrpRead | osl_File_Attribute_OwnRead | osl_File_Attribute_OthRead ) ==
- rFileStatus.getAttributes( ) );
-#else
- //please see GetFileAttributes
- nError2 = ::osl::File::setAttributes( aTmpName6, osl_File_Attribute_ReadOnly );
- CPPUNIT_ASSERT( nError2 == FileBase::E_None);
- nError1 = ::osl::DirectoryItem::get( aTmpName6, rItem );
- CPPUNIT_ASSERT( nError1 == FileBase::E_None);
- //get the file attributes
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_Attributes );
- nError1 = rItem.getFileStatus( rFileStatus );
- CPPUNIT_ASSERT( nError1 == FileBase::E_None );
- //here the file has 2 Attributes: FILE_ATTRIBUTE_READONLY and FILE_ATTRIBUTE_NORMAL,
- // but FILE_ATTRIBUTE_NORMAL is valid only if used alone, so this is maybe a bug
- /*::rtl::OString aString = ::rtl::OUStringToOString( aTmpName6, RTL_TEXTENCODING_ASCII_US );
- DWORD dwFileAttributes = GetFileAttributes( aString.getStr( ) );
- if (dwFileAttributes & FILE_ATTRIBUTE_NORMAL)
- printf("has normal attribute");
- if (dwFileAttributes & FILE_ATTRIBUTE_READONLY)
- printf("has readonly attribute");
- */
- CPPUNIT_ASSERT_MESSAGE( "test for setAttributes function: set file attributes READONLY and get it to verify.",
- (osl_File_Attribute_ReadOnly & rFileStatus.getAttributes( )) != 0 );
-#endif
- }
- void setAttributes_002( )
- {
- //on UNX, can not set hidden attribute to file, rename file can set the attribute
-#ifdef WNT
- //set the file to hidden
- nError2 = ::osl::File::setAttributes( aTmpName6, osl_File_Attribute_Hidden);
-
- CPPUNIT_ASSERT( nError2 == FileBase::E_None);
- nError1 = ::osl::DirectoryItem::get( aTmpName6, rItem );
- CPPUNIT_ASSERT( nError1 == FileBase::E_None);
- //get the file attributes
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_Attributes );
- nError1 = rItem.getFileStatus( rFileStatus );
- CPPUNIT_ASSERT( nError1 == FileBase::E_None );
-
- CPPUNIT_ASSERT_MESSAGE( "test for setAttributes function: set file attributes and get it to verify.",
- (osl_File_Attribute_Hidden & rFileStatus.getAttributes( )) != 0 );
-#endif
- }
-
- CPPUNIT_TEST_SUITE( setAttributes );
- CPPUNIT_TEST( setAttributes_001 );
- CPPUNIT_TEST( setAttributes_002 );
- CPPUNIT_TEST_SUITE_END( );
- };// class setAttributes
-
-
- //---------------------------------------------------------------------
- // testing the method
- // inline static RC setTime(
- // const ::rtl::OUString& ustrFileURL,
- // const TimeValue& rCreationTime,
- // const TimeValue& rLastAccessTime,
- // const TimeValue& rLastWriteTime )
- //---------------------------------------------------------------------
- class setTime : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1, nError2;
- ::osl::DirectoryItem rItem;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempfile in $TEMP/tmpdir/tmpname.
- createTestFile( aTmpName6 );
- }
-
- void tearDown( )
- {
- // remove the tempfile in $TEMP/tmpdir/tmpname.
- deleteTestFile( aTmpName6 );
- }
-
- // test code.
- void setTime_001( )
- {
- TimeValue *pTV_current = NULL;
- CPPUNIT_ASSERT( ( pTV_current = ( TimeValue* )malloc( sizeof( TimeValue ) ) ) != NULL );
- TimeValue *pTV_creation = NULL;
- CPPUNIT_ASSERT( ( pTV_creation = ( TimeValue* )malloc( sizeof( TimeValue ) ) ) != NULL );
- TimeValue *pTV_access = NULL;
- CPPUNIT_ASSERT( ( pTV_access = ( TimeValue* )malloc( sizeof( TimeValue ) ) ) != NULL );
- TimeValue *pTV_modify = NULL;
- CPPUNIT_ASSERT( ( pTV_modify = ( TimeValue* )malloc( sizeof( TimeValue ) ) ) != NULL );
-
- //get current time
- sal_Bool bOk = osl_getSystemTime( pTV_current );
- CPPUNIT_ASSERT( sal_True == bOk );
-
- //set the file time
- nError2 = ::osl::File::setTime( aTmpName6, *pTV_current, *pTV_current, *pTV_current );
- CPPUNIT_ASSERT_MESSAGE( errorToStr( nError2 ).getStr(), nError2 == FileBase::E_None);
-
- //get the file access time, creation time, modify time
- nError1 = ::osl::DirectoryItem::get( aTmpName6, rItem );
- CPPUNIT_ASSERT_MESSAGE( errorToStr( nError1 ).getStr(), nError1 == FileBase::E_None);
-
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_AccessTime );
- nError1 = rItem.getFileStatus( rFileStatus );
- CPPUNIT_ASSERT_MESSAGE( errorToStr( nError1 ).getStr(),nError1 == FileBase::E_None );
- *pTV_access = rFileStatus.getAccessTime( );
-
- ::osl::FileStatus rFileStatus1( osl_FileStatus_Mask_CreationTime );
- nError1 = rItem.getFileStatus( rFileStatus1 );
- CPPUNIT_ASSERT_MESSAGE( errorToStr( nError1 ).getStr(), nError1 == FileBase::E_None );
- *pTV_creation = rFileStatus1.getCreationTime( );
-
- ::osl::FileStatus rFileStatus2( osl_FileStatus_Mask_ModifyTime );
- nError1 = rItem.getFileStatus( rFileStatus2 );
- CPPUNIT_ASSERT_MESSAGE( errorToStr( nError1 ).getStr(), nError1 == FileBase::E_None );
- *pTV_modify = rFileStatus2.getModifyTime( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for setTime function: set access time then get it. time precision is still a problem for it cut off the nanosec.",
- sal_True == t_compareTime( pTV_access, pTV_current, delta ) );
-#if defined ( WNT )
- //Unfortunately there is no way to get the creation time of a file under Unix (its a Windows only feature).
- //That means the flag osl_FileStatus_Mask_CreationTime should be deprecated under Unix.
- CPPUNIT_ASSERT_MESSAGE( "test for setTime function: set creation time then get it. ",
- sal_True == t_compareTime( pTV_creation, pTV_current, delta ) ) ;
-#endif
- CPPUNIT_ASSERT_MESSAGE( "test for setTime function: set modify time then get it. ",
- sal_True == t_compareTime( pTV_modify, pTV_current, delta ) );
- free( pTV_current );
- free( pTV_creation );
- free( pTV_access );
- free( pTV_modify );
- }
-
- CPPUNIT_TEST_SUITE( setTime );
- CPPUNIT_TEST( setTime_001 );
- CPPUNIT_TEST_SUITE_END( );
- };// class setTime
-
- //---------------------------------------------------------------------
- // testing the method
- // inline static RC sync()
- //---------------------------------------------------------------------
- class sync : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1, nError2;
- ::osl::DirectoryItem rItem;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempfile in $TEMP/tmpdir/tmpname.
- createTestFile( aTmpName6 );
-
- }
-
- void tearDown( )
- {
- // remove the tempfile in $TEMP/tmpdir/tmpname.
- deleteTestFile( aTmpName6 );
- }
-
- // test case: if The file is located on a read only file system.
- void sync_001( )
- {
-#ifdef UNX
- nError1 = ::osl::DirectoryItem::get( aTmpName6, rItem );
- CPPUNIT_ASSERT( nError1 == FileBase::E_None);
-
- File tmp_file( aTmpName6 );
- FileBase::RC err = tmp_file.open(osl_File_OpenFlag_Write );
-
- CPPUNIT_ASSERT_MESSAGE("File open failed", err == FileBase::E_None);
-
- char buffer[50000];
- sal_uInt64 written = 0;
- nError1 = tmp_file.write((void*)buffer, sizeof(buffer), written);
- CPPUNIT_ASSERT_MESSAGE("write failed!", nError1 == FileBase::E_None);
-
- //set the file to readonly
- nError2 = ::osl::File::setAttributes( aTmpName6, osl_File_Attribute_ReadOnly | osl_File_Attribute_GrpRead | osl_File_Attribute_OwnRead | osl_File_Attribute_OthRead );
- CPPUNIT_ASSERT( nError2 == FileBase::E_None);
-
- nError2 = tmp_file.sync();
-
- CPPUNIT_ASSERT_MESSAGE("can not sync to readonly file!", nError2 == FileBase::E_None);
-
- tmp_file.close();
-#endif
- }
- //test case:no enough space, how to create such case???see test_cpy_wrt_file.cxx::test_osl_writeFile
-
-
-
- CPPUNIT_TEST_SUITE( sync );
- CPPUNIT_TEST( sync_001 );
- CPPUNIT_TEST_SUITE_END( );
- };// class setTime
-
- // -----------------------------------------------------------------------------
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_File::ctors, "osl_File" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_File::open, "osl_File" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_File::close, "osl_File" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_File::setPos, "osl_File" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_File::getPos, "osl_File" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_File::isEndOfFile, "osl_File" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_File::setSize, "osl_File" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_File::read, "osl_File" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_File::write, "osl_File" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_File::readLine, "osl_File" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_File::copy, "osl_File" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_File::move, "osl_File" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_File::remove, "osl_File" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_File::setAttributes, "osl_File" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_File::setTime, "osl_File" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_File::sync, "osl_File" );
-
-}// namespace osl_File
-
-
-//------------------------------------------------------------------------
-// Beginning of the test cases for DirectoryItem class
-//------------------------------------------------------------------------
-namespace osl_DirectoryItem
-{
- //---------------------------------------------------------------------
- // testing the method
- // DirectoryItem(): _pData( NULL )
- //---------------------------------------------------------------------
- class ctors : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1, nError2;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempfile in $TEMP/tmpname.
- createTestFile( aTmpName6 );
- }
-
- void tearDown( )
- {
- // remove the tempfile in $TEMP/tmpname.
- deleteTestFile( aTmpName6 );
- }
-
- // test code.
- void ctors_001( )
- {
- ::osl::File testFile( aTmpName6 );
- ::osl::DirectoryItem rItem; //constructor
-
- //get the DirectoryItem.
- nError1 = ::osl::DirectoryItem::get( aTmpName6, rItem );
- CPPUNIT_ASSERT( FileBase::E_None == nError1 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for ctors function: initialize a new instance of DirectoryItem and get an item to check.",
- ::osl::FileBase::E_None == nError1 );
- }
-
- CPPUNIT_TEST_SUITE( ctors );
- CPPUNIT_TEST( ctors_001 );
- CPPUNIT_TEST_SUITE_END( );
- };// class ctors
-
- //---------------------------------------------------------------------
- // testing the method
- // DirectoryItem( const DirectoryItem& rItem ): _pData( rItem._pData)
- //---------------------------------------------------------------------
- class copy_assin_Ctors : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1, nError2;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempfile in $TEMP/tmpname.
- createTestFile( aTmpName6 );
- }
-
- void tearDown( )
- {
- // remove the tempfile in $TEMP/tmpname.
- deleteTestFile( aTmpName6 );
- }
-
- // test code.
- void copy_assin_Ctors_001( )
- {
- ::osl::DirectoryItem rItem; //constructor
- //get the DirectoryItem.
- nError1 = ::osl::DirectoryItem::get( aTmpName6, rItem );
- CPPUNIT_ASSERT( FileBase::E_None == nError1 );
-
- ::osl::DirectoryItem copyItem( rItem ); //copy constructor
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_FileName );
- nError1 = copyItem.getFileStatus( rFileStatus );
- CPPUNIT_ASSERT( nError1 == FileBase::E_None );
-
- CPPUNIT_ASSERT_MESSAGE( "test for copy_assin_Ctors function: use copy constructor to get an item and check filename.",
- ( sal_True == compareFileName( rFileStatus.getFileName( ), aTmpName2 ) ) );
- }
-
- void copy_assin_Ctors_002( )
- {
- ::osl::DirectoryItem rItem; //constructor
- //get the DirectoryItem.
- nError1 = ::osl::DirectoryItem::get( aTmpName6, rItem );
- CPPUNIT_ASSERT( FileBase::E_None == nError1 );
-
- ::osl::DirectoryItem copyItem;
- copyItem = rItem; //assinment operator
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_FileName );
- nError1 = copyItem.getFileStatus( rFileStatus );
- CPPUNIT_ASSERT( nError1 == FileBase::E_None );
-
- CPPUNIT_ASSERT_MESSAGE( "test for copy_assin_Ctors function: test assinment operator here since it is same as copy constructor in test way.",
- ( sal_True == compareFileName( rFileStatus.getFileName( ), aTmpName2 ) ) );
- }
-
- CPPUNIT_TEST_SUITE( copy_assin_Ctors );
- CPPUNIT_TEST( copy_assin_Ctors_001 );
- CPPUNIT_TEST( copy_assin_Ctors_002 );
- CPPUNIT_TEST_SUITE_END( );
- };// class copy_assin_Ctors
-
- //---------------------------------------------------------------------
- // testing the method
- // inline sal_Bool is()
- //---------------------------------------------------------------------
- class is : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1, nError2;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempfile in $TEMP/tmpname.
- createTestFile( aTmpName6 );
- }
-
- void tearDown( )
- {
- // remove the tempfile in $TEMP/tmpname.
- deleteTestFile( aTmpName6 );
- }
-
- // test code.
- void is_001( )
- {
- ::osl::DirectoryItem rItem; //constructor
-
- CPPUNIT_ASSERT_MESSAGE( "test for is function: use an uninitialized instance.",
- !rItem.is( ) );
- }
-
- void is_002( )
- {
- ::osl::DirectoryItem rItem; //constructor
- //get the DirectoryItem.
- nError1 = ::osl::DirectoryItem::get( aTmpName6, rItem );
- CPPUNIT_ASSERT( FileBase::E_None == nError1 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for is function: use an uninitialized instance.",
- ( sal_True == rItem.is( ) ) );
- }
-
- CPPUNIT_TEST_SUITE( is );
- CPPUNIT_TEST( is_001 );
- CPPUNIT_TEST( is_002 );
- CPPUNIT_TEST_SUITE_END( );
- };// class is
-
- //---------------------------------------------------------------------
- // testing the method
- // static inline RC get( const ::rtl::OUString& ustrFileURL, DirectoryItem& rItem )
- //---------------------------------------------------------------------
- class get : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1, nError2;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempfile in $TEMP/tmpname.
- createTestFile( aTmpName6 );
- }
-
- void tearDown( )
- {
- // remove the tempfile in $TEMP/tmpname.
- deleteTestFile( aTmpName6 );
- }
-
- // test code.
- void get_001( )
- {
- ::osl::DirectoryItem rItem; //constructor
- //get the DirectoryItem.
- nError2 = ::osl::DirectoryItem::get( aTmpName6, rItem );
-
- //check the file name
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_FileName );
- nError1 = rItem.getFileStatus( rFileStatus );
- CPPUNIT_ASSERT( nError1 == FileBase::E_None );
-
- CPPUNIT_ASSERT_MESSAGE( "test for get function: use copy constructor to get an item and check filename.",
- ( ::osl::FileBase::E_None == nError2 ) &&
- ( sal_True == compareFileName( rFileStatus.getFileName( ), aTmpName2 ) ) );
- }
-
- void get_002( )
- {
- ::osl::DirectoryItem rItem;
- //get the DirectoryItem.
- nError1 = ::osl::DirectoryItem::get( aSysPath1, rItem );
-
- CPPUNIT_ASSERT_MESSAGE( "test for get function: use a system name instead of a URL.",
- FileBase::E_INVAL == nError1 );
- }
-
- void get_003( )
- {
- ::osl::DirectoryItem rItem;
- //get the DirectoryItem.
- nError1 = ::osl::DirectoryItem::get( aTmpName3, rItem );
-
- CPPUNIT_ASSERT_MESSAGE( "test for get function: use a non existed file URL.",
- FileBase::E_NOENT == nError1 );
- }
-
- CPPUNIT_TEST_SUITE( get );
- CPPUNIT_TEST( get_001 );
- CPPUNIT_TEST( get_002 );
- CPPUNIT_TEST( get_003 );
- CPPUNIT_TEST_SUITE_END( );
- };// class get
-
- //---------------------------------------------------------------------
- // testing the method
- // inline RC getFileStatus( FileStatus& rStatus )
- //---------------------------------------------------------------------
- class getFileStatus : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1, nError2;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempfile in $TEMP/tmpdir/tmpname.
- createTestDirectory( aTmpName3 );
- createTestFile( aTmpName4 );
- }
-
- void tearDown( )
- {
- // remove the tempfile in $TEMP/tmpdir/tmpname.
- deleteTestFile( aTmpName4 );
- deleteTestDirectory( aTmpName3 );
- }
-
- // test code.
- void getFileStatus_001( )
- {
- ::osl::DirectoryItem rItem; //constructor
- //get the DirectoryItem.
- nError1 = ::osl::DirectoryItem::get( aTmpName4, rItem );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- //check the file name
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_FileName );
- nError2 = rItem.getFileStatus( rFileStatus );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getFileStatus function: get file status and check filename",
- ( ::osl::FileBase::E_None == nError2 ) &&
- ( sal_True == compareFileName( rFileStatus.getFileName( ), aTmpName2 ) ) );
- }
-
- void getFileStatus_002( )
- {
- ::osl::DirectoryItem rItem; //constructor
- //get the DirectoryItem.
- nError1 = ::osl::DirectoryItem::get( aTmpName6, rItem );
-
- //check the file name
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_FileName );
- nError2 = rItem.getFileStatus( rFileStatus );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getFileStatus function: file not existed",
- ( ::osl::FileBase::E_INVAL == nError2 ) );
- }
-
- void getFileStatus_003( )
- {
- ::osl::DirectoryItem rItem; //constructor
- //get the DirectoryItem.
- nError1 = ::osl::DirectoryItem::get( aTmpName3, rItem );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- //check the file name
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_FileName );
- nError2 = rItem.getFileStatus( rFileStatus );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getFileStatus function: get directory information",
- ( ::osl::FileBase::E_None == nError2 ) &&
- ( sal_True == compareFileName( rFileStatus.getFileName( ), aTmpName1 ) ) );
- }
-
-
- CPPUNIT_TEST_SUITE( getFileStatus );
- CPPUNIT_TEST( getFileStatus_001 );
- CPPUNIT_TEST( getFileStatus_002 );
- CPPUNIT_TEST( getFileStatus_003 );
- CPPUNIT_TEST_SUITE_END( );
- };// class getFileStatus
-
-
-
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_DirectoryItem::ctors, "osl_DirectoryItem" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_DirectoryItem::copy_assin_Ctors, "osl_DirectoryItem" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_DirectoryItem::is, "osl_DirectoryItem" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_DirectoryItem::get, "osl_DirectoryItem" );
- CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( osl_DirectoryItem::getFileStatus, "osl_DirectoryItem" );
-}// namespace osl_DirectoryItem
-
-//Use to deliberately silence warnings for a deliberate error
-extern "C" void SAL_CALL suppressOslDebugMessage( const sal_Char *, sal_Int32, const sal_Char * )
-{
-}
-
-//------------------------------------------------------------------------
-// Beginning of the test cases for Directory class
-//------------------------------------------------------------------------
-namespace osl_Directory
-{
- //---------------------------------------------------------------------
- // testing the method
- // Directory( const ::rtl::OUString& strPath ): _pData( 0 ), _aPath( strPath )
- //---------------------------------------------------------------------
- class ctors : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1, nError2;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempfile in $TEMP/tmpdir/tmpname.
- createTestDirectory( aTmpName3 );
- createTestFile( aTmpName4 );
- }
-
- void tearDown( )
- {
- // remove the tempfile in $TEMP/tmpdir/tmpname.
- deleteTestFile( aTmpName4 );
- deleteTestDirectory( aTmpName3 );
- // LLA: t_print("tearDown done.\n");
- }
-
- // test code.
- void ctors_001( )
- {
- ::osl::Directory testDirectory( aTmpName3 ); //constructor
-
- //open a directory
- nError1 = testDirectory.open( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- //close a directory
- nError2 = testDirectory.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError2 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for ctors function: create an instance and check open and close",
- ( ::osl::FileBase::E_None == nError1 ) &&
- ( ::osl::FileBase::E_None == nError2 ) );
- }
-
- void ctors_002( )
- {
- ::osl::Directory testDirectory( aTmpName9 ); //constructor
-
- //open a directory
- nError1 = testDirectory.open( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- //close a directory
- nError2 = testDirectory.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError2 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for ctors function: relative URL, :-), it is also worked",
- ( ::osl::FileBase::E_None == nError1 ) &&
- ( ::osl::FileBase::E_None == nError2 ) );
- }
-
- CPPUNIT_TEST_SUITE( ctors );
- CPPUNIT_TEST( ctors_001 );
- CPPUNIT_TEST( ctors_002 );
- CPPUNIT_TEST_SUITE_END( );
- };// class ctors
-
- //---------------------------------------------------------------------
- // testing the method
- // inline RC open()
- //---------------------------------------------------------------------
- class open : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1, nError2;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempfile in $TEMP/tmpdir/tmpname.
- createTestDirectory( aTmpName3 );
- createTestFile( aTmpName4 );
- }
-
- void tearDown( )
- {
- // remove the tempfile in $TEMP/tmpdir/tmpname.
- deleteTestFile( aTmpName4 );
- deleteTestDirectory( aTmpName3 );
- }
-
- // test code.
- void open_001( )
- {
- ::osl::Directory testDirectory( aTmpName3 ); //constructor
-
- //open a directory
- nError1 = testDirectory.open( );
- //check if directory is opened.
- sal_Bool bOk = testDirectory.isOpen( );
- //close a directory
- nError2 = testDirectory.close( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for open function: open a directory and check for open",
- ( sal_True == bOk ) &&
- ( ::osl::FileBase::E_None == nError1 ) &&
- ( ::osl::FileBase::E_None == nError2 ) );
- }
-
- void open_002( )
- {
- ::osl::Directory testDirectory( aTmpName6 ); //constructor
-
- //open a directory
- nError1 = testDirectory.open( );
- if ( ::osl::FileBase::E_None == nError1 )
- {
- nError2 = testDirectory.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError2 );
- }
-
- CPPUNIT_ASSERT_MESSAGE( "test for open function: open a file that is not existed",
- ( ::osl::FileBase::E_NOENT == nError1 ) );
- }
-
- void open_003( )
- {
- ::osl::Directory testDirectory( aUserDirectorySys ); //constructor
-
- //open a directory
- nError1 = testDirectory.open( );
- if ( ::osl::FileBase::E_None == nError1 )
- {
- nError2 = testDirectory.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError2 );
- }
-
- CPPUNIT_ASSERT_MESSAGE( "test for open function: using system path",
- ( ::osl::FileBase::E_INVAL == nError1 ) );
- }
-
- void open_004( )
- {
- ::osl::Directory testDirectory( aTmpName4 ); //constructor
-
- //open a directory
- nError1 = testDirectory.open( );
- if ( ::osl::FileBase::E_None == nError1 )
- {
- nError2 = testDirectory.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError2 );
- }
-
- CPPUNIT_ASSERT_MESSAGE( "test for open function: open a file instead of a directory",
- ( ::osl::FileBase::E_NOTDIR == nError1 ) || ( ::osl::FileBase::E_ACCES ) );
- }
-
- CPPUNIT_TEST_SUITE( open );
- CPPUNIT_TEST( open_001 );
- CPPUNIT_TEST( open_002 );
- CPPUNIT_TEST( open_003 );
- CPPUNIT_TEST( open_004 );
- CPPUNIT_TEST_SUITE_END( );
- };// class open
-
- //---------------------------------------------------------------------
- // testing the method
- // inline sal_Bool isOpen() { return _pData != NULL; };
- //---------------------------------------------------------------------
- class isOpen : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1, nError2;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempfile in $TEMP/tmpdir/tmpname.
- createTestDirectory( aTmpName3 );
- createTestFile( aTmpName4 );
- }
-
- void tearDown( )
- {
- // remove the tempfile in $TEMP/tmpdir/tmpname.
- deleteTestFile( aTmpName4 );
- deleteTestDirectory( aTmpName3 );
- }
-
- // test code.
- void isOpen_001( )
- {
- ::osl::Directory testDirectory( aTmpName3 ); //constructor
-
- //open a directory
- nError1 = testDirectory.open( );
- //check if directory is opened.
- sal_Bool bOk = testDirectory.isOpen( );
- //close a directory
- nError2 = testDirectory.close( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for isOpen function: open a directory and check for open",
- ( sal_True == bOk ) );
- }
-
- void isOpen_002( )
- {
- ::osl::Directory testDirectory( aTmpName3 ); //constructor
-
- //check if directory is opened.
- sal_Bool bOk = testDirectory.isOpen( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for isOpen function: do not open a directory and check for open",
- !( sal_True == bOk ) );
- }
-
- CPPUNIT_TEST_SUITE( isOpen );
- CPPUNIT_TEST( isOpen_001 );
- CPPUNIT_TEST( isOpen_002 );
- CPPUNIT_TEST_SUITE_END( );
- };// class isOpen
-
- //---------------------------------------------------------------------
- // testing the method
- // inline RC close()
- //---------------------------------------------------------------------
- class close : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1, nError2;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempdirectory : $TEMP/tmpdir.
- createTestDirectory( aTmpName3 );
- }
-
- void tearDown( )
- {
- // remove a tempdirectory : $TEMP/tmpdir.
- deleteTestDirectory( aTmpName3 );
- }
-
- // test code.
- void close_001( )
- {
- ::osl::Directory testDirectory( aTmpName3 ); //constructor
-
- //open a directory
- nError1 = testDirectory.open( );
- //close a directory
- nError2 = testDirectory.close( );
- //check if directory is opened.
- sal_Bool bOk = testDirectory.isOpen( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for isOpen function: close a directory and check for open",
- !( sal_True == bOk ) );
- }
-
- void close_002( )
- {
- ::osl::Directory testDirectory( aTmpName3 ); //constructor
-
- //close a directory
- nError1 = testDirectory.close( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for isOpen function: close a not opened directory",
- ( ::osl::FileBase::E_BADF == nError1 ) );
- }
-
-
- CPPUNIT_TEST_SUITE( close );
- CPPUNIT_TEST( close_001 );
- CPPUNIT_TEST( close_002 );
- CPPUNIT_TEST_SUITE_END( );
- };// class close
-
- //---------------------------------------------------------------------
- // testing the method
- // inline RC reset()
- //---------------------------------------------------------------------
- class reset : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1, nError2;
- ::osl::DirectoryItem rItem;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempdirectory : $TEMP/tmpdir.
- createTestDirectory( aTmpName3 );
- // create three files : $TEMP/tmpdir/tmpname, $TEMP/tmpdir/tmpdir, $TEMP/tmpdir/hiddenfile,
- createTestFile( aTmpName3, aTmpName2);
- createTestFile( aTmpName3, aTmpName1);
- createTestFile( aTmpName3, aHidURL1);
- }
-
- void tearDown( )
- {
- // remove three files : $TEMP/tmpdir/tmpname, $TEMP/tmpdir/tmpdir, $TEMP/tmpdir/hiddenfile,
- deleteTestFile( aTmpName3, aHidURL1);
- deleteTestFile( aTmpName3, aTmpName1);
- deleteTestFile( aTmpName3, aTmpName2);
- // remove a tempdirectory : $TEMP/tmpdir.
- deleteTestDirectory( aTmpName3 );
- }
-
- // test code.
- void reset_001( )
- {
- ::osl::Directory testDirectory( aTmpName3 ); //constructor
-
- //open a directory
- nError1 = testDirectory.open( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- //get first Item
- nError1 = testDirectory.getNextItem( rItem, 1 );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- //check the file name of first Item
- ::osl::FileStatus rFileStatusFirst( osl_FileStatus_Mask_FileName );
- nError1 = rItem.getFileStatus( rFileStatusFirst );
-
- //get second Item
- //mindy: nError1 = testDirectory.getNextItem( rItem, 0 );
- //mindy: CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- //reset enumeration
- nError2 = testDirectory.reset( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError2 );
- //get reseted Item, if reset does not work, getNextItem() should return the second Item (aTmpName1)
- nError1 = testDirectory.getNextItem( rItem, 0 );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- //check the file name again
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_FileName );
- nError1 = rItem.getFileStatus( rFileStatus );
- //close a directory
- nError1 = testDirectory.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- sal_Bool bOK1,bOK2,bOK3;
- bOK1 = compareFileName( rFileStatus.getFileName( ), aTmpName2 );
- bOK2 = compareFileName( rFileStatus.getFileName( ), aHidURL1 );
- bOK3 = compareFileName( rFileStatus.getFileName( ), rFileStatusFirst.getFileName( ) );
- CPPUNIT_ASSERT_MESSAGE( "test for reset function: get two directory item, reset it, then get again, check the filename",
- ( ::osl::FileBase::E_None == nError2 ) &&
- ( sal_True == bOK1 || bOK2 || bOK3 ) );
- }
-
- void reset_002( )
- {
- ::osl::Directory testDirectory( aTmpName6 ); //constructor
-
- //close a directory
- nError1 = testDirectory.reset( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for reset function: reset a non existed directory",
- ( ::osl::FileBase::E_NOENT == nError1 ) );
- }
-
-
- void reset_003( )
- {
- ::osl::Directory testDirectory( aTmpName4 ); //constructor
-
- //close a directory
- nError1 = testDirectory.reset( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for reset function: reset a file instead of a directory",
- ( ::osl::FileBase::E_NOTDIR == nError1 ) || ( ::osl::FileBase::E_NOENT == nError1 ) );
- }
-
- void reset_004( )
- {
- ::osl::Directory testDirectory( aUserDirectorySys ); //constructor
-
- //close a directory
- nError1 = testDirectory.reset( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for reset function: use a system path",
- ( ::osl::FileBase::E_INVAL == nError1 ) );
- }
-
- CPPUNIT_TEST_SUITE( reset );
- CPPUNIT_TEST( reset_001 );
- CPPUNIT_TEST( reset_002 );
- CPPUNIT_TEST( reset_003 );
- CPPUNIT_TEST( reset_004 );
- CPPUNIT_TEST_SUITE_END( );
- };// class reset
-
- //---------------------------------------------------------------------
- // testing the method
- // inline RC getNextItem( DirectoryItem& rItem, sal_uInt32 nHint = 0 )
- //---------------------------------------------------------------------
- class getNextItem : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1, nError2;
- ::osl::DirectoryItem rItem;
-
- public:
- // initialization
- void setUp( )
- {
- // create a tempdirectory : $TEMP/tmpdir.
- createTestDirectory( aTmpName3 );
- // create three files : $TEMP/tmpdir/tmpname, $TEMP/tmpdir/tmpdir, $TEMP/tmpdir/hiddenfile,
- createTestFile( aTmpName3, aTmpName2 );
- createTestFile( aTmpName3, aTmpName1 );
- createTestFile( aTmpName3, aHidURL1 );
-
- }
-
- void tearDown( )
- {
- // remove three files : $TEMP/tmpdir/tmpname, $TEMP/tmpdir/tmpdir, $TEMP/tmpdir/hiddenfile,
- deleteTestFile( aTmpName3, aHidURL1 );
- deleteTestFile( aTmpName3, aTmpName1 );
- deleteTestFile( aTmpName3, aTmpName2 );
- // remove a tempdirectory : $TEMP/tmpdir.
- deleteTestDirectory( aTmpName3 );
- }
-
- // test code.
- void getNextItem_001( )
- {
- ::osl::Directory testDirectory( aTmpName3 ); //constructor
-
- //open a directory
- nError1 = testDirectory.open( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- //check the file name
- ::rtl::OUString strFilename;
- sal_Bool bOk1 = sal_False;
- sal_Bool bOk2 = sal_False;
- sal_Bool bOk3 = sal_False;
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_FileName );
- for ( int nCount = 0; nCount < 3; nCount++ )
- {
- //get three Items
- nError1 = testDirectory.getNextItem( rItem, 2 );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- nError1 = rItem.getFileStatus( rFileStatus );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- // a special order is not guaranteed. So any file may occur on any time.
- // But every file name should occur only once.
- if ( bOk1 == sal_False && compareFileName( rFileStatus.getFileName( ), aTmpName1 ) )
- {
- bOk1 = sal_True;
- }
-
- if ( bOk2 == sal_False && compareFileName( rFileStatus.getFileName( ), aTmpName2 ) )
- {
- bOk2 = sal_True;
- }
-
- if ( bOk3 == sal_False && compareFileName( rFileStatus.getFileName( ), aHidURL1 ) )
- {
- bOk3 = sal_True;
- }
- }
-
- //close a directory
- nError1 = testDirectory.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getNextItem function: retrive three items and check their names.",
- ( sal_True == bOk1 ) && ( sal_True == bOk2 ) && ( sal_True == bOk3 ) );
- }
-
- void getNextItem_002( )
- {
- ::osl::Directory testDirectory( aTmpName3 ); //constructor
- //deliberate error, suppress run-time warning
- pfunc_osl_printDetailedDebugMessage pOldDebugMessageFunc = osl_setDetailedDebugMessageFunc( &suppressOslDebugMessage );
- nError1 = testDirectory.getNextItem( rItem );
- osl_setDetailedDebugMessageFunc( pOldDebugMessageFunc );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getNextItem function: retrive an item in a directory which is not opened, also test for nHint's default value.",
- ( ::osl::FileBase::E_INVAL == nError1 ) );
- }
-
- void getNextItem_003( )
- {
- ::osl::Directory testDirectory( aTmpName3 ); //constructor
-
- //open a directory
- nError1 = testDirectory.open( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- for ( int nCount = 0; nCount < 4; nCount++ )
- {
- nError2 = testDirectory.getNextItem( rItem, 3 );
- }
-
- //close a directory
- nError1 = testDirectory.close( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getNextItem function: retrive 4 times in a directory which contain only 3 files.",
- ( ::osl::FileBase::E_NOENT == nError2 ) );
- }
-
- void getNextItem_004( )
- {
- //create a link file(can not on Windows), then check if getNextItem can get it.
-#ifdef UNX
- sal_Bool bLnkOK = sal_False;
- sal_Bool bFoundOK = sal_False;
-
- ::rtl::OUString aUStr_LnkFileSys( aTempDirectorySys ), aUStr_SrcFileSys( aTempDirectorySys );
- ( aUStr_LnkFileSys += aSlashURL ) += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/tmpdir/link.file"));
- ( aUStr_SrcFileSys += aSlashURL ) += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/tmpdir/tmpname"));
-
- ::rtl::OString strLinkFileName, strSrcFileName;
- strLinkFileName = OUStringToOString( aUStr_LnkFileSys, RTL_TEXTENCODING_ASCII_US );
- strSrcFileName = OUStringToOString( aUStr_SrcFileSys, RTL_TEXTENCODING_ASCII_US );
-
- // create a link file and link it to file "/tmp/PID/tmpdir/tmpname"
- sal_Int32 fd = symlink( strSrcFileName.getStr(), strLinkFileName.getStr() );
- CPPUNIT_ASSERT( fd == 0 );
- ::osl::Directory testDirectory( aTmpName3 );
-
- //open a directory
- nError1 = testDirectory.open( );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- ::rtl::OUString aFileName (RTL_CONSTASCII_USTRINGPARAM("link.file"));
-
- while (1) {
- nError1 = testDirectory.getNextItem( rItem, 4 );
- if (::osl::FileBase::E_None == nError1) {
- ::osl::FileStatus rFileStatus( osl_FileStatus_Mask_FileName | osl_FileStatus_Mask_Type );
- rItem.getFileStatus( rFileStatus );
- if ( compareFileName( rFileStatus.getFileName( ), aFileName) == sal_True )
- {
- bFoundOK = sal_True;
- if ( FileStatus::Link == rFileStatus.getFileType( ))
- {
- bLnkOK = sal_True;
- break;
- }
- }
- }
- else
- break;
- };
- fd = std::remove( strLinkFileName.getStr() );
- CPPUNIT_ASSERT_MESSAGE( "remove link file failed", fd == 0 );
- CPPUNIT_ASSERT_MESSAGE( "test for getNextItem function: check if can retrieve the link file name",
- ( bFoundOK == sal_True ) );
- CPPUNIT_ASSERT_MESSAGE( "test for getNextItem function: check if link file has file type link",
- ( bLnkOK == sal_True ) );
-#endif
- }
-
- CPPUNIT_TEST_SUITE( getNextItem );
- CPPUNIT_TEST( getNextItem_001 );
- CPPUNIT_TEST( getNextItem_002 );
- CPPUNIT_TEST( getNextItem_003 );
- CPPUNIT_TEST( getNextItem_004 );
- CPPUNIT_TEST_SUITE_END( );
- };// class getNextItem
-
- //---------------------------------------------------------------------
- // testing the method
- // inline static RC getVolumeInfo( const ::rtl::OUString& ustrDirectoryURL, VolumeInfo& rInfo )
- //---------------------------------------------------------------------
- class getVolumeInfo : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1, nError2;
-
- public:
-
- // test code.
- void checkValidMask(osl::VolumeInfo const& _aVolumeInfo, sal_Int32 _nMask)
- {
- if (_nMask == osl_VolumeInfo_Mask_FileSystemName)
- {
- //get file system name
- ::rtl::OUString aFileSysName( aNullURL );
- aFileSysName = _aVolumeInfo.getFileSystemName( );
-
- sal_Bool bRes2 = compareFileName( aFileSysName, aNullURL );
- CPPUNIT_ASSERT_MESSAGE( "test for getVolumeInfo function: getVolumeInfo of root directory.",
- ( osl::FileBase::E_None == nError1 ) &&
- ( sal_False == bRes2 ) );
- }
- if (_nMask == osl_VolumeInfo_Mask_Attributes)
- {
- sal_Bool b1 = _aVolumeInfo.getRemoteFlag();
- sal_Bool b2 = _aVolumeInfo.getRemoveableFlag();
- sal_Bool b3 = _aVolumeInfo.getCompactDiscFlag();
- sal_Bool b4 = _aVolumeInfo.getFloppyDiskFlag();
- sal_Bool b5 = _aVolumeInfo.getFixedDiskFlag();
- sal_Bool b6 = _aVolumeInfo.getRAMDiskFlag();
-
- rtl::OString sAttr;
- if (b1) sAttr = "Remote";
- if (b2) sAttr += " Removeable";
- if (b3) sAttr += " CDROM";
- if (b4) sAttr += " Floppy";
- if (b5) sAttr += " FixedDisk";
- if (b6) sAttr += " RAMDisk";
-
- printf("Attributes: %s\n", sAttr.getStr() );
- }
- if (_nMask == osl_VolumeInfo_Mask_TotalSpace)
- {
- // within Linux, df / * 1024 bytes is the result
- sal_uInt64 nSize = _aVolumeInfo.getTotalSpace();
- printf("Total space: %"SAL_PRIuUINT64"\n", nSize);
- }
- if (_nMask == osl_VolumeInfo_Mask_UsedSpace)
- {
- sal_uInt64 nSize = _aVolumeInfo.getUsedSpace();
- printf(" Used space: %"SAL_PRIuUINT64"\n", nSize);
- }
- if (_nMask == osl_VolumeInfo_Mask_FreeSpace)
- {
- sal_uInt64 nSize = _aVolumeInfo.getFreeSpace();
- printf(" Free space: %"SAL_PRIuUINT64"\n", nSize);
- }
- if (_nMask == osl_VolumeInfo_Mask_MaxNameLength)
- {
- sal_uInt32 nLength = _aVolumeInfo.getMaxNameLength();
- printf("max name length: %"SAL_PRIuUINT32"\n", nLength);
- }
- if (_nMask == osl_VolumeInfo_Mask_MaxPathLength)
- {
- sal_uInt32 nLength = _aVolumeInfo.getMaxPathLength();
- printf("max path length: %"SAL_PRIuUINT32"\n", nLength);
- }
- if (_nMask == osl_VolumeInfo_Mask_FileSystemCaseHandling)
- {
- bool bIsCase = _aVolumeInfo.isCaseSensitiveFileSystem();
- printf("filesystem case sensitive: %s\n", bIsCase ? "yes" : "no");
- }
- }
-
- void checkVolumeInfo(sal_Int32 _nMask)
- {
- ::osl::VolumeInfo aVolumeInfo( _nMask );
- //call getVolumeInfo here
- nError1 = ::osl::Directory::getVolumeInfo( aVolURL1, aVolumeInfo );
- // LLA: IMHO it's not a bug, if VolumeInfo is not valid, it's a feature
- // LLA: CPPUNIT_ASSERT_MESSAGE("mask is not valid", sal_True == aVolumeInfo.isValid( _nMask ) );
- if (aVolumeInfo.isValid( _nMask))
- {
- checkValidMask(aVolumeInfo, _nMask);
- }
- }
-
-
- void getVolumeInfo_001_1( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_FileSystemName;
- checkVolumeInfo(mask);
- }
- void getVolumeInfo_001_2( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_Attributes;
- checkVolumeInfo(mask);
- }
- void getVolumeInfo_001_3( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_TotalSpace;
- checkVolumeInfo(mask);
- }
- void getVolumeInfo_001_4( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_UsedSpace;
- checkVolumeInfo(mask);
- }
- void getVolumeInfo_001_5( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_FreeSpace;
- checkVolumeInfo(mask);
- }
- void getVolumeInfo_001_6( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_MaxNameLength;
- checkVolumeInfo(mask);
- }
- void getVolumeInfo_001_7( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_MaxPathLength;
- checkVolumeInfo(mask);
- }
- void getVolumeInfo_001_8( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_FileSystemCaseHandling;
- checkVolumeInfo(mask);
- }
-
- void getVolumeInfo_002( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_FileSystemName;
- ::osl::VolumeInfo aVolumeInfo( mask );
- //call getVolumeInfo here
-
- // LLA: rtl::OUString aRootSysURL;
- // LLA: nError1 = osl::File::getFileURLFromSystemPath(aRootSys, aRootSysURL);
- // LLA:
- // LLA: CPPUNIT_ASSERT_MESSAGE( "can't convert root path to file url",
- // LLA: ( osl::FileBase::E_NONE == nError1 ) );
-
- nError1 = ::osl::Directory::getVolumeInfo( aRootSys, aVolumeInfo );
-
- CPPUNIT_ASSERT_MESSAGE( "test for getVolumeInfo function: use system path as parameter.",
- ( osl::FileBase::E_INVAL == nError1 ) );
- }
-
- void getVolumeInfo_003( )
- {
- sal_Int32 mask = osl_VolumeInfo_Mask_FileSystemName;
- ::osl::VolumeInfo aVolumeInfo( mask );
- //call getVolumeInfo here
- nError1 = ::osl::Directory::getVolumeInfo( aTmpName3, aVolumeInfo );
-
-// LLA: in Windows, it reply no error, it did not pass in (W32).
-#if defined(UNX) && !defined(IOS)
- CPPUNIT_ASSERT_MESSAGE( "test for getVolumeInfo function: non-existence test. ",
- ( osl::FileBase::E_NOENT == nError1 ) );
-#endif
- }
-
- CPPUNIT_TEST_SUITE( getVolumeInfo );
- CPPUNIT_TEST( getVolumeInfo_001_1 );
- CPPUNIT_TEST( getVolumeInfo_001_2 );
- CPPUNIT_TEST( getVolumeInfo_001_3 );
- CPPUNIT_TEST( getVolumeInfo_001_4 );
- CPPUNIT_TEST( getVolumeInfo_001_5 );
- CPPUNIT_TEST( getVolumeInfo_001_6 );
- CPPUNIT_TEST( getVolumeInfo_001_7 );
- CPPUNIT_TEST( getVolumeInfo_001_8 );
- CPPUNIT_TEST( getVolumeInfo_002 );
- CPPUNIT_TEST( getVolumeInfo_003 );
- CPPUNIT_TEST_SUITE_END( );
- };// class getVolumeInfo
-
-
- //---------------------------------------------------------------------
- // testing the method
- // inline static RC create( const ::rtl::OUString& ustrDirectoryURL )
- //---------------------------------------------------------------------
- class create : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1, nError2;
-
- public:
-
- // test code.
- void create_001( )
- {
- //create directory in $TEMP/tmpdir
- nError1 = ::osl::Directory::create( aTmpName3 );
- //check for existence
- nError2 = ::osl::Directory::create( aTmpName3 );
- //remove it
- deleteTestDirectory( aTmpName3 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for create function: create a directory and check its existence.",
- ( osl::FileBase::E_None == nError1 ) &&
- ( osl::FileBase::E_EXIST== nError2 ) );
- }
-
- void create_002( )
- {
-#if !defined (WNT) && !defined (MACOSX) && defined (SAL_UNX)
- if (geteuid() == 0) //don't test if building as root
- return;
-
- rtl::OUString aTmpDir;
- nError1 = FileBase::createTempFile(NULL, NULL, &aTmpDir);
- CPPUNIT_ASSERT_MESSAGE("temp File creation failed", osl::FileBase::E_None == nError1);
-
- nError1 = ::osl::File::remove(aTmpDir);
- CPPUNIT_ASSERT_MESSAGE("temp File removal failed", osl::FileBase::E_None == nError1);
-
- nError1 = ::osl::Directory::create(aTmpDir);
- ::rtl::OString sError("test for create function: create a directory '");
- sError += ::rtl::OUStringToOString(aTmpDir, RTL_TEXTENCODING_ASCII_US);
- sError += "' and check its existence.";
- CPPUNIT_ASSERT_MESSAGE(sError.getStr(), osl::FileBase::E_None == nError1);
- osl_setFileAttributes(aTmpDir.pData, 0); //no access allowed now
-
- //Shouldn't be possible now to create a dir underneath it
- rtl::OUString aTmpSubLevel = aTmpDir + OUString(RTL_CONSTASCII_USTRINGPARAM("/notallowedhere"));
- nError1 = ::osl::Directory::create(aTmpSubLevel);
-
- //allow removal
- osl_setFileAttributes(aTmpDir.pData,
- osl_File_Attribute_OwnRead |
- osl_File_Attribute_OwnWrite |
- osl_File_Attribute_OwnExe);
- deleteTestDirectory(aTmpDir);
- sError = ::rtl::OString("test for create function: create a directory under '");
- sError += ::rtl::OUStringToOString(aTmpDir, RTL_TEXTENCODING_ASCII_US);
- sError += "' for access test.";
- CPPUNIT_ASSERT_MESSAGE(sError.getStr(), osl::FileBase::E_ACCES == nError1);
-#endif
- }
-
- void create_003( )
- {
- //create directory in /tmpname
- nError1 = ::osl::Directory::create( aSysPath1 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for create function: create a directory using system path.",
- ( osl::FileBase::E_INVAL == nError1 ) );
- }
-
- CPPUNIT_TEST_SUITE( create );
- CPPUNIT_TEST( create_001 );
- CPPUNIT_TEST( create_002 );
- CPPUNIT_TEST( create_003 );
- CPPUNIT_TEST_SUITE_END( );
- };// class create
-
- //---------------------------------------------------------------------
- // testing the method
- // inline static RC remove( const ::rtl::OUString& ustrDirectoryURL )
- //---------------------------------------------------------------------
- class remove : public CppUnit::TestFixture
- {
- ::osl::FileBase::RC nError1, nError2;
-
- public:
-
- // test code.
- void remove_001( )
- {
- //create directory in $TEMP/tmpdir
- nError1 = ::osl::Directory::create( aTmpName3 );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- //remove it
- nError1 = ::osl::Directory::remove( aTmpName3 );
- //check for existence
- ::osl::Directory rDirectory( aTmpName3 );
- nError2 = rDirectory.open( );
-
- CPPUNIT_ASSERT_MESSAGE( "test for remove function: remove a directory and check its existence.",
- ( osl::FileBase::E_None == nError1 ) &&
- ( osl::FileBase::E_NOENT == nError2 ) );
- }
-
- void remove_002( )
- {
- //create directory in $TEMP/tmpdir
- nError1 = ::osl::Directory::create( aTmpName3 );
- CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
- //try to remove it by system path
- nError1 = ::osl::Directory::remove( aSysPath3 );
- //check for existence
- ::osl::Directory rDirectory( aTmpName3 );
- nError2 = rDirectory.open( );
- if ( osl::FileBase::E_NOENT != nError2 )
- ::osl::Directory::remove( aTmpName3 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for remove function: remove a directory by its system path, and check its existence.",
- ( osl::FileBase::E_INVAL == nError1 ) );
- }
-
- void remove_003( )
- {
- //try to remove a non-existed directory
- nError1 = ::osl::Directory::remove( aTmpName6 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for remove function: try to remove a non-existed directory.",
- ( osl::FileBase::E_NOENT == nError1 ) );
- }
-
- void remove_004( )
- {
- createTestFile( aTmpName6 );
- sal_Bool bExist = ifFileExist( aTmpName6 );
- //try to remove file.
- nError1 = ::osl::Directory::remove( aTmpName6 );
- deleteTestFile( aTmpName6 );
-
- CPPUNIT_ASSERT_MESSAGE( "test for remove function: try to remove a file but not directory.",
- bExist == sal_True &&(( osl::FileBase::E_NOTDIR == nError1 ) || ( osl::FileBase::E_NOENT == nError1 )) );
- }
-
- void remove_005( )
- {
- createTestDirectory( aTmpName3 );
- createTestFile( aTmpName4 );
- nError1 = ::osl::Directory::remove( aTmpName3 );
- deleteTestFile( aTmpName4 );
- deleteTestDirectory( aTmpName3 );
- ::rtl::OString sError = "test for remove function: try to remove a directory that is not empty.";
- sError += errorToStr( nError1 ).getStr();
-#if defined ( SOLARIS )
- //on UNX, the implementation uses rmdir(), which EEXIST is thrown on Solaris when the directory is not empty, refer to: 'man -s 2 rmdir', while on linux, ENOTEMPTY is thrown.
- //EEXIST The directory contains entries other than those for "." and "..".
- printf("#Solaris test\n");
- CPPUNIT_ASSERT_MESSAGE( sError.getStr(), ( osl::FileBase::E_EXIST == nError1 ) );
-#else
- CPPUNIT_ASSERT_MESSAGE( sError.getStr(), ( osl::FileBase::E_NOTEMPTY == nError1 ) );
-#endif
- }
-
- CPPUNIT_TEST_SUITE( remove );
- CPPUNIT_TEST( remove_001 );
- CPPUNIT_TEST( remove_002 );
- CPPUNIT_TEST( remove_003 );
- CPPUNIT_TEST( remove_004 );
- CPPUNIT_TEST( remove_005 );
- CPPUNIT_TEST_SUITE_END( );
- };// class remove
-
- //########################################
- // TEST Directory::createPath
- //########################################
-
- #ifdef WNT
- # define PATH_BUFFER_SIZE MAX_PATH
- #else
- # define PATH_BUFFER_SIZE PATH_MAX
- #endif
-
- char TEST_PATH_POSTFIX[] = "hello/world";
-
- //########################################
- OUString get_test_path()
- {
- static OUString test_path;
- if (test_path.isEmpty())
- {
- OUString tmp;
- FileBase::RC rc = FileBase::getTempDirURL(tmp);
-
- CPPUNIT_ASSERT_MESSAGE
- (
- "Getting the location of TMP dir failed",
- rc == FileBase::E_None
- );
-
- OUString system_path;
- rc = FileBase::getSystemPathFromFileURL(tmp, system_path);
-
- CPPUNIT_ASSERT_MESSAGE
- (
- "Cannot convert the TMP dir to system path",
- rc == FileBase::E_None
- );
-
- OString tmp_x(rtl::OUStringToOString(system_path, RTL_TEXTENCODING_UTF8 ));
- if (tmp_x.lastIndexOf('/') != (tmp_x.getLength() - 1))
- tmp_x += rtl::OString('/');
-
-#if !defined(WNT) && !defined(ANDROID)
- // FIXME would be nice to create unique dir even on Windows
- tmp_x += rtl::OString("XXXXXX");
- char *out = mkdtemp(const_cast<char*>(tmp_x.getStr()));
-
- CPPUNIT_ASSERT_MESSAGE
- (
- "mkdtemp call failed",
- out != NULL
- );
-
- tmp_x += rtl::OString('/');
-#endif
- tmp_x += rtl::OString(TEST_PATH_POSTFIX);
-
- rc = FileBase::getFileURLFromSystemPath(rtl::OStringToOUString(tmp_x, RTL_TEXTENCODING_UTF8), test_path);
-
- CPPUNIT_ASSERT_MESSAGE
- (
- "Cannot convert the system path back to an URL",
- rc == FileBase::E_None
- );
- }
- return test_path;
- }
-
- //########################################
- void rm_test_path(const OUString& path)
- {
- sal_Unicode buffer[PATH_BUFFER_SIZE];
- rtl_copyMemory(buffer, path.getStr(), (path.getLength() + 1) * sizeof(sal_Unicode));
-
- sal_Int32 i = rtl_ustr_lastIndexOfChar(buffer, '/');
- if (i == path.getLength())
- buffer[i] = 0;
-
- Directory::remove(buffer);
-
- i = rtl_ustr_lastIndexOfChar(buffer, '/');
- buffer[i] = 0;
- Directory::remove(buffer);
- }
-
- //########################################
- class DirCreatedObserver : public DirectoryCreationObserver
- {
- public:
- DirCreatedObserver() : i(0)
- {
- }
-
- virtual void DirectoryCreated(const rtl::OUString& /*aDirectoryUrl*/)
- {
- i++;
- };
-
- int number_of_dirs_created() const
- {
- return i;
- }
-
- private:
- int i;
- };
-
-
- //########################################
- class createPath : public CppUnit::TestFixture
- {
- public:
- //##########################################
- createPath()
- {}
-
- //##########################################
- void with_relative_path()
- {
- FileBase::RC rc = Directory::createPath(
- OUString(RTL_CONSTASCII_USTRINGPARAM(TEST_PATH_POSTFIX)));
-
- CPPUNIT_ASSERT_MESSAGE
- (
- "osl_createDirectoryPath contract broken",
- rc == FileBase::E_INVAL
- );
- }
-
- //##########################################
- void without_callback()
- {
- OUString tp_url = get_test_path();
-
- rm_test_path(tp_url);
-
- FileBase::RC rc = Directory::createPath(tp_url);
-
- CPPUNIT_ASSERT_MESSAGE
- (
- "osl_createDirectoryPath failed",
- rc == FileBase::E_None
- );
- }
-
- //##########################################
- void with_callback()
- {
- OUString tp_url = get_test_path();
-
- rm_test_path(tp_url);
-
- DirCreatedObserver* observer = new DirCreatedObserver;
- FileBase::RC rc = Directory::createPath(tp_url, observer);
- int nDirs = observer->number_of_dirs_created();
- delete observer;
- CPPUNIT_ASSERT_MESSAGE
- (
- "osl_createDirectoryPath failed",
- (rc == FileBase::E_None) && (nDirs > 0)
- );
-
- }
-
-#ifdef WNT
-
- //##########################################
- char* get_unused_drive_letter()
- {
- static char m_aBuff[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
-
- DWORD ld = GetLogicalDrives();
- DWORD i = 4;
- DWORD j = 2;
-
- while ((ld & i) && (i > 1))
- { i = i << 1; j++; }
-
- if (i > 2)
- return m_aBuff + j;
-
- return NULL;
- }
-
- //##########################################
- void at_invalid_logical_drive()
- {
- char* drv = get_unused_drive_letter();
- char buff[PATH_BUFFER_SIZE];
- rtl_zeroMemory(buff, sizeof(buff));
-
- strncpy(buff, drv, 1);
- strcat(buff, ":\\");
- strcat(buff, TEST_PATH_POSTFIX);
-
- OUString path = OUString::createFromAscii(buff);
- OUString tp_url;
- FileBase::getFileURLFromSystemPath(path, tp_url);
-
- FileBase::RC rc = Directory::createPath(tp_url);
-
- CPPUNIT_ASSERT_MESSAGE
- (
- "osl_createDirectoryPath doesn't fail on unused logical drive letters",
- rc != FileBase::E_None
- );
- }
-
- //##########################################
- void with_UNC_path()
- {
-
- OUString tp_unc (RTL_CONSTASCII_USTRINGPARAM("\\\\Tra-1\\TRA_D\\hello\\world\\"));
- OUString tp_url;
- FileBase::getFileURLFromSystemPath(tp_unc, tp_url);
-
- FileBase::RC rc = Directory::createPath(tp_url);
-
- CPPUNIT_ASSERT_MESSAGE
- (
- "osl_createDirectoryPath fails with UNC path",
- rc == FileBase::E_None
- );
- }
-
-#endif /* WNT */
-
- CPPUNIT_TEST_SUITE(createPath);
- CPPUNIT_TEST(with_relative_path);
- CPPUNIT_TEST(without_callback);
- CPPUNIT_TEST(with_callback);
-#ifdef WNT
- CPPUNIT_TEST(at_invalid_logical_drive);
-
- // adapt the UNC path in method createDirectoryPath_with_UNC_path
- // in order to run this test successfully
- //CPPUNIT_TEST(with_UNC_path);
-#endif
- CPPUNIT_TEST_SUITE_END();
-
- }; // class createPath
-
- // -----------------------------------------------------------------------------
- CPPUNIT_TEST_SUITE_REGISTRATION( osl_Directory::ctors );
- CPPUNIT_TEST_SUITE_REGISTRATION( osl_Directory::open );
- CPPUNIT_TEST_SUITE_REGISTRATION( osl_Directory::isOpen );
- CPPUNIT_TEST_SUITE_REGISTRATION( osl_Directory::close );
- CPPUNIT_TEST_SUITE_REGISTRATION( osl_Directory::reset );
- CPPUNIT_TEST_SUITE_REGISTRATION( osl_Directory::getNextItem );
- CPPUNIT_TEST_SUITE_REGISTRATION( osl_Directory::getVolumeInfo );
- CPPUNIT_TEST_SUITE_REGISTRATION( osl_Directory::create );
- CPPUNIT_TEST_SUITE_REGISTRATION( osl_Directory::remove );
- CPPUNIT_TEST_SUITE_REGISTRATION( osl_Directory::createPath );
-}// namespace osl_Directory
-
-
-
-CPPUNIT_PLUGIN_IMPLEMENT();
-
-
-
-/** get Current PID.
-*/
-inline ::rtl::OUString getCurrentPID( )
-{
- //~ Get current PID and turn it into OUString;
- int nPID = 0;
-#ifdef WNT
- nPID = GetCurrentProcessId();
-#else
- nPID = getpid();
-#endif
- return ( ::rtl::OUString::valueOf( ( long )nPID ) );
-}
-
-
-//~ do some clean up work after all test completed.
-class GlobalObject
-{
- public:
- ~GlobalObject()
- {
- try
- {
- //~ special clean up task in Windows and Unix seperately;
-#if ( defined UNX )
- //~ some clean up task for UNIX OS
- ;
-#else
- //~ some clean up task for Windows OS
- //~ check if some files are in the way, remove them if necessary.
- if ( ifFileExist( aTmpName6 ) == sal_True )
- deleteTestFile( aTmpName6 );
- if ( ifFileExist( aTmpName4 ) == sal_True )
- deleteTestFile( aTmpName4 );
- if ( checkDirectory( aTmpName4, osl_Check_Mode_Exist ) == sal_True )
- deleteTestDirectory( aTmpName4 );
- if ( ifFileExist( aTmpName3 ) == sal_True )
- deleteTestFile( aTmpName3 );
- if ( checkDirectory( aTmpName3, osl_Check_Mode_Exist ) == sal_True )
- deleteTestDirectory( aTmpName3 );
-
- ::rtl::OUString aUStr( aUserDirectoryURL );
- concatURL( aUStr, aHidURL1 );
- if ( ifFileExist( aUStr ) == sal_True )
- deleteTestFile( aUStr );
-
- ::rtl::OUString aUStr1( aRootURL );
- concatURL( aUStr1, aTmpName2 );
- if ( ifFileExist( aUStr1 ) == sal_True )
- deleteTestFile( aUStr1 );
-#endif
-
- }
- catch (const CppUnit::Exception &e)
- {
- printf("Exception caught in GlobalObject dtor(). Exception message: '%s'. Source line: %d\n", e.what(), e.sourceLine().lineNumber());
- }
- catch (...)
- {
- printf("Exception caught (...) in GlobalObject dtor()\n");
- }
- }
-};
-
-GlobalObject theGlobalObject;
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */