Lines Matching refs:path
23 void CanonicalizePath(string* path) {
25 ::CanonicalizePath(path, &unused);
31 string path;
33 CanonicalizePath(&path);
34 EXPECT_EQ("", path);
36 path = "foo.h";
37 CanonicalizePath(&path);
38 EXPECT_EQ("foo.h", path);
40 path = "./foo.h";
41 CanonicalizePath(&path);
42 EXPECT_EQ("foo.h", path);
44 path = "./foo/./bar.h";
45 CanonicalizePath(&path);
46 EXPECT_EQ("foo/bar.h", path);
48 path = "./x/foo/../bar.h";
49 CanonicalizePath(&path);
50 EXPECT_EQ("x/bar.h", path);
52 path = "./x/foo/../../bar.h";
53 CanonicalizePath(&path);
54 EXPECT_EQ("bar.h", path);
56 path = "foo//bar";
57 CanonicalizePath(&path);
58 EXPECT_EQ("foo/bar", path);
60 path = "foo//.//..///bar";
61 CanonicalizePath(&path);
62 EXPECT_EQ("bar", path);
64 path = "./x/../foo/../../bar.h";
65 CanonicalizePath(&path);
66 EXPECT_EQ("../bar.h", path);
68 path = "foo/./.";
69 CanonicalizePath(&path);
70 EXPECT_EQ("foo", path);
72 path = "foo/bar/..";
73 CanonicalizePath(&path);
74 EXPECT_EQ("foo", path);
76 path = "foo/.hidden_bar";
77 CanonicalizePath(&path);
78 EXPECT_EQ("foo/.hidden_bar", path);
80 path = "/foo";
81 CanonicalizePath(&path);
82 EXPECT_EQ("/foo", path);
84 path = "//foo";
85 CanonicalizePath(&path);
87 EXPECT_EQ("//foo", path);
89 EXPECT_EQ("/foo", path);
92 path = "..";
93 CanonicalizePath(&path);
94 EXPECT_EQ("..", path);
96 path = "../";
97 CanonicalizePath(&path);
98 EXPECT_EQ("..", path);
100 path = "../foo";
101 CanonicalizePath(&path);
102 EXPECT_EQ("../foo", path);
104 path = "../foo/";
105 CanonicalizePath(&path);
106 EXPECT_EQ("../foo", path);
108 path = "../..";
109 CanonicalizePath(&path);
110 EXPECT_EQ("../..", path);
112 path = "../../";
113 CanonicalizePath(&path);
114 EXPECT_EQ("../..", path);
116 path = "./../";
117 CanonicalizePath(&path);
118 EXPECT_EQ("..", path);
120 path = "/..";
121 CanonicalizePath(&path);
122 EXPECT_EQ("/..", path);
124 path = "/../";
125 CanonicalizePath(&path);
126 EXPECT_EQ("/..", path);
128 path = "/../..";
129 CanonicalizePath(&path);
130 EXPECT_EQ("/../..", path);
132 path = "/../../";
133 CanonicalizePath(&path);
134 EXPECT_EQ("/../..", path);
136 path = "/";
137 CanonicalizePath(&path);
138 EXPECT_EQ("/", path);
140 path = "/foo/..";
141 CanonicalizePath(&path);
142 EXPECT_EQ("/", path);
144 path = ".";
145 CanonicalizePath(&path);
146 EXPECT_EQ(".", path);
148 path = "./.";
149 CanonicalizePath(&path);
150 EXPECT_EQ(".", path);
152 path = "foo/..";
153 CanonicalizePath(&path);
154 EXPECT_EQ(".", path);
156 path = "foo/.._bar";
157 CanonicalizePath(&path);
158 EXPECT_EQ("foo/.._bar", path);
163 string path;
165 CanonicalizePath(&path);
166 EXPECT_EQ("", path);
168 path = "foo.h";
169 CanonicalizePath(&path);
170 EXPECT_EQ("foo.h", path);
172 path = ".\\foo.h";
173 CanonicalizePath(&path);
174 EXPECT_EQ("foo.h", path);
176 path = ".\\foo\\.\\bar.h";
177 CanonicalizePath(&path);
178 EXPECT_EQ("foo/bar.h", path);
180 path = ".\\x\\foo\\..\\bar.h";
181 CanonicalizePath(&path);
182 EXPECT_EQ("x/bar.h", path);
184 path = ".\\x\\foo\\..\\..\\bar.h";
185 CanonicalizePath(&path);
186 EXPECT_EQ("bar.h", path);
188 path = "foo\\\\bar";
189 CanonicalizePath(&path);
190 EXPECT_EQ("foo/bar", path);
192 path = "foo\\\\.\\\\..\\\\\\bar";
193 CanonicalizePath(&path);
194 EXPECT_EQ("bar", path);
196 path = ".\\x\\..\\foo\\..\\..\\bar.h";
197 CanonicalizePath(&path);
198 EXPECT_EQ("../bar.h", path);
200 path = "foo\\.\\.";
201 CanonicalizePath(&path);
202 EXPECT_EQ("foo", path);
204 path = "foo\\bar\\..";
205 CanonicalizePath(&path);
206 EXPECT_EQ("foo", path);
208 path = "foo\\.hidden_bar";
209 CanonicalizePath(&path);
210 EXPECT_EQ("foo/.hidden_bar", path);
212 path = "\\foo";
213 CanonicalizePath(&path);
214 EXPECT_EQ("/foo", path);
216 path = "\\\\foo";
217 CanonicalizePath(&path);
218 EXPECT_EQ("//foo", path);
220 path = "\\";
221 CanonicalizePath(&path);
222 EXPECT_EQ("/", path);
226 string path;
229 path = "foo.h";
230 CanonicalizePath(&path, &slash_bits);
231 EXPECT_EQ("foo.h", path);
234 path = "a\\foo.h";
235 CanonicalizePath(&path, &slash_bits);
236 EXPECT_EQ("a/foo.h", path);
239 path = "a/bcd/efh\\foo.h";
240 CanonicalizePath(&path, &slash_bits);
241 EXPECT_EQ("a/bcd/efh/foo.h", path);
244 path = "a\\bcd/efh\\foo.h";
245 CanonicalizePath(&path, &slash_bits);
246 EXPECT_EQ("a/bcd/efh/foo.h", path);
249 path = "a\\bcd\\efh\\foo.h";
250 CanonicalizePath(&path, &slash_bits);
251 EXPECT_EQ("a/bcd/efh/foo.h", path);
254 path = "a/bcd/efh/foo.h";
255 CanonicalizePath(&path, &slash_bits);
256 EXPECT_EQ("a/bcd/efh/foo.h", path);
259 path = "a\\./efh\\foo.h";
260 CanonicalizePath(&path, &slash_bits);
261 EXPECT_EQ("a/efh/foo.h", path);
264 path = "a\\../efh\\foo.h";
265 CanonicalizePath(&path, &slash_bits);
266 EXPECT_EQ("efh/foo.h", path);
269 path = "a\\b\\c\\d\\e\\f\\g\\foo.h";
270 CanonicalizePath(&path, &slash_bits);
271 EXPECT_EQ("a/b/c/d/e/f/g/foo.h", path);
274 path = "a\\b\\c\\..\\..\\..\\g\\foo.h";
275 CanonicalizePath(&path, &slash_bits);
276 EXPECT_EQ("g/foo.h", path);
279 path = "a\\b/c\\../../..\\g\\foo.h";
280 CanonicalizePath(&path, &slash_bits);
281 EXPECT_EQ("g/foo.h", path);
284 path = "a\\b/c\\./../..\\g\\foo.h";
285 CanonicalizePath(&path, &slash_bits);
286 EXPECT_EQ("a/g/foo.h", path);
289 path = "a\\b/c\\./../..\\g/foo.h";
290 CanonicalizePath(&path, &slash_bits);
291 EXPECT_EQ("a/g/foo.h", path);
294 path = "a\\\\\\foo.h";
295 CanonicalizePath(&path, &slash_bits);
296 EXPECT_EQ("a/foo.h", path);
299 path = "a/\\\\foo.h";
300 CanonicalizePath(&path, &slash_bits);
301 EXPECT_EQ("a/foo.h", path);
304 path = "a\\//foo.h";
305 CanonicalizePath(&path, &slash_bits);
306 EXPECT_EQ("a/foo.h", path);
321 string path;
325 path = "a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./"
327 CanonicalizePath(&path, &slash_bits);
331 path =
337 CanonicalizePath(&path, &slash_bits);
340 // 65 is OK if #component is less than 60 after path canonicalization.
341 path = "a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./"
343 CanonicalizePath(&path, &slash_bits);
347 path =
352 CanonicalizePath(&path, &slash_bits);
357 path = "a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/"
359 EXPECT_EQ(58, std::count(path.begin(), path.end(), '/'));
360 CanonicalizePath(&path, &slash_bits);
364 path =
369 EXPECT_EQ(58, std::count(path.begin(), path.end(), '\\'));
370 CanonicalizePath(&path, &slash_bits);
374 path =
389 EXPECT_EQ(218, std::count(path.begin(), path.end(), '\\'));
390 CanonicalizePath(&path, &slash_bits);
395 string path;
399 path =
414 EXPECT_EQ(218, std::count(path.begin(), path.end(), '/'));
415 CanonicalizePath(&path, &slash_bits);
421 string path, err;
422 path = "../../foo/bar.h";
423 CanonicalizePath(&path);
424 EXPECT_EQ("../../foo/bar.h", path);
426 path = "test/../../foo/bar.h";
427 CanonicalizePath(&path);
428 EXPECT_EQ("../foo/bar.h", path);
432 string path = "/usr/include/stdio.h";
434 CanonicalizePath(&path);
435 EXPECT_EQ("/usr/include/stdio.h", path);
439 string path;
443 path = "foo/. bar/.";
445 CanonicalizePath(&path[0], &len, &unused);
447 EXPECT_EQ("foo/. bar/.", string(path));
451 path = "foo/../file bar/.";
453 CanonicalizePath(&path[0], &len, &unused);
455 EXPECT_EQ("file../file bar/.", string(path));
461 GetWin32EscapedString("foo bar\\\"'$@d!st!c'\\path'\\", &result);
462 EXPECT_EQ("\"foo bar\\\\\\\"'$@d!st!c'\\path'\\\\\"", result);
465 GetShellEscapedString("foo bar\"/'$@d!st!c'/path'", &result);
466 EXPECT_EQ("'foo bar\"/'\\''$@d!st!c'\\''/path'\\'''", result);
470 const char* path = "some/sensible/path/without/crazy/characters.c++";
473 GetWin32EscapedString(path, &result);
474 EXPECT_EQ(path, result);
477 GetShellEscapedString(path, &result);
478 EXPECT_EQ(path, result);
482 const char* path = "some\\sensible\\path\\without\\crazy\\characters.c++";
485 GetWin32EscapedString(path, &result);
486 EXPECT_EQ(path, result);