aboutsummaryrefslogtreecommitdiffstats
path: root/test/gtest-filepath_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'test/gtest-filepath_test.cc')
-rw-r--r--test/gtest-filepath_test.cc170
1 files changed, 88 insertions, 82 deletions
diff --git a/test/gtest-filepath_test.cc b/test/gtest-filepath_test.cc
index ee80f0d9..dfbd5f02 100644
--- a/test/gtest-filepath_test.cc
+++ b/test/gtest-filepath_test.cc
@@ -46,19 +46,19 @@
// included, or there will be a compiler error. This trick is to
// prevent a user from accidentally including gtest-internal-inl.h in
// his code.
-#define GTEST_IMPLEMENTATION
+#define GTEST_IMPLEMENTATION_ 1
#include "src/gtest-internal-inl.h"
-#undef GTEST_IMPLEMENTATION
+#undef GTEST_IMPLEMENTATION_
-#ifdef GTEST_OS_WINDOWS
+#if GTEST_OS_WINDOWS
#ifdef _WIN32_WCE
#include <windows.h> // NOLINT
#else
#include <direct.h> // NOLINT
#endif // _WIN32_WCE
-#define PATH_SEP "\\"
+#define GTEST_PATH_SEP_ "\\"
#else
-#define PATH_SEP "/"
+#define GTEST_PATH_SEP_ "/"
#endif // GTEST_OS_WINDOWS
namespace testing {
@@ -90,16 +90,16 @@ int _rmdir(const char* path) {
TEST(GetCurrentDirTest, ReturnsCurrentDir) {
EXPECT_FALSE(FilePath::GetCurrentDir().IsEmpty());
-#ifdef GTEST_OS_WINDOWS
- _chdir(PATH_SEP);
+#if GTEST_OS_WINDOWS
+ _chdir(GTEST_PATH_SEP_);
const FilePath cwd = FilePath::GetCurrentDir();
// Skips the ":".
const char* const cwd_without_drive = strchr(cwd.c_str(), ':');
ASSERT_TRUE(cwd_without_drive != NULL);
- EXPECT_STREQ(PATH_SEP, cwd_without_drive + 1);
+ EXPECT_STREQ(GTEST_PATH_SEP_, cwd_without_drive + 1);
#else
- chdir(PATH_SEP);
- EXPECT_STREQ(PATH_SEP, FilePath::GetCurrentDir().c_str());
+ chdir(GTEST_PATH_SEP_);
+ EXPECT_STREQ(GTEST_PATH_SEP_, FilePath::GetCurrentDir().c_str());
#endif
}
@@ -131,25 +131,25 @@ TEST(RemoveDirectoryNameTest, ButNoDirectory) {
// RemoveDirectoryName "/afile" -> "afile"
TEST(RemoveDirectoryNameTest, RootFileShouldGiveFileName) {
EXPECT_STREQ("afile",
- FilePath(PATH_SEP "afile").RemoveDirectoryName().c_str());
+ FilePath(GTEST_PATH_SEP_ "afile").RemoveDirectoryName().c_str());
}
// RemoveDirectoryName "adir/" -> ""
TEST(RemoveDirectoryNameTest, WhereThereIsNoFileName) {
EXPECT_STREQ("",
- FilePath("adir" PATH_SEP).RemoveDirectoryName().c_str());
+ FilePath("adir" GTEST_PATH_SEP_).RemoveDirectoryName().c_str());
}
// RemoveDirectoryName "adir/afile" -> "afile"
TEST(RemoveDirectoryNameTest, ShouldGiveFileName) {
EXPECT_STREQ("afile",
- FilePath("adir" PATH_SEP "afile").RemoveDirectoryName().c_str());
+ FilePath("adir" GTEST_PATH_SEP_ "afile").RemoveDirectoryName().c_str());
}
// RemoveDirectoryName "adir/subdir/afile" -> "afile"
TEST(RemoveDirectoryNameTest, ShouldAlsoGiveFileName) {
EXPECT_STREQ("afile",
- FilePath("adir" PATH_SEP "subdir" PATH_SEP "afile")
+ FilePath("adir" GTEST_PATH_SEP_ "subdir" GTEST_PATH_SEP_ "afile")
.RemoveDirectoryName().c_str());
}
@@ -158,63 +158,63 @@ TEST(RemoveDirectoryNameTest, ShouldAlsoGiveFileName) {
TEST(RemoveFileNameTest, EmptyName) {
#ifdef _WIN32_WCE
// On Windows CE, we use the root as the current directory.
- EXPECT_STREQ(PATH_SEP,
+ EXPECT_STREQ(GTEST_PATH_SEP_,
FilePath("").RemoveFileName().c_str());
#else
- EXPECT_STREQ("." PATH_SEP,
+ EXPECT_STREQ("." GTEST_PATH_SEP_,
FilePath("").RemoveFileName().c_str());
#endif
}
// RemoveFileName "adir/" -> "adir/"
TEST(RemoveFileNameTest, ButNoFile) {
- EXPECT_STREQ("adir" PATH_SEP,
- FilePath("adir" PATH_SEP).RemoveFileName().c_str());
+ EXPECT_STREQ("adir" GTEST_PATH_SEP_,
+ FilePath("adir" GTEST_PATH_SEP_).RemoveFileName().c_str());
}
// RemoveFileName "adir/afile" -> "adir/"
TEST(RemoveFileNameTest, GivesDirName) {
- EXPECT_STREQ("adir" PATH_SEP,
- FilePath("adir" PATH_SEP "afile")
+ EXPECT_STREQ("adir" GTEST_PATH_SEP_,
+ FilePath("adir" GTEST_PATH_SEP_ "afile")
.RemoveFileName().c_str());
}
// RemoveFileName "adir/subdir/afile" -> "adir/subdir/"
TEST(RemoveFileNameTest, GivesDirAndSubDirName) {
- EXPECT_STREQ("adir" PATH_SEP "subdir" PATH_SEP,
- FilePath("adir" PATH_SEP "subdir" PATH_SEP "afile")
+ EXPECT_STREQ("adir" GTEST_PATH_SEP_ "subdir" GTEST_PATH_SEP_,
+ FilePath("adir" GTEST_PATH_SEP_ "subdir" GTEST_PATH_SEP_ "afile")
.RemoveFileName().c_str());
}
// RemoveFileName "/afile" -> "/"
TEST(RemoveFileNameTest, GivesRootDir) {
- EXPECT_STREQ(PATH_SEP,
- FilePath(PATH_SEP "afile").RemoveFileName().c_str());
+ EXPECT_STREQ(GTEST_PATH_SEP_,
+ FilePath(GTEST_PATH_SEP_ "afile").RemoveFileName().c_str());
}
TEST(MakeFileNameTest, GenerateWhenNumberIsZero) {
FilePath actual = FilePath::MakeFileName(FilePath("foo"), FilePath("bar"),
0, "xml");
- EXPECT_STREQ("foo" PATH_SEP "bar.xml", actual.c_str());
+ EXPECT_STREQ("foo" GTEST_PATH_SEP_ "bar.xml", actual.c_str());
}
TEST(MakeFileNameTest, GenerateFileNameNumberGtZero) {
FilePath actual = FilePath::MakeFileName(FilePath("foo"), FilePath("bar"),
12, "xml");
- EXPECT_STREQ("foo" PATH_SEP "bar_12.xml", actual.c_str());
+ EXPECT_STREQ("foo" GTEST_PATH_SEP_ "bar_12.xml", actual.c_str());
}
TEST(MakeFileNameTest, GenerateFileNameWithSlashNumberIsZero) {
- FilePath actual = FilePath::MakeFileName(FilePath("foo" PATH_SEP),
+ FilePath actual = FilePath::MakeFileName(FilePath("foo" GTEST_PATH_SEP_),
FilePath("bar"), 0, "xml");
- EXPECT_STREQ("foo" PATH_SEP "bar.xml", actual.c_str());
+ EXPECT_STREQ("foo" GTEST_PATH_SEP_ "bar.xml", actual.c_str());
}
TEST(MakeFileNameTest, GenerateFileNameWithSlashNumberGtZero) {
- FilePath actual = FilePath::MakeFileName(FilePath("foo" PATH_SEP),
+ FilePath actual = FilePath::MakeFileName(FilePath("foo" GTEST_PATH_SEP_),
FilePath("bar"), 12, "xml");
- EXPECT_STREQ("foo" PATH_SEP "bar_12.xml", actual.c_str());
+ EXPECT_STREQ("foo" GTEST_PATH_SEP_ "bar_12.xml", actual.c_str());
}
TEST(MakeFileNameTest, GenerateWhenNumberIsZeroAndDirIsEmpty) {
@@ -232,13 +232,13 @@ TEST(MakeFileNameTest, GenerateWhenNumberIsNotZeroAndDirIsEmpty) {
TEST(ConcatPathsTest, WorksWhenDirDoesNotEndWithPathSep) {
FilePath actual = FilePath::ConcatPaths(FilePath("foo"),
FilePath("bar.xml"));
- EXPECT_STREQ("foo" PATH_SEP "bar.xml", actual.c_str());
+ EXPECT_STREQ("foo" GTEST_PATH_SEP_ "bar.xml", actual.c_str());
}
TEST(ConcatPathsTest, WorksWhenPath1EndsWithPathSep) {
- FilePath actual = FilePath::ConcatPaths(FilePath("foo" PATH_SEP),
+ FilePath actual = FilePath::ConcatPaths(FilePath("foo" GTEST_PATH_SEP_),
FilePath("bar.xml"));
- EXPECT_STREQ("foo" PATH_SEP "bar.xml", actual.c_str());
+ EXPECT_STREQ("foo" GTEST_PATH_SEP_ "bar.xml", actual.c_str());
}
TEST(ConcatPathsTest, Path1BeingEmpty) {
@@ -250,7 +250,7 @@ TEST(ConcatPathsTest, Path1BeingEmpty) {
TEST(ConcatPathsTest, Path2BeingEmpty) {
FilePath actual = FilePath::ConcatPaths(FilePath("foo"),
FilePath(""));
- EXPECT_STREQ("foo" PATH_SEP, actual.c_str());
+ EXPECT_STREQ("foo" GTEST_PATH_SEP_, actual.c_str());
}
TEST(ConcatPathsTest, BothPathBeingEmpty) {
@@ -260,21 +260,24 @@ TEST(ConcatPathsTest, BothPathBeingEmpty) {
}
TEST(ConcatPathsTest, Path1ContainsPathSep) {
- FilePath actual = FilePath::ConcatPaths(FilePath("foo" PATH_SEP "bar"),
+ FilePath actual = FilePath::ConcatPaths(FilePath("foo" GTEST_PATH_SEP_ "bar"),
FilePath("foobar.xml"));
- EXPECT_STREQ("foo" PATH_SEP "bar" PATH_SEP "foobar.xml", actual.c_str());
+ EXPECT_STREQ("foo" GTEST_PATH_SEP_ "bar" GTEST_PATH_SEP_ "foobar.xml",
+ actual.c_str());
}
TEST(ConcatPathsTest, Path2ContainsPathSep) {
- FilePath actual = FilePath::ConcatPaths(FilePath("foo" PATH_SEP),
- FilePath("bar" PATH_SEP "bar.xml"));
- EXPECT_STREQ("foo" PATH_SEP "bar" PATH_SEP "bar.xml", actual.c_str());
+ FilePath actual = FilePath::ConcatPaths(
+ FilePath("foo" GTEST_PATH_SEP_),
+ FilePath("bar" GTEST_PATH_SEP_ "bar.xml"));
+ EXPECT_STREQ("foo" GTEST_PATH_SEP_ "bar" GTEST_PATH_SEP_ "bar.xml",
+ actual.c_str());
}
TEST(ConcatPathsTest, Path2EndsWithPathSep) {
FilePath actual = FilePath::ConcatPaths(FilePath("foo"),
- FilePath("bar" PATH_SEP));
- EXPECT_STREQ("foo" PATH_SEP "bar" PATH_SEP, actual.c_str());
+ FilePath("bar" GTEST_PATH_SEP_));
+ EXPECT_STREQ("foo" GTEST_PATH_SEP_ "bar" GTEST_PATH_SEP_, actual.c_str());
}
// RemoveTrailingPathSeparator "" -> ""
@@ -291,25 +294,27 @@ TEST(RemoveTrailingPathSeparatorTest, FileNoSlashString) {
// RemoveTrailingPathSeparator "foo/" -> "foo"
TEST(RemoveTrailingPathSeparatorTest, ShouldRemoveTrailingSeparator) {
- EXPECT_STREQ("foo",
- FilePath("foo" PATH_SEP).RemoveTrailingPathSeparator().c_str());
+ EXPECT_STREQ(
+ "foo",
+ FilePath("foo" GTEST_PATH_SEP_).RemoveTrailingPathSeparator().c_str());
}
// RemoveTrailingPathSeparator "foo/bar/" -> "foo/bar/"
TEST(RemoveTrailingPathSeparatorTest, ShouldRemoveLastSeparator) {
- EXPECT_STREQ("foo" PATH_SEP "bar",
- FilePath("foo" PATH_SEP "bar" PATH_SEP).RemoveTrailingPathSeparator()
- .c_str());
+ EXPECT_STREQ("foo" GTEST_PATH_SEP_ "bar",
+ FilePath("foo" GTEST_PATH_SEP_ "bar" GTEST_PATH_SEP_)
+ .RemoveTrailingPathSeparator().c_str());
}
// RemoveTrailingPathSeparator "foo/bar" -> "foo/bar"
TEST(RemoveTrailingPathSeparatorTest, ShouldReturnUnmodified) {
- EXPECT_STREQ("foo" PATH_SEP "bar",
- FilePath("foo" PATH_SEP "bar").RemoveTrailingPathSeparator().c_str());
+ EXPECT_STREQ("foo" GTEST_PATH_SEP_ "bar",
+ FilePath("foo" GTEST_PATH_SEP_ "bar")
+ .RemoveTrailingPathSeparator().c_str());
}
TEST(DirectoryTest, RootDirectoryExists) {
-#ifdef GTEST_OS_WINDOWS // We are on Windows.
+#if GTEST_OS_WINDOWS // We are on Windows.
char current_drive[_MAX_PATH]; // NOLINT
current_drive[0] = static_cast<char>(_getdrive() + 'A' - 1);
current_drive[1] = ':';
@@ -321,7 +326,7 @@ TEST(DirectoryTest, RootDirectoryExists) {
#endif // GTEST_OS_WINDOWS
}
-#ifdef GTEST_OS_WINDOWS
+#if GTEST_OS_WINDOWS
TEST(DirectoryTest, RootOfWrongDriveDoesNotExists) {
const int saved_drive_ = _getdrive();
// Find a drive that doesn't exist. Start with 'Z' to avoid common ones.
@@ -347,7 +352,7 @@ TEST(DirectoryTest, EmptyPathDirectoryDoesNotExist) {
#endif // ! _WIN32_WCE
TEST(DirectoryTest, CurrentDirectoryExists) {
-#ifdef GTEST_OS_WINDOWS // We are on Windows.
+#if GTEST_OS_WINDOWS // We are on Windows.
#ifndef _WIN32_CE // Windows CE doesn't have a current directory.
EXPECT_TRUE(FilePath(".").DirectoryExists());
EXPECT_TRUE(FilePath(".\\").DirectoryExists());
@@ -365,32 +370,33 @@ TEST(NormalizeTest, NullStringsEqualEmptyDirectory) {
// "foo/bar" == foo//bar" == "foo///bar"
TEST(NormalizeTest, MultipleConsecutiveSepaparatorsInMidstring) {
- EXPECT_STREQ("foo" PATH_SEP "bar",
- FilePath("foo" PATH_SEP "bar").c_str());
- EXPECT_STREQ("foo" PATH_SEP "bar",
- FilePath("foo" PATH_SEP PATH_SEP "bar").c_str());
- EXPECT_STREQ("foo" PATH_SEP "bar",
- FilePath("foo" PATH_SEP PATH_SEP PATH_SEP "bar").c_str());
+ EXPECT_STREQ("foo" GTEST_PATH_SEP_ "bar",
+ FilePath("foo" GTEST_PATH_SEP_ "bar").c_str());
+ EXPECT_STREQ("foo" GTEST_PATH_SEP_ "bar",
+ FilePath("foo" GTEST_PATH_SEP_ GTEST_PATH_SEP_ "bar").c_str());
+ EXPECT_STREQ("foo" GTEST_PATH_SEP_ "bar",
+ FilePath("foo" GTEST_PATH_SEP_ GTEST_PATH_SEP_
+ GTEST_PATH_SEP_ "bar").c_str());
}
// "/bar" == //bar" == "///bar"
TEST(NormalizeTest, MultipleConsecutiveSepaparatorsAtStringStart) {
- EXPECT_STREQ(PATH_SEP "bar",
- FilePath(PATH_SEP "bar").c_str());
- EXPECT_STREQ(PATH_SEP "bar",
- FilePath(PATH_SEP PATH_SEP "bar").c_str());
- EXPECT_STREQ(PATH_SEP "bar",
- FilePath(PATH_SEP PATH_SEP PATH_SEP "bar").c_str());
+ EXPECT_STREQ(GTEST_PATH_SEP_ "bar",
+ FilePath(GTEST_PATH_SEP_ "bar").c_str());
+ EXPECT_STREQ(GTEST_PATH_SEP_ "bar",
+ FilePath(GTEST_PATH_SEP_ GTEST_PATH_SEP_ "bar").c_str());
+ EXPECT_STREQ(GTEST_PATH_SEP_ "bar",
+ FilePath(GTEST_PATH_SEP_ GTEST_PATH_SEP_ GTEST_PATH_SEP_ "bar").c_str());
}
// "foo/" == foo//" == "foo///"
TEST(NormalizeTest, MultipleConsecutiveSepaparatorsAtStringEnd) {
- EXPECT_STREQ("foo" PATH_SEP,
- FilePath("foo" PATH_SEP).c_str());
- EXPECT_STREQ("foo" PATH_SEP,
- FilePath("foo" PATH_SEP PATH_SEP).c_str());
- EXPECT_STREQ("foo" PATH_SEP,
- FilePath("foo" PATH_SEP PATH_SEP PATH_SEP).c_str());
+ EXPECT_STREQ("foo" GTEST_PATH_SEP_,
+ FilePath("foo" GTEST_PATH_SEP_).c_str());
+ EXPECT_STREQ("foo" GTEST_PATH_SEP_,
+ FilePath("foo" GTEST_PATH_SEP_ GTEST_PATH_SEP_).c_str());
+ EXPECT_STREQ("foo" GTEST_PATH_SEP_,
+ FilePath("foo" GTEST_PATH_SEP_ GTEST_PATH_SEP_ GTEST_PATH_SEP_).c_str());
}
TEST(AssignmentOperatorTest, DefaultAssignedToNonDefault) {
@@ -421,7 +427,7 @@ class DirectoryCreationTest : public Test {
virtual void SetUp() {
testdata_path_.Set(FilePath(String::Format("%s%s%s",
TempDir().c_str(), GetCurrentExecutableName().c_str(),
- "_directory_creation" PATH_SEP "test" PATH_SEP)));
+ "_directory_creation" GTEST_PATH_SEP_ "test" GTEST_PATH_SEP_)));
testdata_file_.Set(testdata_path_.RemoveTrailingPathSeparator());
unique_file0_.Set(FilePath::MakeFileName(testdata_path_, FilePath("unique"),
@@ -432,7 +438,7 @@ class DirectoryCreationTest : public Test {
remove(testdata_file_.c_str());
remove(unique_file0_.c_str());
remove(unique_file1_.c_str());
-#ifdef GTEST_OS_WINDOWS
+#if GTEST_OS_WINDOWS
_rmdir(testdata_path_.c_str());
#else
rmdir(testdata_path_.c_str());
@@ -443,7 +449,7 @@ class DirectoryCreationTest : public Test {
remove(testdata_file_.c_str());
remove(unique_file0_.c_str());
remove(unique_file1_.c_str());
-#ifdef GTEST_OS_WINDOWS
+#if GTEST_OS_WINDOWS
_rmdir(testdata_path_.c_str());
#else
rmdir(testdata_path_.c_str());
@@ -454,7 +460,7 @@ class DirectoryCreationTest : public Test {
#ifdef _WIN32_WCE
return String("\\temp\\");
-#elif defined(GTEST_OS_WINDOWS)
+#elif GTEST_OS_WINDOWS
// MSVC 8 deprecates getenv(), so we want to suppress warning 4996
// (deprecated function) there.
#pragma warning(push) // Saves the current warning state.
@@ -474,7 +480,7 @@ class DirectoryCreationTest : public Test {
}
void CreateTextFile(const char* filename) {
-#ifdef GTEST_OS_WINDOWS
+#if GTEST_OS_WINDOWS
// MSVC 8 deprecates fopen(), so we want to suppress warning 4996
// (deprecated function) there.#pragma warning(push)
#pragma warning(push) // Saves the current warning state.
@@ -585,18 +591,18 @@ TEST(FilePathTest, RemoveExtensionWhenThereIsNoExtension) {
TEST(FilePathTest, IsDirectory) {
EXPECT_FALSE(FilePath("cola").IsDirectory());
- EXPECT_TRUE(FilePath("koala" PATH_SEP).IsDirectory());
+ EXPECT_TRUE(FilePath("koala" GTEST_PATH_SEP_).IsDirectory());
}
TEST(FilePathTest, IsAbsolutePath) {
- EXPECT_FALSE(FilePath("is" PATH_SEP "relative").IsAbsolutePath());
+ EXPECT_FALSE(FilePath("is" GTEST_PATH_SEP_ "relative").IsAbsolutePath());
EXPECT_FALSE(FilePath("").IsAbsolutePath());
-#ifdef GTEST_OS_WINDOWS
- EXPECT_TRUE(FilePath("c:\\" PATH_SEP "is_not" PATH_SEP "relative")
- .IsAbsolutePath());
- EXPECT_FALSE(FilePath("c:foo" PATH_SEP "bar").IsAbsolutePath());
+#if GTEST_OS_WINDOWS
+ EXPECT_TRUE(FilePath("c:\\" GTEST_PATH_SEP_ "is_not"
+ GTEST_PATH_SEP_ "relative").IsAbsolutePath());
+ EXPECT_FALSE(FilePath("c:foo" GTEST_PATH_SEP_ "bar").IsAbsolutePath());
#else
- EXPECT_TRUE(FilePath(PATH_SEP "is_not" PATH_SEP "relative")
+ EXPECT_TRUE(FilePath(GTEST_PATH_SEP_ "is_not" GTEST_PATH_SEP_ "relative")
.IsAbsolutePath());
#endif // GTEST_OS_WINDOWS
}
@@ -605,4 +611,4 @@ TEST(FilePathTest, IsAbsolutePath) {
} // namespace internal
} // namespace testing
-#undef PATH_SEP
+#undef GTEST_PATH_SEP_