1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#include "common.hh"
#include "pathutil.hh"
#include <gtest/gtest.h>
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"));
}
|