Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(124)

Side by Side Diff: base/file_path_unittest.cc

Issue 16805: Move Contains() method to file_utils, stop relying on in extensions_protocol (Closed)
Patch Set: Review feedback Created 11 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2008 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/basictypes.h" 5 #include "base/basictypes.h"
6 #include "base/file_path.h" 6 #include "base/file_path.h"
7 #include "base/file_util.h" 7 #include "base/file_util.h"
8 #include "base/path_service.h" 8 #include "base/path_service.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 #include "testing/platform_test.h" 10 #include "testing/platform_test.h"
(...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 }; 357 };
358 358
359 for (size_t i = 0; i < arraysize(cases); ++i) { 359 for (size_t i = 0; i < arraysize(cases); ++i) {
360 FilePath input(cases[i].input); 360 FilePath input(cases[i].input);
361 bool observed = input.IsAbsolute(); 361 bool observed = input.IsAbsolute();
362 EXPECT_EQ(cases[i].expected, observed) << 362 EXPECT_EQ(cases[i].expected, observed) <<
363 "i: " << i << ", input: " << input.value(); 363 "i: " << i << ", input: " << input.value();
364 } 364 }
365 } 365 }
366 366
367 TEST_F(FilePathTest, Contains) {
368 FilePath data_dir;
369 ASSERT_TRUE(PathService::Get(base::DIR_TEMP, &data_dir));
370 data_dir = data_dir.Append(FILE_PATH_LITERAL("FilePathTest"));
371
372 // Create a fresh, empty copy of this directory.
373 file_util::Delete(data_dir, true);
374 file_util::CreateDirectory(data_dir);
375
376 FilePath foo(data_dir.Append(FILE_PATH_LITERAL("foo")));
377 FilePath bar(foo.Append(FILE_PATH_LITERAL("bar.txt")));
378 FilePath baz(data_dir.Append(FILE_PATH_LITERAL("baz.txt")));
379 FilePath foobar(data_dir.Append(FILE_PATH_LITERAL("foobar.txt")));
380
381 // Annoyingly, the directories must actually exist in order for realpath(),
382 // which Contains() relies on in posix, to work.
383 file_util::CreateDirectory(foo);
384 std::string data("hello");
385 file_util::WriteFile(bar.ToWStringHack(), data.c_str(), data.length());
386 file_util::WriteFile(baz.ToWStringHack(), data.c_str(), data.length());
387 file_util::WriteFile(foobar.ToWStringHack(), data.c_str(), data.length());
388
389 EXPECT_TRUE(foo.Contains(bar));
390 EXPECT_FALSE(foo.Contains(baz));
391 EXPECT_FALSE(foo.Contains(foobar));
392 EXPECT_FALSE(foo.Contains(foo));
393
394 // Platform-specific concerns
395 FilePath foo_caps(data_dir.Append(FILE_PATH_LITERAL("FOO")));
396 #if defined(OS_WIN)
397 EXPECT_TRUE(foo.Contains(foo_caps.Append(FILE_PATH_LITERAL("bar.txt"))));
398 EXPECT_TRUE(foo.Contains(
399 FilePath(foo.value() + FILE_PATH_LITERAL("/bar.txt"))));
400 #elif defined(OS_LINUX)
401 EXPECT_FALSE(foo.Contains(foo_caps.Append(FILE_PATH_LITERAL("bar.txt"))));
402 #else
403 // We can't really do this test on osx since the case-sensitivity of the
404 // filesystem is configurable.
405 #endif
406
407 // Note: whether
408 }
409
410 TEST_F(FilePathTest, Extension) { 367 TEST_F(FilePathTest, Extension) {
411 FilePath base_dir(FILE_PATH_LITERAL("base_dir")); 368 FilePath base_dir(FILE_PATH_LITERAL("base_dir"));
412 369
413 FilePath jpg = base_dir.Append(FILE_PATH_LITERAL("foo.jpg")); 370 FilePath jpg = base_dir.Append(FILE_PATH_LITERAL("foo.jpg"));
414 EXPECT_EQ(jpg.Extension(), FILE_PATH_LITERAL(".jpg")); 371 EXPECT_EQ(jpg.Extension(), FILE_PATH_LITERAL(".jpg"));
415 372
416 FilePath base = jpg.BaseName().RemoveExtension(); 373 FilePath base = jpg.BaseName().RemoveExtension();
417 EXPECT_EQ(base.value(), FILE_PATH_LITERAL("foo")); 374 EXPECT_EQ(base.value(), FILE_PATH_LITERAL("foo"));
418 375
419 FilePath path_no_ext = base_dir.Append(base); 376 FilePath path_no_ext = base_dir.Append(base);
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
557 { { FPL("/foo.bar/foo"), FPL("baz") }, FPL("/foo.bar/foo.baz") }, 514 { { FPL("/foo.bar/foo"), FPL("baz") }, FPL("/foo.bar/foo.baz") },
558 { { FPL("/foo.bar/..////"), FPL("baz") }, FPL("") }, 515 { { FPL("/foo.bar/..////"), FPL("baz") }, FPL("") },
559 }; 516 };
560 for (unsigned int i = 0; i < arraysize(cases); ++i) { 517 for (unsigned int i = 0; i < arraysize(cases); ++i) {
561 FilePath path(cases[i].inputs[0]); 518 FilePath path(cases[i].inputs[0]);
562 FilePath replaced = path.ReplaceExtension(cases[i].inputs[1]); 519 FilePath replaced = path.ReplaceExtension(cases[i].inputs[1]);
563 EXPECT_EQ(cases[i].expected, replaced.value()) << "i: " << i << 520 EXPECT_EQ(cases[i].expected, replaced.value()) << "i: " << i <<
564 ", path: " << path.value() << ", replace: " << cases[i].inputs[1]; 521 ", path: " << path.value() << ", replace: " << cases[i].inputs[1];
565 } 522 }
566 } 523 }
567
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698