Chromium Code Reviews| Index: webkit/fileapi/local_file_system_operation_unittest.cc |
| diff --git a/webkit/fileapi/local_file_system_operation_unittest.cc b/webkit/fileapi/local_file_system_operation_unittest.cc |
| index d2aa9357a94c377fdd81654ca274808a1889ec2c..face170be3d117745ebb1ebeae2b8b4d64d8d477 100644 |
| --- a/webkit/fileapi/local_file_system_operation_unittest.cc |
| +++ b/webkit/fileapi/local_file_system_operation_unittest.cc |
| @@ -23,11 +23,10 @@ |
| #include "webkit/fileapi/local_file_system_test_helper.h" |
| #include "webkit/fileapi/mock_file_change_observer.h" |
| #include "webkit/quota/quota_manager.h" |
| +#include "webkit/quota/mock_quota_manager.h" |
|
tzik
2012/09/12 07:25:39
sort?
|
| -using quota::QuotaClient; |
| using quota::QuotaManager; |
| using quota::QuotaManagerProxy; |
| -using quota::StorageType; |
| using webkit_blob::ShareableFileReference; |
| namespace fileapi { |
| @@ -41,120 +40,6 @@ void AssertFileErrorEq(base::PlatformFileError expected, |
| ASSERT_EQ(expected, actual); |
| } |
| -class MockQuotaManager : public QuotaManager { |
| - public: |
| - MockQuotaManager(const FilePath& base_dir, |
| - const GURL& origin, |
| - StorageType type) |
| - : QuotaManager(false /* is_incognito */, base_dir, |
| - base::MessageLoopProxy::current(), |
| - base::MessageLoopProxy::current(), |
| - NULL), |
| - origin_(origin), |
| - type_(type), |
| - usage_(0), |
| - quota_(kint64max), |
| - accessed_(0) {} |
| - |
| - virtual void GetUsageAndQuota( |
| - const GURL& origin, quota::StorageType type, |
| - const GetUsageAndQuotaCallback& callback) OVERRIDE { |
| - EXPECT_EQ(origin_, origin); |
| - EXPECT_EQ(type_, type); |
| - callback.Run(quota::kQuotaStatusOk, usage_, quota_); |
| - } |
| - |
| - protected: |
| - virtual ~MockQuotaManager() {} |
| - |
| - private: |
| - friend class MockQuotaManagerProxy; |
| - |
| - void SetQuota(const GURL& origin, StorageType type, int64 quota) { |
| - EXPECT_EQ(origin_, origin); |
| - EXPECT_EQ(type_, type); |
| - quota_ = quota; |
| - } |
| - |
| - void RecordStorageAccessed(const GURL& origin, StorageType type) { |
| - EXPECT_EQ(origin_, origin); |
| - EXPECT_EQ(type_, type); |
| - ++accessed_; |
| - } |
| - |
| - void UpdateUsage(const GURL& origin, StorageType type, int64 delta) { |
| - EXPECT_EQ(origin_, origin); |
| - EXPECT_EQ(type_, type); |
| - usage_ += delta; |
| - } |
| - |
| - const GURL& origin_; |
| - const StorageType type_; |
| - int64 usage_; |
| - int64 quota_; |
| - int accessed_; |
| -}; |
| - |
| -class MockQuotaManagerProxy : public QuotaManagerProxy { |
| - public: |
| - explicit MockQuotaManagerProxy(QuotaManager* quota_manager) |
| - : QuotaManagerProxy(quota_manager, |
| - base::MessageLoopProxy::current()), |
| - registered_client_(NULL) { |
| - } |
| - |
| - virtual void RegisterClient(QuotaClient* client) OVERRIDE { |
| - EXPECT_FALSE(registered_client_); |
| - registered_client_ = client; |
| - } |
| - |
| - void SimulateQuotaManagerDestroyed() { |
| - if (registered_client_) { |
| - // We cannot call this in the destructor as the client (indirectly) |
| - // holds a refptr of the proxy. |
| - registered_client_->OnQuotaManagerDestroyed(); |
| - registered_client_ = NULL; |
| - } |
| - } |
| - |
| - // We don't mock them. |
| - virtual void NotifyOriginInUse(const GURL& origin) OVERRIDE {} |
| - virtual void NotifyOriginNoLongerInUse(const GURL& origin) OVERRIDE {} |
| - |
| - virtual void NotifyStorageAccessed(QuotaClient::ID client_id, |
| - const GURL& origin, |
| - StorageType type) OVERRIDE { |
| - mock_manager()->RecordStorageAccessed(origin, type); |
| - } |
| - |
| - virtual void NotifyStorageModified(QuotaClient::ID client_id, |
| - const GURL& origin, |
| - StorageType type, |
| - int64 delta) OVERRIDE { |
| - mock_manager()->UpdateUsage(origin, type, delta); |
| - } |
| - |
| - int storage_accessed_count() const { |
| - return mock_manager()->accessed_; |
| - } |
| - |
| - void SetQuota(const GURL& origin, StorageType type, int64 quota) { |
| - mock_manager()->SetQuota(origin, type, quota); |
| - } |
| - |
| - protected: |
| - virtual ~MockQuotaManagerProxy() { |
| - EXPECT_FALSE(registered_client_); |
| - } |
| - |
| - private: |
| - MockQuotaManager* mock_manager() const { |
| - return static_cast<MockQuotaManager*>(quota_manager()); |
| - } |
| - |
| - QuotaClient* registered_client_; |
| -}; |
| - |
| FilePath ASCIIToFilePath(const std::string& str) { |
| return FilePath().AppendASCII(str); |
| } |
| @@ -192,8 +77,13 @@ class LocalFileSystemOperationTest |
| // Common temp base for nondestructive uses. |
| ScopedTempDir base_; |
| - MockQuotaManagerProxy* quota_manager_proxy() { |
| - return static_cast<MockQuotaManagerProxy*>(quota_manager_proxy_.get()); |
| + quota::MockQuotaManager* quota_manager() { |
| + return static_cast<quota::MockQuotaManager*>(quota_manager_.get()); |
| + } |
| + |
| + quota::MockQuotaManagerProxy* quota_manager_proxy() { |
| + return static_cast<quota::MockQuotaManagerProxy*>( |
| + quota_manager_proxy_.get()); |
| } |
| FileSystemFileUtil* file_util() { |
| @@ -370,17 +260,17 @@ class LocalFileSystemOperationTest |
| void GrantQuotaForCurrentUsage() { |
| int64 usage; |
| GetUsageAndQuota(&usage, NULL); |
| - quota_manager_proxy()->SetQuota(test_helper_.origin(), |
| - test_helper_.storage_type(), |
| - usage); |
| + quota_manager()->SetQuota(test_helper_.origin(), |
| + test_helper_.storage_type(), |
| + usage); |
| } |
| void AddQuota(int64 quota_delta) { |
| int64 quota; |
| GetUsageAndQuota(NULL, "a); |
| - quota_manager_proxy()->SetQuota(test_helper_.origin(), |
| - test_helper_.storage_type(), |
| - quota + quota_delta); |
| + quota_manager()->SetQuota(test_helper_.origin(), |
| + test_helper_.storage_type(), |
| + quota + quota_delta); |
| } |
| // For post-operation status. |
| @@ -405,9 +295,14 @@ class LocalFileSystemOperationTest |
| void LocalFileSystemOperationTest::SetUp() { |
| FilePath base_dir = base_.path().AppendASCII("filesystem"); |
| - quota_manager_ = new MockQuotaManager( |
| - base_dir, test_helper_.origin(), test_helper_.storage_type()); |
| - quota_manager_proxy_ = new MockQuotaManagerProxy(quota_manager_.get()); |
| + quota_manager_ = new quota::MockQuotaManager( |
| + false /* is_incognito */, base_dir, |
| + base::MessageLoopProxy::current(), |
| + base::MessageLoopProxy::current(), |
| + NULL /* special storage policy */); |
| + quota_manager_proxy_ = new quota::MockQuotaManagerProxy( |
| + quota_manager(), |
| + base::MessageLoopProxy::current()); |
| test_helper_.SetUp(base_dir, |
| false /* unlimited quota */, |
| quota_manager_proxy_.get(), |
| @@ -519,7 +414,7 @@ TEST_F(LocalFileSystemOperationTest, TestMoveSuccessSrcFileAndOverwrite) { |
| // Move is considered 'write' access (for both side), and won't be counted |
| // as read access. |
| - EXPECT_EQ(0, quota_manager_proxy()->storage_accessed_count()); |
| + EXPECT_EQ(0, quota_manager_proxy()->notify_storage_accessed_count()); |
| } |
| TEST_F(LocalFileSystemOperationTest, TestMoveSuccessSrcFileAndNew) { |
| @@ -719,7 +614,7 @@ TEST_F(LocalFileSystemOperationTest, TestCopySuccessSrcFileAndOverwrite) { |
| MessageLoop::current()->RunAllPending(); |
| EXPECT_EQ(base::PLATFORM_FILE_OK, status()); |
| EXPECT_TRUE(FileExists(dest_file_path)); |
| - EXPECT_EQ(1, quota_manager_proxy()->storage_accessed_count()); |
| + EXPECT_EQ(1, quota_manager_proxy()->notify_storage_accessed_count()); |
| EXPECT_EQ(1, change_observer()->get_and_reset_modify_file_count()); |
| EXPECT_TRUE(change_observer()->HasNoChange()); |
| @@ -736,7 +631,7 @@ TEST_F(LocalFileSystemOperationTest, TestCopySuccessSrcFileAndNew) { |
| MessageLoop::current()->RunAllPending(); |
| EXPECT_EQ(base::PLATFORM_FILE_OK, status()); |
| EXPECT_TRUE(FileExists(dest_file_path)); |
| - EXPECT_EQ(1, quota_manager_proxy()->storage_accessed_count()); |
| + EXPECT_EQ(1, quota_manager_proxy()->notify_storage_accessed_count()); |
| EXPECT_EQ(1, change_observer()->get_and_reset_create_file_from_count()); |
| EXPECT_TRUE(change_observer()->HasNoChange()); |
| @@ -755,7 +650,7 @@ TEST_F(LocalFileSystemOperationTest, TestCopySuccessSrcDirAndOverwrite) { |
| EXPECT_TRUE(DirectoryExists(dest_dir_path)); |
| EXPECT_FALSE(DirectoryExists( |
| dest_dir_path.Append(VirtualPath::BaseName(src_dir_path)))); |
| - EXPECT_EQ(1, quota_manager_proxy()->storage_accessed_count()); |
| + EXPECT_EQ(1, quota_manager_proxy()->notify_storage_accessed_count()); |
| EXPECT_EQ(1, change_observer()->get_and_reset_remove_directory_count()); |
| EXPECT_EQ(1, change_observer()->get_and_reset_create_directory_count()); |
| @@ -773,7 +668,7 @@ TEST_F(LocalFileSystemOperationTest, TestCopySuccessSrcDirAndNew) { |
| MessageLoop::current()->RunAllPending(); |
| EXPECT_EQ(base::PLATFORM_FILE_OK, status()); |
| EXPECT_TRUE(DirectoryExists(dest_child_dir_path)); |
| - EXPECT_EQ(1, quota_manager_proxy()->storage_accessed_count()); |
| + EXPECT_EQ(1, quota_manager_proxy()->notify_storage_accessed_count()); |
| EXPECT_EQ(1, change_observer()->get_and_reset_create_directory_count()); |
| EXPECT_TRUE(change_observer()->HasNoChange()); |
| @@ -796,7 +691,7 @@ TEST_F(LocalFileSystemOperationTest, TestCopySuccessSrcDirRecursive) { |
| EXPECT_TRUE(FileExists(dest_dir_path.Append( |
| VirtualPath::BaseName(child_dir_path)).Append( |
| VirtualPath::BaseName(grandchild_file_path)))); |
| - EXPECT_EQ(1, quota_manager_proxy()->storage_accessed_count()); |
| + EXPECT_EQ(1, quota_manager_proxy()->notify_storage_accessed_count()); |
| EXPECT_EQ(2, change_observer()->get_and_reset_create_directory_count()); |
| EXPECT_EQ(1, change_observer()->get_and_reset_remove_directory_count()); |
| @@ -972,7 +867,8 @@ TEST_F(LocalFileSystemOperationTest, TestExistsAndMetadataSuccess) { |
| EXPECT_EQ(PlatformPath(file_path), path()); |
| ++read_access; |
| - EXPECT_EQ(read_access, quota_manager_proxy()->storage_accessed_count()); |
| + EXPECT_EQ(read_access, |
| + quota_manager_proxy()->notify_storage_accessed_count()); |
| EXPECT_TRUE(change_observer()->HasNoChange()); |
| } |
| @@ -1035,7 +931,7 @@ TEST_F(LocalFileSystemOperationTest, TestReadDirSuccess) { |
| entries()[i].name); |
| } |
| } |
| - EXPECT_EQ(1, quota_manager_proxy()->storage_accessed_count()); |
| + EXPECT_EQ(1, quota_manager_proxy()->notify_storage_accessed_count()); |
| EXPECT_TRUE(change_observer()->HasNoChange()); |
| } |
| @@ -1099,7 +995,7 @@ TEST_F(LocalFileSystemOperationTest, TestRemoveSuccess) { |
| EXPECT_FALSE(DirectoryExists(parent_dir_path)); |
| // Remove is not a 'read' access. |
| - EXPECT_EQ(0, quota_manager_proxy()->storage_accessed_count()); |
| + EXPECT_EQ(0, quota_manager_proxy()->notify_storage_accessed_count()); |
| EXPECT_EQ(2, change_observer()->get_and_reset_remove_directory_count()); |
| EXPECT_EQ(1, change_observer()->get_and_reset_remove_file_count()); |
| @@ -1165,7 +1061,7 @@ TEST_F(LocalFileSystemOperationTest, TestTruncate) { |
| // Truncate is not a 'read' access. (Here expected access count is 1 |
| // since we made 1 read access for GetMetadata.) |
| - EXPECT_EQ(1, quota_manager_proxy()->storage_accessed_count()); |
| + EXPECT_EQ(1, quota_manager_proxy()->notify_storage_accessed_count()); |
| } |
| TEST_F(LocalFileSystemOperationTest, TestTruncateFailureByQuota) { |