Adds Win32 UNC path support to FilePath::IsAbsolutePath() and FilePath::IsRootDirectory() in GoogleTest
Fixes: #3025 PiperOrigin-RevId: 481932601 Change-Id: I90fcb5b3d189aea79a0fd18735bad038b3511270
This commit is contained in:
committed by
Copybara-Service
parent
26d3ab5442
commit
f372c76026
@@ -421,8 +421,13 @@ TEST(NormalizeTest, MultipleConsecutiveSeparatorsInMidstring) {
|
||||
// "/bar" == //bar" == "///bar"
|
||||
TEST(NormalizeTest, MultipleConsecutiveSeparatorsAtStringStart) {
|
||||
EXPECT_EQ(GTEST_PATH_SEP_ "bar", FilePath(GTEST_PATH_SEP_ "bar").string());
|
||||
#if GTEST_OS_WINDOWS
|
||||
EXPECT_EQ(GTEST_PATH_SEP_ GTEST_PATH_SEP_ "bar",
|
||||
FilePath(GTEST_PATH_SEP_ GTEST_PATH_SEP_ "bar").string());
|
||||
#else
|
||||
EXPECT_EQ(GTEST_PATH_SEP_ "bar",
|
||||
FilePath(GTEST_PATH_SEP_ GTEST_PATH_SEP_ "bar").string());
|
||||
#endif
|
||||
EXPECT_EQ(
|
||||
GTEST_PATH_SEP_ "bar",
|
||||
FilePath(GTEST_PATH_SEP_ GTEST_PATH_SEP_ GTEST_PATH_SEP_ "bar").string());
|
||||
@@ -621,6 +626,9 @@ TEST(FilePathTest, IsAbsolutePath) {
|
||||
EXPECT_TRUE(
|
||||
FilePath("c:/" GTEST_PATH_SEP_ "is_not" GTEST_PATH_SEP_ "relative")
|
||||
.IsAbsolutePath());
|
||||
EXPECT_TRUE(FilePath("d:/Windows").IsAbsolutePath());
|
||||
EXPECT_TRUE(FilePath("\\\\Host\\Share").IsAbsolutePath());
|
||||
EXPECT_TRUE(FilePath("\\\\Host\\Share\\Folder").IsAbsolutePath());
|
||||
#else
|
||||
EXPECT_TRUE(FilePath(GTEST_PATH_SEP_ "is_not" GTEST_PATH_SEP_ "relative")
|
||||
.IsAbsolutePath());
|
||||
@@ -637,6 +645,16 @@ TEST(FilePathTest, IsRootDirectory) {
|
||||
EXPECT_FALSE(FilePath("b:a").IsRootDirectory());
|
||||
EXPECT_FALSE(FilePath("8:/").IsRootDirectory());
|
||||
EXPECT_FALSE(FilePath("c|/").IsRootDirectory());
|
||||
EXPECT_TRUE(FilePath("c:/").IsRootDirectory());
|
||||
EXPECT_FALSE(FilePath("d:/Windows").IsRootDirectory());
|
||||
|
||||
// This is for backward compatibility, since callers (even in this library)
|
||||
// have assumed IsRootDirectory() implies a trailing directory separator.
|
||||
EXPECT_FALSE(FilePath("\\\\Host\\Share").IsRootDirectory());
|
||||
|
||||
EXPECT_TRUE(FilePath("\\\\Host\\Share\\").IsRootDirectory());
|
||||
EXPECT_FALSE(FilePath("\\\\Host\\Share\\.").IsRootDirectory());
|
||||
EXPECT_FALSE(FilePath("\\\\Host\\Share\\C$\\").IsRootDirectory());
|
||||
#else
|
||||
EXPECT_TRUE(FilePath("/").IsRootDirectory());
|
||||
EXPECT_TRUE(FilePath("//").IsRootDirectory());
|
||||
|
||||
Reference in New Issue
Block a user