Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1306)

Unified Diff: webkit/fileapi/file_system_operation_write_unittest.cc

Issue 9372044: Refactor FileSystemOperation to take callback for each method. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698