diff options
author | Colin Cross <ccross@android.com> | 2015-12-16 23:29:02 (GMT) |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2015-12-16 23:35:53 (GMT) |
commit | 5b910df397c6937552a6f3dee600da69c49702e2 (patch) | |
tree | a1d4e84664578f97ce51c2704449787f3fded85c /src/util_test.cc | |
parent | 4ffe56d387dce2bc5126fc4079ad2f2b31fba30e (diff) | |
download | Ninja-5b910df397c6937552a6f3dee600da69c49702e2.zip Ninja-5b910df397c6937552a6f3dee600da69c49702e2.tar.gz Ninja-5b910df397c6937552a6f3dee600da69c49702e2.tar.bz2 |
Canonicalize "." to "."
"." is a legal path, if the string is empty after canonicalization
return ".".
Diffstat (limited to 'src/util_test.cc')
-rw-r--r-- | src/util_test.cc | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/src/util_test.cc b/src/util_test.cc index 8ca7f56..33a4107 100644 --- a/src/util_test.cc +++ b/src/util_test.cc @@ -91,6 +91,22 @@ TEST(CanonicalizePath, PathSamples) { path = "/"; EXPECT_TRUE(CanonicalizePath(&path, &err)); EXPECT_EQ("", path); + + path = "/foo/.."; + EXPECT_TRUE(CanonicalizePath(&path, &err)); + EXPECT_EQ("", path); + + path = "."; + EXPECT_TRUE(CanonicalizePath(&path, &err)); + EXPECT_EQ(".", path); + + path = "./."; + EXPECT_TRUE(CanonicalizePath(&path, &err)); + EXPECT_EQ(".", path); + + path = "foo/.."; + EXPECT_TRUE(CanonicalizePath(&path, &err)); + EXPECT_EQ(".", path); } #ifdef _WIN32 @@ -288,22 +304,6 @@ TEST(CanonicalizePath, TooManyComponents) { } #endif -TEST(CanonicalizePath, EmptyResult) { - string path; - string err; - - EXPECT_FALSE(CanonicalizePath(&path, &err)); - EXPECT_EQ("empty path", err); - - path = "."; - EXPECT_FALSE(CanonicalizePath(&path, &err)); - EXPECT_EQ("path canonicalizes to the empty path", err); - - path = "./."; - EXPECT_FALSE(CanonicalizePath(&path, &err)); - EXPECT_EQ("path canonicalizes to the empty path", err); -} - TEST(CanonicalizePath, UpDir) { string path, err; path = "../../foo/bar.h"; |