Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / base / files / file_proxy_unittest.cc
index 7748923..2c62fa9 100644 (file)
@@ -4,13 +4,10 @@
 
 #include "base/files/file_proxy.h"
 
-#include <map>
-
 #include "base/bind.h"
-#include "base/file_util.h"
 #include "base/files/file.h"
+#include "base/files/file_util.h"
 #include "base/files/scoped_temp_dir.h"
-#include "base/logging.h"
 #include "base/memory/weak_ptr.h"
 #include "base/message_loop/message_loop.h"
 #include "base/threading/thread.h"
@@ -207,6 +204,20 @@ TEST_F(FileProxyTest, CreateTemporary) {
   EXPECT_TRUE(base::DeleteFile(path_, false));
 }
 
+TEST_F(FileProxyTest, SetAndTake) {
+  File file(test_path(), File::FLAG_CREATE | File::FLAG_READ);
+  ASSERT_TRUE(file.IsValid());
+  FileProxy proxy(file_task_runner());
+  EXPECT_FALSE(proxy.IsValid());
+  proxy.SetFile(file.Pass());
+  EXPECT_TRUE(proxy.IsValid());
+  EXPECT_FALSE(file.IsValid());
+
+  file = proxy.TakeFile();
+  EXPECT_FALSE(proxy.IsValid());
+  EXPECT_TRUE(file.IsValid());
+}
+
 TEST_F(FileProxyTest, GetInfo) {
   // Setup.
   ASSERT_EQ(4, base::WriteFile(test_path(), "test", 4));