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

Unified Diff: webkit/fileapi/file_system_operation_write_unittest.cc

Issue 9380040: Revert 121620 - 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
« no previous file with comments | « webkit/fileapi/file_system_operation_unittest.cc ('k') | webkit/fileapi/file_system_quota_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/fileapi/file_system_operation_write_unittest.cc
===================================================================
--- webkit/fileapi/file_system_operation_write_unittest.cc (revision 121622)
+++ webkit/fileapi/file_system_operation_write_unittest.cc (working copy)
@@ -11,7 +11,6 @@
#include <vector>
#include "base/memory/scoped_ptr.h"
-#include "base/memory/weak_ptr.h"
#include "base/message_loop.h"
#include "base/message_loop.h"
#include "base/message_loop_proxy.h"
@@ -24,6 +23,7 @@
#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"
@@ -65,9 +65,7 @@
} // namespace (anonymous)
-class FileSystemOperationWriteTest
- : public testing::Test,
- public base::SupportsWeakPtr<FileSystemOperationWriteTest> {
+class FileSystemOperationWriteTest : public testing::Test {
public:
FileSystemOperationWriteTest()
: local_file_util_(new LocalFileUtil(QuotaFileUtil::CreateDefault())),
@@ -78,6 +76,13 @@
FileSystemOperation* operation();
+ void set_failure_status(base::PlatformFileError status) {
+ EXPECT_FALSE(complete_);
+ EXPECT_EQ(status_, base::PLATFORM_FILE_OK);
+ EXPECT_NE(status, base::PLATFORM_FILE_OK);
+ complete_ = true;
+ status_ = status;
+ }
base::PlatformFileError status() const { return status_; }
void add_bytes_written(int64 bytes, bool complete) {
bytes_written_ += bytes;
@@ -95,25 +100,6 @@
return test_helper_.GetURLForPath(path);
}
- // Callback function for recording test results.
- FileSystemOperationInterface::WriteCallback RecordWriteCallback() {
- return base::Bind(&FileSystemOperationWriteTest::DidWrite, AsWeakPtr());
- }
-
- 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 {
- EXPECT_FALSE(complete_);
- EXPECT_EQ(status_, base::PLATFORM_FILE_OK);
- complete_ = true;
- status_ = status;
- MessageLoop::current()->Quit();
- }
- }
-
scoped_ptr<LocalFileUtil> local_file_util_;
scoped_refptr<MockQuotaManager> quota_manager_;
FileSystemTestOriginHelper test_helper_;
@@ -161,6 +147,45 @@
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() {
@@ -188,7 +213,7 @@
}
FileSystemOperation* FileSystemOperationWriteTest::operation() {
- return test_helper_.NewOperation();
+ return test_helper_.NewOperation(new MockDispatcher(this));
}
TEST_F(FileSystemOperationWriteTest, TestWriteSuccess) {
@@ -202,7 +227,7 @@
blob_url, blob_data);
operation()->Write(url_request_context, URLForPath(virtual_path_), blob_url,
- 0, RecordWriteCallback());
+ 0);
MessageLoop::current()->Run();
url_request_context->blob_storage_controller()->RemoveBlob(blob_url);
@@ -223,7 +248,7 @@
blob_url, blob_data);
operation()->Write(url_request_context, URLForPath(virtual_path_),
- blob_url, 0, RecordWriteCallback());
+ blob_url, 0);
MessageLoop::current()->Run();
url_request_context->blob_storage_controller()->RemoveBlob(blob_url);
@@ -238,7 +263,7 @@
new TestURLRequestContext());
operation()->Write(url_request_context, URLForPath(virtual_path_),
- GURL("blob:invalid"), 0, RecordWriteCallback());
+ GURL("blob:invalid"), 0);
MessageLoop::current()->Run();
EXPECT_EQ(0, bytes_written());
@@ -258,7 +283,7 @@
operation()->Write(url_request_context,
URLForPath(FilePath(FILE_PATH_LITERAL("nonexist"))),
- blob_url, 0, RecordWriteCallback());
+ blob_url, 0);
MessageLoop::current()->Run();
url_request_context->blob_storage_controller()->RemoveBlob(blob_url);
@@ -285,7 +310,7 @@
blob_url, blob_data);
operation()->Write(url_request_context, URLForPath(virtual_subdir_path),
- blob_url, 0, RecordWriteCallback());
+ blob_url, 0);
MessageLoop::current()->Run();
url_request_context->blob_storage_controller()->RemoveBlob(blob_url);
@@ -307,7 +332,7 @@
quota_manager_->set_quota(10);
operation()->Write(url_request_context, URLForPath(virtual_path_), blob_url,
- 0, RecordWriteCallback());
+ 0);
MessageLoop::current()->Run();
url_request_context->blob_storage_controller()->RemoveBlob(blob_url);
« no previous file with comments | « webkit/fileapi/file_system_operation_unittest.cc ('k') | webkit/fileapi/file_system_quota_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698