diff options
author | shiqian <shiqian@861a406c-534a-0410-8894-cb66d6ee9925> | 2008-07-31 18:34:08 +0000 |
---|---|---|
committer | shiqian <shiqian@861a406c-534a-0410-8894-cb66d6ee9925> | 2008-07-31 18:34:08 +0000 |
commit | dd4a17bc20377d250ed116b1083d851adbe45f25 (patch) | |
tree | 4da8e8084682bbd9121ed76e450ee2074620b59f /test/gtest-filepath_test.cc | |
parent | 7ddde1bc28eb7ee5bc3663a9ea427f6ab39d02de (diff) | |
download | googletest-dd4a17bc20377d250ed116b1083d851adbe45f25.tar.gz |
Makes gtest work on Windows Mobile and Symbian. By Mika Raento.
git-svn-id: http://googletest.googlecode.com/svn/trunk@73 861a406c-534a-0410-8894-cb66d6ee9925
Diffstat (limited to 'test/gtest-filepath_test.cc')
-rw-r--r-- | test/gtest-filepath_test.cc | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/gtest-filepath_test.cc b/test/gtest-filepath_test.cc index 559b599..f4b70c3 100644 --- a/test/gtest-filepath_test.cc +++ b/test/gtest-filepath_test.cc @@ -51,7 +51,11 @@ #undef GTEST_IMPLEMENTATION #ifdef GTEST_OS_WINDOWS +#ifdef _WIN32_WCE +#include <windows.h> +#else #include <direct.h> +#endif // _WIN32_WCE #define PATH_SEP "\\" #else #define PATH_SEP "/" @@ -61,6 +65,32 @@ namespace testing { namespace internal { namespace { +#ifdef _WIN32_WCE +// Windows CE doesn't have the remove C function. +int remove(const char* path) { + LPCWSTR wpath = String::AnsiToUtf16(path); + int ret = DeleteFile(wpath) ? 0 : -1; + delete [] wpath; + return ret; +} +// Windows CE doesn't have the _rmdir C function. +int _rmdir(const char* path) { + FilePath filepath(path); + LPCWSTR wpath = String::AnsiToUtf16( + filepath.RemoveTrailingPathSeparator().c_str()); + int ret = RemoveDirectory(wpath) ? 0 : -1; + delete [] wpath; + return ret; +} + +#elif defined(GTEST_LINUX_GOOGLE3_MODE) +// Creates a temporary directory and returns its path. +const char* MakeTempDir() { + static char dir_name[] = "gtest-filepath_test_tmpXXXXXX"; + return mkdtemp(dir_name); +} +#endif // _WIN32_WCE + // FilePath's functions used by UnitTestOptions::GetOutputFile. // RemoveDirectoryName "" -> "" @@ -102,8 +132,14 @@ TEST(RemoveDirectoryNameTest, ShouldAlsoGiveFileName) { // RemoveFileName "" -> "./" TEST(RemoveFileNameTest, EmptyName) { +#ifdef _WIN32_WCE + // On Windows CE, we use the root as the current directory. + EXPECT_STREQ(PATH_SEP, + FilePath("").RemoveFileName().c_str()); +#else EXPECT_STREQ("." PATH_SEP, FilePath("").RemoveFileName().c_str()); +#endif } // RemoveFileName "adir/" -> "adir/" |