Chromium Code Reviews| Index: webkit/fileapi/file_system_operation_write_unittest.cc |
| diff --git a/webkit/fileapi/file_system_operation_write_unittest.cc b/webkit/fileapi/file_system_operation_write_unittest.cc |
| index 28d0298d5041ec06aa87839f9d73b471e97637e2..269f3bbd08f16ee0ff3a379ea7f00dfc7ac34c5f 100644 |
| --- a/webkit/fileapi/file_system_operation_write_unittest.cc |
| +++ b/webkit/fileapi/file_system_operation_write_unittest.cc |
| @@ -23,7 +23,6 @@ |
| #include "webkit/blob/blob_data.h" |
| #include "webkit/blob/blob_storage_controller.h" |
| #include "webkit/blob/blob_url_request_job.h" |
| -#include "webkit/fileapi/file_system_callback_dispatcher.h" |
| #include "webkit/fileapi/file_system_context.h" |
| #include "webkit/fileapi/file_system_file_util.h" |
| #include "webkit/fileapi/file_system_operation.h" |
| @@ -100,6 +99,23 @@ class FileSystemOperationWriteTest : public testing::Test { |
| return test_helper_.GetURLForPath(path); |
| } |
| + // Callback function for recording test results. |
| + FileSystemOperationInterface::WriteCallback RecordWrite() { |
|
kinuko
2012/02/10 05:34:09
ditto. (I slightly prefer RecordwriteCallback())
kinaba
2012/02/10 08:22:58
Done.
|
| + return base::Bind(&FileSystemOperationWriteTest::DidWrite, |
| + base::Unretained(this)); |
| + } |
| + |
| + void DidWrite(base::PlatformFileError status, int64 bytes, bool complete) { |
| + if (status == base::PLATFORM_FILE_OK) { |
| + add_bytes_written(bytes, complete); |
| + if (complete) |
| + MessageLoop::current()->Quit(); |
| + } else { |
| + set_failure_status(status); |
| + MessageLoop::current()->Quit(); |
| + } |
| + } |
| + |
| scoped_ptr<LocalFileUtil> local_file_util_; |
| scoped_refptr<MockQuotaManager> quota_manager_; |
| FileSystemTestOriginHelper test_helper_; |
| @@ -147,45 +163,6 @@ static net::URLRequestJob* BlobURLRequestJobFactory(net::URLRequest* request, |
| base::MessageLoopProxy::current()); |
| } |
| -class MockDispatcher : public FileSystemCallbackDispatcher { |
| - public: |
| - MockDispatcher(FileSystemOperationWriteTest* test) : test_(test) { } |
| - |
| - virtual void DidFail(base::PlatformFileError status) { |
| - test_->set_failure_status(status); |
| - MessageLoop::current()->Quit(); |
| - } |
| - |
| - virtual void DidSucceed() { |
| - ADD_FAILURE(); |
| - } |
| - |
| - virtual void DidReadMetadata( |
| - const base::PlatformFileInfo& info, |
| - const FilePath& platform_path) { |
| - ADD_FAILURE(); |
| - } |
| - |
| - virtual void DidReadDirectory( |
| - const std::vector<base::FileUtilProxy::Entry>& entries, |
| - bool /* has_more */) { |
| - ADD_FAILURE(); |
| - } |
| - |
| - virtual void DidOpenFileSystem(const std::string&, const GURL&) { |
| - ADD_FAILURE(); |
| - } |
| - |
| - virtual void DidWrite(int64 bytes, bool complete) { |
| - test_->add_bytes_written(bytes, complete); |
| - if (complete) |
| - MessageLoop::current()->Quit(); |
| - } |
| - |
| - private: |
| - FileSystemOperationWriteTest* test_; |
| -}; |
| - |
| } // namespace (anonymous) |
| void FileSystemOperationWriteTest::SetUp() { |
| @@ -213,7 +190,7 @@ void FileSystemOperationWriteTest::TearDown() { |
| } |
| FileSystemOperation* FileSystemOperationWriteTest::operation() { |
| - return test_helper_.NewOperation(new MockDispatcher(this)); |
| + return test_helper_.NewOperation(); |
| } |
| TEST_F(FileSystemOperationWriteTest, TestWriteSuccess) { |
| @@ -227,7 +204,7 @@ TEST_F(FileSystemOperationWriteTest, TestWriteSuccess) { |
| blob_url, blob_data); |
| operation()->Write(url_request_context, URLForPath(virtual_path_), blob_url, |
| - 0); |
| + 0, RecordWrite()); |
| MessageLoop::current()->Run(); |
| url_request_context->blob_storage_controller()->RemoveBlob(blob_url); |
| @@ -248,7 +225,7 @@ TEST_F(FileSystemOperationWriteTest, TestWriteZero) { |
| blob_url, blob_data); |
| operation()->Write(url_request_context, URLForPath(virtual_path_), |
| - blob_url, 0); |
| + blob_url, 0, RecordWrite()); |
| MessageLoop::current()->Run(); |
| url_request_context->blob_storage_controller()->RemoveBlob(blob_url); |
| @@ -263,7 +240,7 @@ TEST_F(FileSystemOperationWriteTest, TestWriteInvalidBlobUrl) { |
| new TestURLRequestContext()); |
| operation()->Write(url_request_context, URLForPath(virtual_path_), |
| - GURL("blob:invalid"), 0); |
| + GURL("blob:invalid"), 0, RecordWrite()); |
| MessageLoop::current()->Run(); |
| EXPECT_EQ(0, bytes_written()); |
| @@ -283,7 +260,7 @@ TEST_F(FileSystemOperationWriteTest, TestWriteInvalidFile) { |
| operation()->Write(url_request_context, |
| URLForPath(FilePath(FILE_PATH_LITERAL("nonexist"))), |
| - blob_url, 0); |
| + blob_url, 0, RecordWrite()); |
| MessageLoop::current()->Run(); |
| url_request_context->blob_storage_controller()->RemoveBlob(blob_url); |
| @@ -310,7 +287,7 @@ TEST_F(FileSystemOperationWriteTest, TestWriteDir) { |
| blob_url, blob_data); |
| operation()->Write(url_request_context, URLForPath(virtual_subdir_path), |
| - blob_url, 0); |
| + blob_url, 0, RecordWrite()); |
| MessageLoop::current()->Run(); |
| url_request_context->blob_storage_controller()->RemoveBlob(blob_url); |
| @@ -332,7 +309,7 @@ TEST_F(FileSystemOperationWriteTest, TestWriteFailureByQuota) { |
| quota_manager_->set_quota(10); |
| operation()->Write(url_request_context, URLForPath(virtual_path_), blob_url, |
| - 0); |
| + 0, RecordWrite()); |
| MessageLoop::current()->Run(); |
| url_request_context->blob_storage_controller()->RemoveBlob(blob_url); |