diff options
author | ericu@chromium.org <ericu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-16 18:45:17 +0000 |
---|---|---|
committer | ericu@chromium.org <ericu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-16 18:45:17 +0000 |
commit | 89ee4277d12f210e855090a1ca840a38b2927345 (patch) | |
tree | 5ca0b2fcf206f655007451b732bd8e916b5f31a3 /webkit/fileapi | |
parent | 9830d77aa9cc9efd03d64226b15cfd94c39e66f8 (diff) | |
download | chromium_src-89ee4277d12f210e855090a1ca840a38b2927345.zip chromium_src-89ee4277d12f210e855090a1ca840a38b2927345.tar.gz chromium_src-89ee4277d12f210e855090a1ca840a38b2927345.tar.bz2 |
A few small cleanup items from TODOs in the Obfuscated filesystem code--unit tests and one data type change.
BUG=none
TEST=unit tests included
Review URL: http://codereview.chromium.org/7013054
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85508 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/fileapi')
5 files changed, 183 insertions, 106 deletions
diff --git a/webkit/fileapi/file_system_directory_database.cc b/webkit/fileapi/file_system_directory_database.cc index d3d5bae..048c6e2 100644 --- a/webkit/fileapi/file_system_directory_database.cc +++ b/webkit/fileapi/file_system_directory_database.cc @@ -18,14 +18,17 @@ bool PickleFromFileInfo( Pickle* pickle) { DCHECK(pickle); std::string data_path; + std::string name; #if defined(OS_POSIX) data_path = info.data_path.value(); + name = info.name; #elif defined(OS_WIN) data_path = base::SysWideToUTF8(info.data_path.value()); + name = base::SysWideToUTF8(info.name); #endif if (pickle->WriteInt64(info.parent_id) && pickle->WriteString(data_path) && - pickle->WriteString(info.name) && + pickle->WriteString(name) && pickle->WriteInt64(info.modification_time.ToInternalValue())) return true; @@ -38,16 +41,19 @@ bool FileInfoFromPickle( fileapi::FileSystemDirectoryDatabase::FileInfo* info) { void* iter = NULL; std::string data_path; + std::string name; int64 internal_time; if (pickle.ReadInt64(&iter, &info->parent_id) && pickle.ReadString(&iter, &data_path) && - pickle.ReadString(&iter, &info->name) && + pickle.ReadString(&iter, &name) && pickle.ReadInt64(&iter, &internal_time)) { #if defined(OS_POSIX) info->data_path = FilePath(data_path); + info->name = name; #elif defined(OS_WIN) info->data_path = FilePath(base::SysUTF8ToWide(data_path)); + info->name = base::SysUTF8ToWide(name); #endif info->modification_time = base::Time::FromInternalValue(internal_time); return true; @@ -63,11 +69,17 @@ const char kLastIntegerKey[] = "LAST_INTEGER"; std::string GetChildLookupKey( fileapi::FileSystemDirectoryDatabase::FileId parent_id, - const std::string& child_name) { + const FilePath::StringType& child_name) { // TODO(ericu): child_name may need to be case-folded, pending discussion on // public-webapps. + std::string name; +#if defined(OS_POSIX) + name = child_name; +#elif defined(OS_WIN) + name = base::SysWideToUTF8(child_name); +#endif return std::string(kChildLookupPrefix) + base::Int64ToString(parent_id) + - std::string(kChildLookupSeparator) + child_name; + std::string(kChildLookupSeparator) + name; } std::string GetChildListingKeyPrefix( @@ -111,7 +123,7 @@ FileSystemDirectoryDatabase::~FileSystemDirectoryDatabase() { } bool FileSystemDirectoryDatabase::GetChildWithName( - FileId parent_id, const std::string& name, FileId* child_id) { + FileId parent_id, const FilePath::StringType& name, FileId* child_id) { if (!Init()) return false; DCHECK(child_id); @@ -139,13 +151,9 @@ bool FileSystemDirectoryDatabase::GetFileWithPath( FileId local_id = 0; std::vector<FilePath::StringType>::iterator iter; for (iter = components.begin(); iter != components.end(); ++iter) { - std::string name; -#if defined(OS_POSIX) + FilePath::StringType name; name = *iter; -#elif defined(OS_WIN) - name = base::SysWideToUTF8(*iter); -#endif - if (name == "/") + if (name == FILE_PATH_LITERAL("/")) continue; if (!GetChildWithName(local_id, name, &local_id)) return false; @@ -318,6 +326,8 @@ bool FileSystemDirectoryDatabase::OverwritingMoveFile( return false; if (!GetFileInfo(dest_file_id, &dest_file_info)) return false; + if (src_file_info.is_directory() || dest_file_info.is_directory()) + return false; leveldb::WriteBatch batch; // This is the only field that really gets moved over; if you add fields to // FileInfo, e.g. ctime, they might need to be copied here. diff --git a/webkit/fileapi/file_system_directory_database.h b/webkit/fileapi/file_system_directory_database.h index 1ac656b..22f1212 100644 --- a/webkit/fileapi/file_system_directory_database.h +++ b/webkit/fileapi/file_system_directory_database.h @@ -44,8 +44,7 @@ class FileSystemDirectoryDatabase { FileId parent_id; FilePath data_path; - // TODO: Switch name to be FilePath::StringType to cut down on conversions. - std::string name; + FilePath::StringType name; // This modification time is valid only for directories, not files, as // FileWriter will get the files out of sync. // For files, look at the modification time of the underlying data_path. @@ -56,7 +55,7 @@ class FileSystemDirectoryDatabase { ~FileSystemDirectoryDatabase(); bool GetChildWithName( - FileId parent_id, const std::string& name, FileId* child_id); + FileId parent_id, const FilePath::StringType& name, FileId* child_id); bool GetFileWithPath(const FilePath& path, FileId* file_id); // ListChildren will succeed, returning 0 children, if parent_id doesn't // exist. diff --git a/webkit/fileapi/file_system_directory_database_unittest.cc b/webkit/fileapi/file_system_directory_database_unittest.cc index af0cae4..e6f6a22d 100644 --- a/webkit/fileapi/file_system_directory_database_unittest.cc +++ b/webkit/fileapi/file_system_directory_database_unittest.cc @@ -32,7 +32,7 @@ class FileSystemDirectoryDatabaseTest : public testing::Test { db_.reset(new FileSystemDirectoryDatabase(path)); } - bool AddFileInfo(FileId parent_id, const std::string& name) { + bool AddFileInfo(FileId parent_id, const FilePath::StringType& name) { FileId file_id; FileInfo info; info.parent_id = parent_id; @@ -56,37 +56,37 @@ TEST_F(FileSystemDirectoryDatabaseTest, TestMissingFileGetInfo) { TEST_F(FileSystemDirectoryDatabaseTest, TestMissingParentAddFileInfo) { FileId parent_id = 7; - EXPECT_FALSE(AddFileInfo(parent_id, "foo")); + EXPECT_FALSE(AddFileInfo(parent_id, FILE_PATH_LITERAL("foo"))); } TEST_F(FileSystemDirectoryDatabaseTest, TestAddNameClash) { FileInfo info; FileId file_id; info.parent_id = 0; - info.name = "dir 0"; + info.name = FILE_PATH_LITERAL("dir 0"); EXPECT_TRUE(db()->AddFileInfo(info, &file_id)); // Check for name clash in the root directory. - std::string name = info.name; + FilePath::StringType name = info.name; EXPECT_FALSE(AddFileInfo(0, name)); - name = "dir 1"; + name = FILE_PATH_LITERAL("dir 1"); EXPECT_TRUE(AddFileInfo(0, name)); - name = "subdir 0"; + name = FILE_PATH_LITERAL("subdir 0"); EXPECT_TRUE(AddFileInfo(file_id, name)); // Check for name clash in a subdirectory. EXPECT_FALSE(AddFileInfo(file_id, name)); - name = "subdir 1"; + name = FILE_PATH_LITERAL("subdir 1"); EXPECT_TRUE(AddFileInfo(file_id, name)); } TEST_F(FileSystemDirectoryDatabaseTest, TestRenameNoMoveNameClash) { FileInfo info; FileId file_id0; - std::string name0 = "foo"; - std::string name1 = "bar"; - std::string name2 = "bas"; + FilePath::StringType name0 = FILE_PATH_LITERAL("foo"); + FilePath::StringType name1 = FILE_PATH_LITERAL("bar"); + FilePath::StringType name2 = FILE_PATH_LITERAL("bas"); info.parent_id = 0; info.name = name0; EXPECT_TRUE(db()->AddFileInfo(info, &file_id0)); @@ -101,8 +101,8 @@ TEST_F(FileSystemDirectoryDatabaseTest, TestMoveSameNameNameClash) { FileInfo info; FileId file_id0; FileId file_id1; - std::string name0 = "foo"; - std::string name1 = "bar"; + FilePath::StringType name0 = FILE_PATH_LITERAL("foo"); + FilePath::StringType name1 = FILE_PATH_LITERAL("bar"); info.parent_id = 0; info.name = name0; EXPECT_TRUE(db()->AddFileInfo(info, &file_id0)); @@ -114,15 +114,13 @@ TEST_F(FileSystemDirectoryDatabaseTest, TestMoveSameNameNameClash) { EXPECT_TRUE(db()->UpdateFileInfo(file_id1, info)); } -// TODO: Test UpdateFileInfo without move or rename. - TEST_F(FileSystemDirectoryDatabaseTest, TestMoveRenameNameClash) { FileInfo info; FileId file_id0; FileId file_id1; - std::string name0 = "foo"; - std::string name1 = "bar"; - std::string name2 = "bas"; + FilePath::StringType name0 = FILE_PATH_LITERAL("foo"); + FilePath::StringType name1 = FILE_PATH_LITERAL("bar"); + FilePath::StringType name2 = FILE_PATH_LITERAL("bas"); info.parent_id = 0; info.name = name0; EXPECT_TRUE(db()->AddFileInfo(info, &file_id0)); @@ -145,7 +143,7 @@ TEST_F(FileSystemDirectoryDatabaseTest, TestRemoveWithChildren) { FileId file_id0; FileId file_id1; info.parent_id = 0; - info.name = "foo"; + info.name = FILE_PATH_LITERAL("foo"); EXPECT_TRUE(db()->AddFileInfo(info, &file_id0)); info.parent_id = file_id0; EXPECT_TRUE(db()->AddFileInfo(info, &file_id1)); @@ -158,8 +156,8 @@ TEST_F(FileSystemDirectoryDatabaseTest, TestGetChildWithName) { FileInfo info; FileId file_id0; FileId file_id1; - std::string name0 = "foo"; - std::string name1 = "bar"; + FilePath::StringType name0 = FILE_PATH_LITERAL("foo"); + FilePath::StringType name1 = FILE_PATH_LITERAL("bar"); info.parent_id = 0; info.name = name0; EXPECT_TRUE(db()->AddFileInfo(info, &file_id0)); @@ -177,7 +175,41 @@ TEST_F(FileSystemDirectoryDatabaseTest, TestGetChildWithName) { EXPECT_EQ(file_id1, check_file_id); } -// TODO(ericu): Test GetFileWithPath. +TEST_F(FileSystemDirectoryDatabaseTest, TestGetFileWithPath) { + FileInfo info; + FileId file_id0; + FileId file_id1; + FileId file_id2; + FilePath::StringType name0 = FILE_PATH_LITERAL("foo"); + FilePath::StringType name1 = FILE_PATH_LITERAL("bar"); + FilePath::StringType name2 = FILE_PATH_LITERAL("dog"); + + info.parent_id = 0; + info.name = name0; + EXPECT_TRUE(db()->AddFileInfo(info, &file_id0)); + info.parent_id = file_id0; + info.name = name1; + EXPECT_TRUE(db()->AddFileInfo(info, &file_id1)); + EXPECT_NE(file_id0, file_id1); + info.parent_id = file_id1; + info.name = name2; + EXPECT_TRUE(db()->AddFileInfo(info, &file_id2)); + EXPECT_NE(file_id0, file_id2); + EXPECT_NE(file_id1, file_id2); + + FileId check_file_id; + FilePath path = FilePath(name0); + EXPECT_TRUE(db()->GetFileWithPath(path, &check_file_id)); + EXPECT_EQ(file_id0, check_file_id); + + path = path.Append(name1); + EXPECT_TRUE(db()->GetFileWithPath(path, &check_file_id)); + EXPECT_EQ(file_id1, check_file_id); + + path = path.Append(name2); + EXPECT_TRUE(db()->GetFileWithPath(path, &check_file_id)); + EXPECT_EQ(file_id2, check_file_id); +} TEST_F(FileSystemDirectoryDatabaseTest, TestListChildren) { // No children in the root. @@ -189,7 +221,7 @@ TEST_F(FileSystemDirectoryDatabaseTest, TestListChildren) { FileId file_id0; FileInfo info; info.parent_id = 0; - info.name = "foo"; + info.name = FILE_PATH_LITERAL("foo"); EXPECT_TRUE(db()->AddFileInfo(info, &file_id0)); EXPECT_TRUE(db()->ListChildren(0, &children)); EXPECT_EQ(children.size(), 1UL); @@ -197,7 +229,7 @@ TEST_F(FileSystemDirectoryDatabaseTest, TestListChildren) { // Two children in the root. FileId file_id1; - info.name = "bar"; + info.name = FILE_PATH_LITERAL("bar"); EXPECT_TRUE(db()->AddFileInfo(info, &file_id1)); EXPECT_TRUE(db()->ListChildren(0, &children)); EXPECT_EQ(2UL, children.size()); @@ -214,7 +246,7 @@ TEST_F(FileSystemDirectoryDatabaseTest, TestListChildren) { // One child in a subdirectory. info.parent_id = file_id0; - info.name = "foo"; + info.name = FILE_PATH_LITERAL("foo"); FileId file_id2; FileId file_id3; EXPECT_TRUE(db()->AddFileInfo(info, &file_id2)); @@ -223,7 +255,7 @@ TEST_F(FileSystemDirectoryDatabaseTest, TestListChildren) { EXPECT_EQ(children[0], file_id2); // Two children in a subdirectory. - info.name = "bar"; + info.name = FILE_PATH_LITERAL("bar"); EXPECT_TRUE(db()->AddFileInfo(info, &file_id3)); EXPECT_TRUE(db()->ListChildren(file_id0, &children)); EXPECT_EQ(2UL, children.size()); @@ -239,8 +271,8 @@ TEST_F(FileSystemDirectoryDatabaseTest, TestUpdateModificationTime) { FileInfo info0; FileId file_id; info0.parent_id = 0; - info0.name = "name"; - info0.data_path = FilePath().AppendASCII("fake path"); + info0.name = FILE_PATH_LITERAL("name"); + info0.data_path = FilePath(FILE_PATH_LITERAL("fake path")); info0.modification_time = base::Time::Now(); EXPECT_TRUE(db()->AddFileInfo(info0, &file_id)); FileInfo info1; @@ -266,8 +298,8 @@ TEST_F(FileSystemDirectoryDatabaseTest, TestSimpleFileOperations) { FileInfo info0; EXPECT_FALSE(db()->GetFileInfo(file_id, &info0)); info0.parent_id = 0; - info0.data_path = FilePath().AppendASCII("foo"); - info0.name = "file name"; + info0.data_path = FilePath(FILE_PATH_LITERAL("foo")); + info0.name = FILE_PATH_LITERAL("file name"); info0.modification_time = base::Time::Now(); EXPECT_TRUE(db()->AddFileInfo(info0, &file_id)); FileInfo info1; @@ -278,7 +310,79 @@ TEST_F(FileSystemDirectoryDatabaseTest, TestSimpleFileOperations) { EXPECT_EQ(info0.modification_time, info1.modification_time); } -// TODO: Test for OverwritingMoveFile. +TEST_F(FileSystemDirectoryDatabaseTest, TestOverwritingMoveFileSrcDirectory) { + FileId directory_id; + FileInfo info0; + info0.parent_id = 0; + info0.name = FILE_PATH_LITERAL("directory"); + info0.modification_time = base::Time::Now(); + EXPECT_TRUE(db()->AddFileInfo(info0, &directory_id)); + + FileId file_id; + FileInfo info1; + info1.parent_id = 0; + info1.data_path = FilePath(FILE_PATH_LITERAL("bar")); + info1.name = FILE_PATH_LITERAL("file"); + info1.modification_time = base::Time::UnixEpoch(); + EXPECT_TRUE(db()->AddFileInfo(info1, &file_id)); + + EXPECT_FALSE(db()->OverwritingMoveFile(directory_id, file_id)); +} + +TEST_F(FileSystemDirectoryDatabaseTest, TestOverwritingMoveFileDestDirectory) { + FileId file_id; + FileInfo info0; + info0.parent_id = 0; + info0.name = FILE_PATH_LITERAL("file"); + info0.data_path = FilePath(FILE_PATH_LITERAL("bar")); + info0.modification_time = base::Time::Now(); + EXPECT_TRUE(db()->AddFileInfo(info0, &file_id)); + + FileId directory_id; + FileInfo info1; + info1.parent_id = 0; + info1.name = FILE_PATH_LITERAL("directory"); + info1.modification_time = base::Time::UnixEpoch(); + EXPECT_TRUE(db()->AddFileInfo(info1, &directory_id)); + + EXPECT_FALSE(db()->OverwritingMoveFile(file_id, directory_id)); +} + +TEST_F(FileSystemDirectoryDatabaseTest, TestOverwritingMoveFileSuccess) { + FileId file_id0; + FileInfo info0; + info0.parent_id = 0; + info0.data_path = FilePath(FILE_PATH_LITERAL("foo")); + info0.name = FILE_PATH_LITERAL("file name 0"); + info0.modification_time = base::Time::Now(); + EXPECT_TRUE(db()->AddFileInfo(info0, &file_id0)); + + FileInfo dir_info; + FileId dir_id; + dir_info.parent_id = 0; + dir_info.name = FILE_PATH_LITERAL("directory name"); + EXPECT_TRUE(db()->AddFileInfo(dir_info, &dir_id)); + + FileId file_id1; + FileInfo info1; + info1.parent_id = dir_id; + info1.data_path = FilePath(FILE_PATH_LITERAL("bar")); + info1.name = FILE_PATH_LITERAL("file name 1"); + info1.modification_time = base::Time::UnixEpoch(); + EXPECT_TRUE(db()->AddFileInfo(info1, &file_id1)); + + EXPECT_TRUE(db()->OverwritingMoveFile(file_id0, file_id1)); + + FileInfo check_info; + FileId check_id; + + EXPECT_FALSE(db()->GetFileWithPath(FilePath(info0.name), &check_id)); + EXPECT_TRUE(db()->GetFileWithPath( + FilePath(dir_info.name).Append(info1.name), &check_id)); + EXPECT_TRUE(db()->GetFileInfo(check_id, &check_info)); + + EXPECT_EQ(info0.data_path, check_info.data_path); +} TEST_F(FileSystemDirectoryDatabaseTest, TestGetNextInteger) { int64 next; diff --git a/webkit/fileapi/obfuscated_file_system_file_util.cc b/webkit/fileapi/obfuscated_file_system_file_util.cc index 0d61ed3..3fe883c 100644 --- a/webkit/fileapi/obfuscated_file_system_file_util.cc +++ b/webkit/fileapi/obfuscated_file_system_file_util.cc @@ -37,11 +37,7 @@ void InitFileInfo( DCHECK(file_info); file_info->parent_id = parent_id; file_info->data_path = data_path; -#if defined(OS_POSIX) file_info->name = file_name; -#elif defined(OS_WIN) - file_info->name = base::SysWideToUTF8(file_name); -#endif } } // namespace @@ -217,11 +213,7 @@ PlatformFileError ObfuscatedFileSystemFileUtil::ReadDirectory( return base::PLATFORM_FILE_ERROR_FAILED; } base::FileUtilProxy::Entry entry; -#if defined(OS_POSIX) entry.name = file_info.name; -#elif defined(OS_WIN) - entry.name = base::SysUTF8ToWide(file_info.name); -#endif entry.is_directory = file_info.is_directory(); entries->push_back(entry); } @@ -256,13 +248,8 @@ PlatformFileError ObfuscatedFileSystemFileUtil::CreateDirectory( FileId parent_id = 0; size_t index; for (index = 0; index < components.size(); ++index) { - std::string name; -#if defined(OS_POSIX) - name = components[index]; -#elif defined(OS_WIN) - name = base::SysWideToUTF8(components[index]); -#endif - if (name == "/") + FilePath::StringType name = components[index]; + if (name == FILE_PATH_LITERAL("/")) continue; if (!db->GetChildWithName(parent_id, name, &parent_id)) break; @@ -271,12 +258,8 @@ PlatformFileError ObfuscatedFileSystemFileUtil::CreateDirectory( return base::PLATFORM_FILE_ERROR_NOT_FOUND; for (; index < components.size(); ++index) { FileInfo file_info; -#if defined(OS_POSIX) file_info.name = components[index]; -#elif defined(OS_WIN) - file_info.name = base::SysWideToUTF8(components[index]); -#endif - if (file_info.name == "/") + if (file_info.name == FILE_PATH_LITERAL("/")) continue; file_info.modification_time = base::Time::Now(); file_info.parent_id = parent_id; @@ -365,12 +348,7 @@ PlatformFileError ObfuscatedFileSystemFileUtil::CopyOrMoveFile( return base::PLATFORM_FILE_ERROR_FAILED; } src_file_info.parent_id = dest_parent_id; -#if defined(OS_POSIX) src_file_info.name = dest_file_path.BaseName().value(); -#elif defined(OS_WIN) - src_file_info.name = base::SysWideToUTF8( - dest_file_path.BaseName().value()); -#endif if (!db->UpdateFileInfo(src_file_id, src_file_info)) return base::PLATFORM_FILE_ERROR_FAILED; return base::PLATFORM_FILE_OK; @@ -595,13 +573,7 @@ class ObfuscatedFileSystemFileEnumerator child.file_id = *iter; if (!db_->GetFileInfo(child.file_id, &child.file_info)) return; - FilePath::StringType name; -#if defined(OS_POSIX) - name = child.file_info.name; -#elif defined(OS_WIN) - name = base::SysUTF8ToWide(child.file_info.name); -#endif - child.file_path = directory.file_path.Append(name); + child.file_path = directory.file_path.Append(child.file_info.name); display_queue_.push(child); } } diff --git a/webkit/fileapi/obfuscated_file_system_file_util_unittest.cc b/webkit/fileapi/obfuscated_file_system_file_util_unittest.cc index 07e0cd9..2595836 100644 --- a/webkit/fileapi/obfuscated_file_system_file_util_unittest.cc +++ b/webkit/fileapi/obfuscated_file_system_file_util_unittest.cc @@ -168,30 +168,30 @@ class ObfuscatedFileSystemFileUtilTest : public testing::Test { void ValidateTestDirectory( const FilePath& root_path, - const std::set<std::string>& files, - const std::set<std::string>& directories) { + const std::set<FilePath::StringType>& files, + const std::set<FilePath::StringType>& directories) { scoped_ptr<FileSystemOperationContext> context; - std::set<std::string>::const_iterator iter; + std::set<FilePath::StringType>::const_iterator iter; for (iter = files.begin(); iter != files.end(); ++iter) { bool created = true; context.reset(NewContext()); ASSERT_EQ(base::PLATFORM_FILE_OK, ofsfu()->EnsureFileExists( - context.get(), root_path.AppendASCII(*iter), + context.get(), root_path.Append(*iter), &created)); ASSERT_FALSE(created); } for (iter = directories.begin(); iter != directories.end(); ++iter) { context.reset(NewContext()); EXPECT_TRUE(ofsfu()->DirectoryExists(context.get(), - root_path.AppendASCII(*iter))); + root_path.Append(*iter))); } } void FillTestDirectory( const FilePath& root_path, - std::set<std::string>* files, - std::set<std::string>* directories) { + std::set<FilePath::StringType>* files, + std::set<FilePath::StringType>* directories) { scoped_ptr<FileSystemOperationContext> context; context.reset(NewContext()); std::vector<base::FileUtilProxy::Entry> entries; @@ -200,21 +200,20 @@ class ObfuscatedFileSystemFileUtilTest : public testing::Test { EXPECT_EQ(0UL, entries.size()); files->clear(); - files->insert("first"); - files->insert("second"); - files->insert("third"); + files->insert(FILE_PATH_LITERAL("first")); + files->insert(FILE_PATH_LITERAL("second")); + files->insert(FILE_PATH_LITERAL("third")); directories->clear(); - directories->insert("fourth"); - directories->insert("fifth"); - directories->insert("sixth"); - std::set<std::string>::iterator iter; + directories->insert(FILE_PATH_LITERAL("fourth")); + directories->insert(FILE_PATH_LITERAL("fifth")); + directories->insert(FILE_PATH_LITERAL("sixth")); + std::set<FilePath::StringType>::iterator iter; for (iter = files->begin(); iter != files->end(); ++iter) { bool created = false; context.reset(NewContext()); ASSERT_EQ(base::PLATFORM_FILE_OK, ofsfu()->EnsureFileExists( - context.get(), root_path.AppendASCII(*iter), - &created)); + context.get(), root_path.Append(*iter), &created)); ASSERT_TRUE(created); } for (iter = directories->begin(); iter != directories->end(); ++iter) { @@ -223,15 +222,14 @@ class ObfuscatedFileSystemFileUtilTest : public testing::Test { context.reset(NewContext()); EXPECT_EQ(base::PLATFORM_FILE_OK, ofsfu()->CreateDirectory( - context.get(), root_path.AppendASCII(*iter), - exclusive, recursive)); + context.get(), root_path.Append(*iter), exclusive, recursive)); } ValidateTestDirectory(root_path, *files, *directories); } void TestReadDirectoryHelper(const FilePath& root_path) { - std::set<std::string> files; - std::set<std::string> directories; + std::set<FilePath::StringType> files; + std::set<FilePath::StringType> directories; FillTestDirectory(root_path, &files, &directories); scoped_ptr<FileSystemOperationContext> context; @@ -244,19 +242,13 @@ class ObfuscatedFileSystemFileUtilTest : public testing::Test { for (entry_iter = entries.begin(); entry_iter != entries.end(); ++entry_iter) { const base::FileUtilProxy::Entry& entry = *entry_iter; - std::string name; - #if defined(OS_POSIX) - name = entry.name; - #elif defined(OS_WIN) - name = base::SysWideToUTF8(entry.name); - #endif - std::set<std::string>::iterator iter = files.find(name); + std::set<FilePath::StringType>::iterator iter = files.find(entry.name); if (iter != files.end()) { EXPECT_FALSE(entry.is_directory); files.erase(iter); continue; } - iter = directories.find(name); + iter = directories.find(entry.name); EXPECT_FALSE(directories.end() == iter); EXPECT_TRUE(entry.is_directory); directories.erase(iter); @@ -737,8 +729,8 @@ TEST_F(ObfuscatedFileSystemFileUtilTest, TestEnumerator) { ASSERT_EQ(base::PLATFORM_FILE_OK, ofsfu()->CreateDirectory( context.get(), src_path, exclusive, recursive)); - std::set<std::string> files; - std::set<std::string> directories; + std::set<FilePath::StringType> files; + std::set<FilePath::StringType> directories; FillTestDirectory(src_path, &files, &directories); FilePath dest_path = UTF8ToFilePath("destination dir"); |