Chromium Code Reviews| Index: webkit/fileapi/syncable/canned_syncable_file_system.cc |
| diff --git a/webkit/fileapi/syncable/canned_syncable_file_system.cc b/webkit/fileapi/syncable/canned_syncable_file_system.cc |
| index 50e4c51027ee3fe7e0ff37bf6438b5308c5568cc..049d0e9a95bc28b094f9aab3f5abf1038133e9f5 100644 |
| --- a/webkit/fileapi/syncable/canned_syncable_file_system.cc |
| +++ b/webkit/fileapi/syncable/canned_syncable_file_system.cc |
| @@ -15,6 +15,7 @@ |
| #include "webkit/fileapi/isolated_context.h" |
| #include "webkit/fileapi/local_file_system_operation.h" |
| #include "webkit/fileapi/mock_file_system_options.h" |
| +#include "webkit/fileapi/syncable/syncable_context.h" |
| #include "webkit/quota/mock_special_storage_policy.h" |
| #include "webkit/quota/quota_manager.h" |
| @@ -29,12 +30,15 @@ CannedSyncableFileSystem::CannedSyncableFileSystem( |
| test_helper_(origin, kFileSystemTypeSyncable), |
| result_(base::PLATFORM_FILE_OK), |
| sync_status_(SYNC_STATUS_OK), |
| + is_filesystem_set_up_(false), |
| + is_filesystem_opened_(false), |
| weak_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)) { |
| } |
| CannedSyncableFileSystem::~CannedSyncableFileSystem() {} |
| void CannedSyncableFileSystem::SetUp() { |
| + ASSERT_FALSE(is_filesystem_set_up_); |
| ASSERT_TRUE(data_dir_.CreateUniqueTempDir()); |
| scoped_refptr<quota::SpecialStoragePolicy> storage_policy = |
| @@ -55,6 +59,7 @@ void CannedSyncableFileSystem::SetUp() { |
| CreateAllowFileAccessOptions()); |
| test_helper_.SetUp(file_system_context_.get(), NULL); |
| + is_filesystem_set_up_ = true; |
| } |
| void CannedSyncableFileSystem::TearDown() { |
| @@ -63,10 +68,14 @@ void CannedSyncableFileSystem::TearDown() { |
| } |
| FileSystemURL CannedSyncableFileSystem::URL(const std::string& path) const { |
| + EXPECT_TRUE(is_filesystem_set_up_); |
| + EXPECT_TRUE(is_filesystem_opened_); |
| return FileSystemURL(GURL(root_url_.spec() + path)); |
| } |
| PlatformFileError CannedSyncableFileSystem::OpenFileSystem() { |
| + EXPECT_TRUE(is_filesystem_set_up_); |
| + EXPECT_FALSE(is_filesystem_opened_); |
| file_system_context_->OpenSyncableFileSystem( |
| service_name_, |
| test_helper_.origin(), test_helper_.type(), |
| @@ -77,8 +86,22 @@ PlatformFileError CannedSyncableFileSystem::OpenFileSystem() { |
| return result_; |
| } |
| +SyncStatusCode CannedSyncableFileSystem::MaybeInitializeFileSystemContext( |
| + SyncableContext* syncable_context) { |
| + DCHECK(syncable_context); |
| + sync_status_ = SYNC_FILE_ERROR_FAILED; |
|
tzik
2012/10/12 07:02:20
can we use SYNC_STATUS_UNKNOWN instead?
kinuko
2012/10/12 07:17:30
Done.
|
| + syncable_context->MaybeInitializeFileSystemContext( |
| + test_helper_.origin(), |
| + file_system_context_, |
| + base::Bind(&CannedSyncableFileSystem::DidInitializeFileSystemContext, |
| + base::Unretained(this))); |
| + MessageLoop::current()->Run(); |
| + return sync_status_; |
| +} |
| + |
| PlatformFileError CannedSyncableFileSystem::CreateDirectory( |
| const FileSystemURL& url) { |
| + EXPECT_TRUE(is_filesystem_opened_); |
| result_ = base::PLATFORM_FILE_ERROR_FAILED; |
| test_helper_.NewOperation()->CreateDirectory( |
| url, false /* exclusive */, false /* recursive */, |
| @@ -90,6 +113,7 @@ PlatformFileError CannedSyncableFileSystem::CreateDirectory( |
| PlatformFileError CannedSyncableFileSystem::CreateFile( |
| const FileSystemURL& url) { |
| + EXPECT_TRUE(is_filesystem_opened_); |
| result_ = base::PLATFORM_FILE_ERROR_FAILED; |
| test_helper_.NewOperation()->CreateFile( |
| url, false /* exclusive */, |
| @@ -101,6 +125,7 @@ PlatformFileError CannedSyncableFileSystem::CreateFile( |
| PlatformFileError CannedSyncableFileSystem::TruncateFile( |
| const FileSystemURL& url, int64 size) { |
| + EXPECT_TRUE(is_filesystem_opened_); |
| result_ = base::PLATFORM_FILE_ERROR_FAILED; |
| test_helper_.NewOperation()->Truncate( |
| url, size, |
| @@ -112,6 +137,7 @@ PlatformFileError CannedSyncableFileSystem::TruncateFile( |
| PlatformFileError CannedSyncableFileSystem::Remove( |
| const FileSystemURL& url, bool recursive) { |
| + EXPECT_TRUE(is_filesystem_opened_); |
| result_ = base::PLATFORM_FILE_ERROR_FAILED; |
| test_helper_.NewOperation()->Remove( |
| url, recursive, |
| @@ -122,6 +148,7 @@ PlatformFileError CannedSyncableFileSystem::Remove( |
| } |
| PlatformFileError CannedSyncableFileSystem::DeleteFileSystem() { |
| + EXPECT_TRUE(is_filesystem_set_up_); |
| file_system_context_->DeleteFileSystem( |
| test_helper_.origin(), test_helper_.type(), |
| base::Bind(&CannedSyncableFileSystem::StatusCallback, |
| @@ -134,6 +161,13 @@ void CannedSyncableFileSystem::DidOpenFileSystem( |
| PlatformFileError result, const std::string& name, const GURL& root) { |
| result_ = result; |
| root_url_ = root; |
| + is_filesystem_opened_ = true; |
| +} |
| + |
| +void CannedSyncableFileSystem::DidInitializeFileSystemContext( |
| + SyncStatusCode status) { |
| + sync_status_ = status; |
| + MessageLoop::current()->Quit(); |
| } |
| void CannedSyncableFileSystem::StatusCallback(PlatformFileError result) { |