Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / chromeos / file_system_provider / operations / close_file_unittest.cc
index c9429e5..c4af610 100644 (file)
@@ -2,14 +2,15 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "chrome/browser/chromeos/file_system_provider/operations/close_file.h"
+
 #include <string>
 #include <vector>
 
 #include "base/files/file.h"
 #include "base/files/file_path.h"
 #include "base/memory/scoped_ptr.h"
-#include "base/memory/scoped_vector.h"
-#include "chrome/browser/chromeos/file_system_provider/operations/close_file.h"
+#include "chrome/browser/chromeos/file_system_provider/operations/test_util.h"
 #include "chrome/browser/chromeos/file_system_provider/provided_file_system_interface.h"
 #include "chrome/common/extensions/api/file_system_provider.h"
 #include "chrome/common/extensions/api/file_system_provider_internal.h"
@@ -27,49 +28,6 @@ const char kFileSystemId[] = "testing-file-system";
 const int kRequestId = 2;
 const int kOpenRequestId = 3;
 
-// Fake event dispatcher implementation with extra logging capability. Acts as
-// a providing extension end-point.
-class LoggingDispatchEventImpl {
- public:
-  explicit LoggingDispatchEventImpl(bool dispatch_reply)
-      : dispatch_reply_(dispatch_reply) {}
-  virtual ~LoggingDispatchEventImpl() {}
-
-  bool OnDispatchEventImpl(scoped_ptr<extensions::Event> event) {
-    events_.push_back(event->DeepCopy());
-    return dispatch_reply_;
-  }
-
-  ScopedVector<extensions::Event>& events() { return events_; }
-
- private:
-  ScopedVector<extensions::Event> events_;
-  bool dispatch_reply_;
-
-  DISALLOW_COPY_AND_ASSIGN(LoggingDispatchEventImpl);
-};
-
-// Callback invocation logger. Acts as a fileapi end-point.
-class CallbackLogger {
- public:
-  CallbackLogger() : weak_ptr_factory_(this) {}
-  virtual ~CallbackLogger() {}
-
-  void OnCloseFile(base::File::Error result) { events_.push_back(result); }
-
-  std::vector<base::File::Error>& events() { return events_; }
-
-  base::WeakPtr<CallbackLogger> GetWeakPtr() {
-    return weak_ptr_factory_.GetWeakPtr();
-  }
-
- private:
-  std::vector<base::File::Error> events_;
-  base::WeakPtrFactory<CallbackLogger> weak_ptr_factory_;
-
-  DISALLOW_COPY_AND_ASSIGN(CallbackLogger);
-};
-
 }  // namespace
 
 class FileSystemProviderOperationsCloseFileTest : public testing::Test {
@@ -81,7 +39,8 @@ class FileSystemProviderOperationsCloseFileTest : public testing::Test {
     file_system_info_ =
         ProvidedFileSystemInfo(kExtensionId,
                                kFileSystemId,
-                               "" /* file_system_name */,
+                               "" /* display_name */,
+                               false /* writable */,
                                base::FilePath() /* mount_path */);
   }
 
@@ -89,16 +48,15 @@ class FileSystemProviderOperationsCloseFileTest : public testing::Test {
 };
 
 TEST_F(FileSystemProviderOperationsCloseFileTest, Execute) {
-  LoggingDispatchEventImpl dispatcher(true /* dispatch_reply */);
-  CallbackLogger callback_logger;
-
-  CloseFile close_file(
-      NULL,
-      file_system_info_,
-      kOpenRequestId,
-      base::Bind(&CallbackLogger::OnCloseFile, callback_logger.GetWeakPtr()));
+  util::LoggingDispatchEventImpl dispatcher(true /* dispatch_reply */);
+  util::StatusCallbackLog callback_log;
+
+  CloseFile close_file(NULL,
+                       file_system_info_,
+                       kOpenRequestId,
+                       base::Bind(&util::LogStatusCallback, &callback_log));
   close_file.SetDispatchEventImplForTesting(
-      base::Bind(&LoggingDispatchEventImpl::OnDispatchEventImpl,
+      base::Bind(&util::LoggingDispatchEventImpl::OnDispatchEventImpl,
                  base::Unretained(&dispatcher)));
 
   EXPECT_TRUE(close_file.Execute(kRequestId));
@@ -128,35 +86,30 @@ TEST_F(FileSystemProviderOperationsCloseFileTest, Execute) {
 }
 
 TEST_F(FileSystemProviderOperationsCloseFileTest, Execute_NoListener) {
-  LoggingDispatchEventImpl dispatcher(false /* dispatch_reply */);
-  CallbackLogger callback_logger;
-
-  CloseFile close_file(
-      NULL,
-      file_system_info_,
-      kOpenRequestId,
-      base::Bind(&CallbackLogger::OnCloseFile, callback_logger.GetWeakPtr()));
+  util::LoggingDispatchEventImpl dispatcher(false /* dispatch_reply */);
+  util::StatusCallbackLog callback_log;
+
+  CloseFile close_file(NULL,
+                       file_system_info_,
+                       kOpenRequestId,
+                       base::Bind(&util::LogStatusCallback, &callback_log));
   close_file.SetDispatchEventImplForTesting(
-      base::Bind(&LoggingDispatchEventImpl::OnDispatchEventImpl,
+      base::Bind(&util::LoggingDispatchEventImpl::OnDispatchEventImpl,
                  base::Unretained(&dispatcher)));
 
   EXPECT_FALSE(close_file.Execute(kRequestId));
 }
 
 TEST_F(FileSystemProviderOperationsCloseFileTest, OnSuccess) {
-  using extensions::api::file_system_provider_internal::
-      CloseFileRequestedSuccess::Params;
+  util::LoggingDispatchEventImpl dispatcher(true /* dispatch_reply */);
+  util::StatusCallbackLog callback_log;
 
-  LoggingDispatchEventImpl dispatcher(true /* dispatch_reply */);
-  CallbackLogger callback_logger;
-
-  CloseFile close_file(
-      NULL,
-      file_system_info_,
-      kOpenRequestId,
-      base::Bind(&CallbackLogger::OnCloseFile, callback_logger.GetWeakPtr()));
+  CloseFile close_file(NULL,
+                       file_system_info_,
+                       kOpenRequestId,
+                       base::Bind(&util::LogStatusCallback, &callback_log));
   close_file.SetDispatchEventImplForTesting(
-      base::Bind(&LoggingDispatchEventImpl::OnDispatchEventImpl,
+      base::Bind(&util::LoggingDispatchEventImpl::OnDispatchEventImpl,
                  base::Unretained(&dispatcher)));
 
   EXPECT_TRUE(close_file.Execute(kRequestId));
@@ -164,32 +117,29 @@ TEST_F(FileSystemProviderOperationsCloseFileTest, OnSuccess) {
   close_file.OnSuccess(kRequestId,
                        scoped_ptr<RequestValue>(new RequestValue()),
                        false /* has_more */);
-  ASSERT_EQ(1u, callback_logger.events().size());
-  EXPECT_EQ(base::File::FILE_OK, callback_logger.events()[0]);
+  ASSERT_EQ(1u, callback_log.size());
+  EXPECT_EQ(base::File::FILE_OK, callback_log[0]);
 }
 
 TEST_F(FileSystemProviderOperationsCloseFileTest, OnError) {
-  using extensions::api::file_system_provider_internal::
-      CloseFileRequestedError::Params;
-
-  LoggingDispatchEventImpl dispatcher(true /* dispatch_reply */);
-  CallbackLogger callback_logger;
+  util::LoggingDispatchEventImpl dispatcher(true /* dispatch_reply */);
+  util::StatusCallbackLog callback_log;
 
-  CloseFile close_file(
-      NULL,
-      file_system_info_,
-      kOpenRequestId,
-      base::Bind(&CallbackLogger::OnCloseFile, callback_logger.GetWeakPtr()));
+  CloseFile close_file(NULL,
+                       file_system_info_,
+                       kOpenRequestId,
+                       base::Bind(&util::LogStatusCallback, &callback_log));
   close_file.SetDispatchEventImplForTesting(
-      base::Bind(&LoggingDispatchEventImpl::OnDispatchEventImpl,
+      base::Bind(&util::LoggingDispatchEventImpl::OnDispatchEventImpl,
                  base::Unretained(&dispatcher)));
 
   EXPECT_TRUE(close_file.Execute(kRequestId));
 
-  close_file.OnError(kRequestId, base::File::FILE_ERROR_TOO_MANY_OPENED);
-  ASSERT_EQ(1u, callback_logger.events().size());
-  EXPECT_EQ(base::File::FILE_ERROR_TOO_MANY_OPENED,
-            callback_logger.events()[0]);
+  close_file.OnError(kRequestId,
+                     scoped_ptr<RequestValue>(new RequestValue()),
+                     base::File::FILE_ERROR_TOO_MANY_OPENED);
+  ASSERT_EQ(1u, callback_log.size());
+  EXPECT_EQ(base::File::FILE_ERROR_TOO_MANY_OPENED, callback_log[0]);
 }
 
 }  // namespace operations