summaryrefslogtreecommitdiffstats
path: root/webkit/fileapi
diff options
context:
space:
mode:
authorericu@chromium.org <ericu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-16 18:45:17 +0000
committerericu@chromium.org <ericu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-16 18:45:17 +0000
commit89ee4277d12f210e855090a1ca840a38b2927345 (patch)
tree5ca0b2fcf206f655007451b732bd8e916b5f31a3 /webkit/fileapi
parent9830d77aa9cc9efd03d64226b15cfd94c39e66f8 (diff)
downloadchromium_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')
-rw-r--r--webkit/fileapi/file_system_directory_database.cc32
-rw-r--r--webkit/fileapi/file_system_directory_database.h5
-rw-r--r--webkit/fileapi/file_system_directory_database_unittest.cc164
-rw-r--r--webkit/fileapi/obfuscated_file_system_file_util.cc36
-rw-r--r--webkit/fileapi/obfuscated_file_system_file_util_unittest.cc52
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");