#include "common.hh" #include "pathutil.hh" #include TEST(pathutil, cleanup) { EXPECT_EQ("/", path::cleanup("")); EXPECT_EQ("/", path::cleanup("/")); EXPECT_EQ("/", path::cleanup("//")); EXPECT_EQ("/", path::cleanup("///////")); EXPECT_EQ("/", path::cleanup(".")); EXPECT_EQ("/", path::cleanup("/.")); EXPECT_EQ("/", path::cleanup("/./")); EXPECT_EQ("/", path::cleanup("/././././")); EXPECT_EQ("/", path::cleanup("./")); EXPECT_EQ("/", path::cleanup("..")); EXPECT_EQ("/", path::cleanup("../")); EXPECT_EQ("/", path::cleanup("/../")); EXPECT_EQ("/", path::cleanup("/..")); EXPECT_EQ("/", path::cleanup("/../../../..")); EXPECT_EQ("/foo/", path::cleanup("/../../../../foo/")); EXPECT_EQ("/foo", path::cleanup("/foo")); EXPECT_EQ("/foo/", path::cleanup("/foo/")); EXPECT_EQ("/foo/", path::cleanup("////foo////")); EXPECT_EQ("/foo/", path::cleanup("/./foo/")); EXPECT_EQ("/foo/", path::cleanup("/foo/.")); EXPECT_EQ("/", path::cleanup("/foo/..")); EXPECT_EQ("/bar", path::cleanup("/foo/../bar")); }