ENH: better coverage

This commit is contained in:
Ken Martin 2006-07-31 13:50:50 -04:00
parent b24533f27c
commit 4f9fcad327
2 changed files with 54 additions and 19 deletions

View File

@ -255,6 +255,20 @@ public:
*/ */
static kwsys_stl::string ConvertToOutputPath(const char*); static kwsys_stl::string ConvertToOutputPath(const char*);
/**
* Convert the path to a string that can be used in a unix makefile.
* double slashes are removed, and spaces are escaped.
*/
static kwsys_stl::string ConvertToUnixOutputPath(const char*);
/**
* Convert the path to string that can be used in a windows project or
* makefile. Double slashes are removed if they are not at the start of
* the string, the slashes are converted to windows style backslashes, and
* if there are spaces in the string it is double quoted.
*/
static kwsys_stl::string ConvertToWindowsOutputPath(const char*);
/** /**
* Return true if a file exists in the current directory * Return true if a file exists in the current directory
*/ */
@ -429,12 +443,6 @@ public:
*/ */
static bool IsSubDirectory(const char* fileOrDir, const char* dir); static bool IsSubDirectory(const char* fileOrDir, const char* dir);
/**
* Convert the path to a string that can be used in a unix makefile.
* double slashes are removed, and spaces are escaped.
*/
static kwsys_stl::string ConvertToUnixOutputPath(const char*);
/** ----------------------------------------------------------------- /** -----------------------------------------------------------------
* File Manipulation Routines * File Manipulation Routines
* ----------------------------------------------------------------- * -----------------------------------------------------------------
@ -754,17 +762,6 @@ public:
static void ConvertWindowsCommandLineToUnixArguments( static void ConvertWindowsCommandLineToUnixArguments(
const char *cmd_line, int *argc, char ***argv); const char *cmd_line, int *argc, char ***argv);
protected:
// these two functions can be called from ConvertToOutputPath
/**
* Convert the path to string that can be used in a windows project or
* makefile. Double slashes are removed if they are not at the start of
* the string, the slashes are converted to windows style backslashes, and
* if there are spaces in the string it is double quoted.
*/
static kwsys_stl::string ConvertToWindowsOutputPath(const char*);
private: private:
/** /**
* Allocate the std::map that serve as the Path Translation table. * Allocate the std::map that serve as the Path Translation table.

View File

@ -93,7 +93,7 @@ bool CheckEscapeChars(kwsys_stl::string input,
} }
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
bool CheckDetectFileType() bool CheckFileOperations()
{ {
bool res = true; bool res = true;
@ -114,6 +114,14 @@ bool CheckDetectFileType()
<< TEST_SYSTEMTOOLS_SRC_FILE << kwsys_ios::endl; << TEST_SYSTEMTOOLS_SRC_FILE << kwsys_ios::endl;
res = false; res = false;
} }
if (kwsys::SystemTools::FileLength(TEST_SYSTEMTOOLS_BIN_FILE) != 766)
{
kwsys_ios::cerr
<< "Problem with FileLength - incorrect length for: "
<< TEST_SYSTEMTOOLS_BIN_FILE << kwsys_ios::endl;
res = false;
}
return res; return res;
} }
@ -264,7 +272,37 @@ bool CheckStringOperations()
<< TEST_SYSTEMTOOLS_SRC_FILE << kwsys_ios::endl; << TEST_SYSTEMTOOLS_SRC_FILE << kwsys_ios::endl;
res = false; res = false;
} }
if (kwsys::SystemTools::ConvertToWindowsOutputPath
("L://Local Mojo/Hex Power Pack/Iffy Voodoo") !=
"\"L:\\Local Mojo\\Hex Power Pack\\Iffy Voodoo\"")
{
kwsys_ios::cerr
<< "Problem with ConvertToWindowsOutputPath "
<< kwsys_ios::endl;
res = false;
}
if (kwsys::SystemTools::ConvertToWindowsOutputPath
("//grayson/Local Mojo/Hex Power Pack/Iffy Voodoo") !=
"\"\\\\grayson\\Local Mojo\\Hex Power Pack\\Iffy Voodoo\"")
{
kwsys_ios::cerr
<< "Problem with ConvertToWindowsOutputPath "
<< kwsys_ios::endl;
res = false;
}
if (kwsys::SystemTools::ConvertToUnixOutputPath
("//Local Mojo/Hex Power Pack/Iffy Voodoo") !=
"/Local\\ Mojo/Hex\\ Power\\ Pack/Iffy\\ Voodoo")
{
kwsys_ios::cerr
<< "Problem with ConvertToUnixOutputPath "
<< kwsys_ios::endl;
res = false;
}
int targc; int targc;
char **targv; char **targv;
kwsys::SystemTools::ConvertWindowsCommandLineToUnixArguments kwsys::SystemTools::ConvertWindowsCommandLineToUnixArguments
@ -312,7 +350,7 @@ int main(/*int argc, char* argv*/)
*checkEscapeChars[cc][2], checkEscapeChars[cc][3]); *checkEscapeChars[cc][2], checkEscapeChars[cc][3]);
} }
res &= CheckDetectFileType(); res &= CheckFileOperations();
res &= CheckStringOperations(); res &= CheckStringOperations();