diff options
author | aedla@chromium.org <aedla@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-30 11:38:02 +0000 |
---|---|---|
committer | aedla@chromium.org <aedla@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-30 11:38:02 +0000 |
commit | 92e0649a8649cef6be545732bcaf0cfe5c196157 (patch) | |
tree | 1996f6a28c0ea638152ff6671a82a248f04b3ba4 /base/file_util_unittest.cc | |
parent | 3a85da43529145215cd9aa29e16942b0cddb50df (diff) | |
download | chromium_src-92e0649a8649cef6be545732bcaf0cfe5c196157.zip chromium_src-92e0649a8649cef6be545732bcaf0cfe5c196157.tar.gz chromium_src-92e0649a8649cef6be545732bcaf0cfe5c196157.tar.bz2 |
Fix creating target paths in file_util_posix CopyDirectory.
BUG=167840
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=176659
Review URL: https://chromiumcodereview.appspot.com/11773018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@179590 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/file_util_unittest.cc')
-rw-r--r-- | base/file_util_unittest.cc | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/base/file_util_unittest.cc b/base/file_util_unittest.cc index b175abf..d4ce43c 100644 --- a/base/file_util_unittest.cc +++ b/base/file_util_unittest.cc @@ -1466,6 +1466,43 @@ TEST_F(FileUtilTest, CopyFileWithCopyDirectoryRecursiveToExistingDirectory) { EXPECT_TRUE(file_util::PathExists(file_name_to)); } +TEST_F(FileUtilTest, CopyDirectoryWithTrailingSeparators) { + // Create a directory. + FilePath dir_name_from = + temp_dir_.path().Append(FILE_PATH_LITERAL("Copy_From_Subdir")); + file_util::CreateDirectory(dir_name_from); + ASSERT_TRUE(file_util::PathExists(dir_name_from)); + + // Create a file under the directory. + FilePath file_name_from = + dir_name_from.Append(FILE_PATH_LITERAL("Copy_Test_File.txt")); + CreateTextFile(file_name_from, L"Gooooooooooooooooooooogle"); + ASSERT_TRUE(file_util::PathExists(file_name_from)); + + // Copy the directory recursively. + FilePath dir_name_to = + temp_dir_.path().Append(FILE_PATH_LITERAL("Copy_To_Subdir")); + FilePath file_name_to = + dir_name_to.Append(FILE_PATH_LITERAL("Copy_Test_File.txt")); + + // Create from path with trailing separators. +#if defined(OS_WIN) + FilePath from_path = + temp_dir_.path().Append(FILE_PATH_LITERAL("Copy_From_Subdir\\\\\\")); +#elif defined (OS_POSIX) + FilePath from_path = + temp_dir_.path().Append(FILE_PATH_LITERAL("Copy_From_Subdir///")); +#endif + + EXPECT_TRUE(file_util::CopyDirectory(from_path, dir_name_to, true)); + + // Check everything has been copied. + EXPECT_TRUE(file_util::PathExists(dir_name_from)); + EXPECT_TRUE(file_util::PathExists(file_name_from)); + EXPECT_TRUE(file_util::PathExists(dir_name_to)); + EXPECT_TRUE(file_util::PathExists(file_name_to)); +} + TEST_F(FileUtilTest, CopyFile) { // Create a directory FilePath dir_name_from = |