diff options
Diffstat (limited to 'src/util_test.cc')
-rw-r--r-- | src/util_test.cc | 55 |
1 files changed, 30 insertions, 25 deletions
diff --git a/src/util_test.cc b/src/util_test.cc index 87b614c..97a236f 100644 --- a/src/util_test.cc +++ b/src/util_test.cc @@ -18,46 +18,51 @@ TEST(CanonicalizePath, PathSamples) { std::string path = "foo.h"; - std::string err; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("", err); + CanonicalizePath(&path); EXPECT_EQ("foo.h", path); - path = "./foo.h"; err = ""; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("", err); + path = "./foo.h"; + CanonicalizePath(&path); EXPECT_EQ("foo.h", path); - path = "./foo/./bar.h"; err = ""; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("", err); + path = "./foo/./bar.h"; + CanonicalizePath(&path); EXPECT_EQ("foo/bar.h", path); - path = "./x/foo/../bar.h"; err = ""; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("", err); + path = "./x/foo/../bar.h"; + CanonicalizePath(&path); EXPECT_EQ("x/bar.h", path); - path = "./x/foo/../../bar.h"; err = ""; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("", err); + path = "./x/foo/../../bar.h"; + CanonicalizePath(&path); EXPECT_EQ("bar.h", path); - path = "foo//bar"; err = ""; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("", err); + path = "foo//bar"; + CanonicalizePath(&path); EXPECT_EQ("foo/bar", path); - path = "./x/../foo/../../bar.h"; err = ""; - EXPECT_FALSE(CanonicalizePath(&path, &err)); - EXPECT_EQ("can't canonicalize path './x/../foo/../../bar.h' that reaches " - "above its directory", err); + path = "foo//.//..///bar"; + CanonicalizePath(&path); + EXPECT_EQ("bar", path); + + path = "./x/../foo/../../bar.h"; + CanonicalizePath(&path); + EXPECT_EQ("../bar.h", path); +} + +TEST(CanonicalizePath, UpDir) { + std::string path, err; + path = "../../foo/bar.h"; + CanonicalizePath(&path); + EXPECT_EQ("../../foo/bar.h", path); + + path = "test/../../foo/bar.h"; + CanonicalizePath(&path); + EXPECT_EQ("../foo/bar.h", path); } TEST(CanonicalizePath, AbsolutePath) { string path = "/usr/include/stdio.h"; - string err = ""; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("", err); + CanonicalizePath(&path); EXPECT_EQ("/usr/include/stdio.h", path); } |