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

Side by Side Diff: base/file_util_unittest.cc

Issue 13196006: Move path functions from file_util to FilePath object. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Move AsAbsolute back out of FilePath Created 7 years, 8 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "build/build_config.h" 5 #include "build/build_config.h"
6 6
7 #if defined(OS_WIN) 7 #if defined(OS_WIN)
8 #include <windows.h> 8 #include <windows.h>
9 #include <shellapi.h> 9 #include <shellapi.h>
10 #include <shlobj.h> 10 #include <shlobj.h>
(...skipping 1977 matching lines...) Expand 10 before | Expand all | Expand 10 after
1988 EXPECT_EQ(-1, file_util::AppendToFile(foobar, data.c_str(), data.length())); 1988 EXPECT_EQ(-1, file_util::AppendToFile(foobar, data.c_str(), data.length()));
1989 EXPECT_EQ(static_cast<int>(data.length()), 1989 EXPECT_EQ(static_cast<int>(data.length()),
1990 file_util::WriteFile(foobar, data.c_str(), data.length())); 1990 file_util::WriteFile(foobar, data.c_str(), data.length()));
1991 EXPECT_EQ(static_cast<int>(data.length()), 1991 EXPECT_EQ(static_cast<int>(data.length()),
1992 file_util::AppendToFile(foobar, data.c_str(), data.length())); 1992 file_util::AppendToFile(foobar, data.c_str(), data.length()));
1993 1993
1994 const std::wstring read_content = ReadTextFile(foobar); 1994 const std::wstring read_content = ReadTextFile(foobar);
1995 EXPECT_EQ(L"hellohello", read_content); 1995 EXPECT_EQ(L"hellohello", read_content);
1996 } 1996 }
1997 1997
1998 TEST_F(FileUtilTest, Contains) {
1999 FilePath data_dir =
2000 temp_dir_.path().Append(FILE_PATH_LITERAL("FilePathTest"));
2001
2002 // Create a fresh, empty copy of this directory.
2003 if (file_util::PathExists(data_dir)) {
2004 ASSERT_TRUE(file_util::Delete(data_dir, true));
2005 }
2006 ASSERT_TRUE(file_util::CreateDirectory(data_dir));
2007
2008 FilePath foo(data_dir.Append(FILE_PATH_LITERAL("foo")));
2009 FilePath bar(foo.Append(FILE_PATH_LITERAL("bar.txt")));
2010 FilePath baz(data_dir.Append(FILE_PATH_LITERAL("baz.txt")));
2011 FilePath foobar(data_dir.Append(FILE_PATH_LITERAL("foobar.txt")));
2012
2013 // Annoyingly, the directories must actually exist in order for realpath(),
2014 // which Contains() relies on in posix, to work.
2015 ASSERT_TRUE(file_util::CreateDirectory(foo));
2016 std::string data("hello");
2017 ASSERT_TRUE(file_util::WriteFile(bar, data.c_str(), data.length()));
2018 ASSERT_TRUE(file_util::WriteFile(baz, data.c_str(), data.length()));
2019 ASSERT_TRUE(file_util::WriteFile(foobar, data.c_str(), data.length()));
2020
2021 EXPECT_TRUE(file_util::ContainsPath(foo, bar));
2022 EXPECT_FALSE(file_util::ContainsPath(foo, baz));
2023 EXPECT_FALSE(file_util::ContainsPath(foo, foobar));
2024 EXPECT_FALSE(file_util::ContainsPath(foo, foo));
2025
2026 // Platform-specific concerns.
2027 FilePath foo_caps(data_dir.Append(FILE_PATH_LITERAL("FOO")));
2028 #if defined(OS_WIN)
2029 EXPECT_TRUE(file_util::ContainsPath(foo,
2030 foo_caps.Append(FILE_PATH_LITERAL("bar.txt"))));
2031 EXPECT_TRUE(file_util::ContainsPath(foo,
2032 FilePath(foo.value() + FILE_PATH_LITERAL("/bar.txt"))));
2033 #elif defined(OS_MACOSX)
2034 // We can't really do this test on OS X since the case-sensitivity of the
2035 // filesystem is configurable.
2036 #elif defined(OS_POSIX)
2037 EXPECT_FALSE(file_util::ContainsPath(foo,
2038 foo_caps.Append(FILE_PATH_LITERAL("bar.txt"))));
2039 #endif
2040 }
2041
2042 TEST_F(FileUtilTest, TouchFile) { 1998 TEST_F(FileUtilTest, TouchFile) {
2043 FilePath data_dir = 1999 FilePath data_dir =
2044 temp_dir_.path().Append(FILE_PATH_LITERAL("FilePathTest")); 2000 temp_dir_.path().Append(FILE_PATH_LITERAL("FilePathTest"));
2045 2001
2046 // Create a fresh, empty copy of this directory. 2002 // Create a fresh, empty copy of this directory.
2047 if (file_util::PathExists(data_dir)) { 2003 if (file_util::PathExists(data_dir)) {
2048 ASSERT_TRUE(file_util::Delete(data_dir, true)); 2004 ASSERT_TRUE(file_util::Delete(data_dir, true));
2049 } 2005 }
2050 ASSERT_TRUE(file_util::CreateDirectory(data_dir)); 2006 ASSERT_TRUE(file_util::CreateDirectory(data_dir));
2051 2007
(...skipping 404 matching lines...) Expand 10 before | Expand all | Expand 10 after
2456 file_util::VerifyPathControlledByUser( 2412 file_util::VerifyPathControlledByUser(
2457 base_dir_, text_file_, uid_, ok_gids_)); 2413 base_dir_, text_file_, uid_, ok_gids_));
2458 EXPECT_TRUE( 2414 EXPECT_TRUE(
2459 file_util::VerifyPathControlledByUser( 2415 file_util::VerifyPathControlledByUser(
2460 sub_dir_, text_file_, uid_, ok_gids_)); 2416 sub_dir_, text_file_, uid_, ok_gids_));
2461 } 2417 }
2462 2418
2463 #endif // defined(OS_POSIX) 2419 #endif // defined(OS_POSIX)
2464 2420
2465 } // namespace 2421 } // namespace
OLDNEW
« no previous file with comments | « base/file_util_posix.cc ('k') | base/file_util_win.cc » ('j') | base/files/file_path.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698