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

Unified Diff: chrome/browser/chromeos/drive/fileapi_worker_unittest.cc

Issue 148913005: Create fileapi/ subdirectory under c/b/cros/drive. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 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: chrome/browser/chromeos/drive/fileapi_worker_unittest.cc
diff --git a/chrome/browser/chromeos/drive/fileapi_worker_unittest.cc b/chrome/browser/chromeos/drive/fileapi_worker_unittest.cc
deleted file mode 100644
index fea892d836b03e4a5c7a684df0d8923882b0a88d..0000000000000000000000000000000000000000
--- a/chrome/browser/chromeos/drive/fileapi_worker_unittest.cc
+++ /dev/null
@@ -1,273 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/chromeos/drive/fileapi_worker.h"
-
-#include "base/bind.h"
-#include "base/bind_helpers.h"
-#include "base/file_util.h"
-#include "base/memory/scoped_ptr.h"
-#include "chrome/browser/chromeos/drive/dummy_file_system.h"
-#include "chrome/browser/chromeos/drive/test_util.h"
-#include "content/public/test/test_browser_thread_bundle.h"
-#include "google_apis/drive/test_util.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace drive {
-namespace fileapi_internal {
-namespace {
-
-// Increments |num_called| for checking how many times the closure is called.
-void Increment(int* num_called) {
- ++*num_called;
-}
-
-// Returns the |instance| as is.
-FileSystemInterface* GetFileSystem(FileSystemInterface* instance) {
- return instance;
-}
-
-// A test file system that always returns |local_file_path|. For testing
-// purpose, it checks if |open_mode| is the expected value, and record if the
-// close callback is called.
-class TestFileSystemForOpenFile : public DummyFileSystem {
- public:
- TestFileSystemForOpenFile(const base::FilePath& local_file_path,
- OpenMode expected_open_mode)
- : local_file_path_(local_file_path),
- expected_open_mode_(expected_open_mode),
- closed_(false) {
- }
-
- virtual void OpenFile(const base::FilePath& file_path,
- OpenMode open_mode,
- const std::string& mime_type,
- const drive::OpenFileCallback& callback) OVERRIDE {
- EXPECT_EQ(expected_open_mode_, open_mode);
-
- callback.Run(
- FILE_ERROR_OK,
- local_file_path_,
- base::Bind(&TestFileSystemForOpenFile::Close, base::Unretained(this)));
- }
-
- void Close() {
- closed_ = true;
- }
-
- bool closed() const { return closed_; }
-
- private:
- const base::FilePath local_file_path_;
- const OpenMode expected_open_mode_;
- bool closed_;
-};
-
-// Helper function of testing OpenFile() for write access. It checks that the
-// file handle correctly writes to the expected file.
-void VerifyWrite(
- int64 expected_size,
- const base::FilePath& expected_written_path,
- const std::string& write_data,
- base::File::Error result,
- base::PlatformFile platform_file,
- const base::Closure& close_callback) {
- // Check that the file is properly opened.
- EXPECT_EQ(base::File::FILE_OK, result);
- EXPECT_NE(base::kInvalidPlatformFileValue, platform_file);
- EXPECT_FALSE(close_callback.is_null());
-
- // Check that the file has the expected length (i.e., truncated or not)
- base::PlatformFileInfo info;
- EXPECT_TRUE(base::GetPlatformFileInfo(platform_file, &info));
- EXPECT_EQ(expected_size, info.size);
-
- // Write some data.
- const int data_size = static_cast<int>(write_data.size());
- EXPECT_EQ(data_size,
- base::WritePlatformFile(platform_file, 0, write_data.c_str(),
- data_size));
- EXPECT_TRUE(base::TruncatePlatformFile(platform_file, data_size));
-
- // Close.
- base::ClosePlatformFile(platform_file);
- close_callback.Run();
-
- // Checks that the written content goes to |expected_written_path|. I.e.,
- // the |platform_file| handle is pointing to the file.
- std::string written;
- EXPECT_TRUE(base::ReadFileToString(expected_written_path, &written));
- EXPECT_EQ(write_data, written);
-}
-
-// Helper function of testing OpenFile() for read access. It checks that the
-// file is readable and contains |expected_data|.
-void VerifyRead(const std::string& expected_data,
- base::File::Error result,
- base::PlatformFile platform_file,
- const base::Closure& close_callback) {
- // Check that the file is properly opened.
- EXPECT_EQ(base::File::FILE_OK, result);
- EXPECT_NE(base::kInvalidPlatformFileValue, platform_file);
- EXPECT_FALSE(close_callback.is_null());
-
- // Check that the file has the expected content.
- const int data_size = static_cast<int>(expected_data.size());
- base::PlatformFileInfo info;
- EXPECT_TRUE(base::GetPlatformFileInfo(platform_file, &info));
- EXPECT_EQ(data_size, info.size);
-
- std::vector<char> buffer(data_size);
- EXPECT_EQ(data_size,
- base::ReadPlatformFile(platform_file, 0, buffer.data(), data_size));
- EXPECT_EQ(expected_data, std::string(buffer.begin(), buffer.end()));
-
- // Close.
- base::ClosePlatformFile(platform_file);
- close_callback.Run();
-}
-
-} // namespace
-
-class FileApiWorkerTest : public testing::Test {
- private:
- content::TestBrowserThreadBundle thread_bundle_;
-};
-
-TEST_F(FileApiWorkerTest, RunFileSystemCallbackSuccess) {
- DummyFileSystem dummy_file_system;
-
- FileSystemInterface* file_system = NULL;
- RunFileSystemCallback(
- base::Bind(&GetFileSystem, &dummy_file_system),
- google_apis::test_util::CreateCopyResultCallback(&file_system),
- base::Closure());
-
- EXPECT_EQ(&dummy_file_system, file_system);
-}
-
-TEST_F(FileApiWorkerTest, RunFileSystemCallbackFail) {
- FileSystemInterface* file_system = NULL;
-
- // Make sure on_error_callback is called if file_system_getter returns NULL.
- int num_called = 0;
- RunFileSystemCallback(
- base::Bind(&GetFileSystem, static_cast<FileSystemInterface*>(NULL)),
- google_apis::test_util::CreateCopyResultCallback(&file_system),
- base::Bind(&Increment, &num_called));
- EXPECT_EQ(1, num_called);
-
- // Just make sure this null |on_error_callback| doesn't cause a crash.
- RunFileSystemCallback(
- base::Bind(&GetFileSystem, static_cast<FileSystemInterface*>(NULL)),
- google_apis::test_util::CreateCopyResultCallback(&file_system),
- base::Closure());
-}
-
-TEST_F(FileApiWorkerTest, OpenFileForCreateWrite) {
- const base::FilePath kDummyPath = base::FilePath::FromUTF8Unsafe("whatever");
- const std::string kWriteData = "byebye";
-
- base::FilePath temp_path;
- base::CreateTemporaryFile(&temp_path);
-
- // CREATE => CREATE (fails if file existed.)
- TestFileSystemForOpenFile file_system(temp_path, CREATE_FILE);
- const int64 kExpectedSize = 0;
-
- OpenFile(kDummyPath,
- base::PLATFORM_FILE_CREATE | base::PLATFORM_FILE_WRITE,
- base::Bind(&VerifyWrite, kExpectedSize, temp_path, kWriteData),
- &file_system);
- test_util::RunBlockingPoolTask();
- EXPECT_TRUE(file_system.closed());
-}
-
-TEST_F(FileApiWorkerTest, OpenFileForOpenAlwaysWrite) {
- const base::FilePath kDummyPath = base::FilePath::FromUTF8Unsafe("whatever");
- const std::string kWriteData = "byebye";
- const std::string kInitialData = "hello";
-
- base::FilePath temp_path;
- base::CreateTemporaryFile(&temp_path);
- google_apis::test_util::WriteStringToFile(temp_path, kInitialData);
-
- // OPEN_ALWAYS => OPEN_OR_CREATE (success whether file exists or not.)
- // No truncation should take place.
- TestFileSystemForOpenFile file_system(temp_path, OPEN_OR_CREATE_FILE);
- const int64 kExpectedSize = static_cast<int64>(kInitialData.size());
-
- OpenFile(kDummyPath,
- base::PLATFORM_FILE_OPEN_ALWAYS | base::PLATFORM_FILE_WRITE,
- base::Bind(&VerifyWrite, kExpectedSize, temp_path, kWriteData),
- &file_system);
- test_util::RunBlockingPoolTask();
- EXPECT_TRUE(file_system.closed());
-}
-
-TEST_F(FileApiWorkerTest, OpenFileForOpenTruncatedWrite) {
- const base::FilePath kDummyPath = base::FilePath::FromUTF8Unsafe("whatever");
- const std::string kInitialData = "hello";
- const std::string kWriteData = "byebye";
-
- base::FilePath temp_path;
- base::CreateTemporaryFile(&temp_path);
- google_apis::test_util::WriteStringToFile(temp_path, kInitialData);
-
- // OPEN_TRUNCATED => OPEN (failure when the file did not exist.)
- // It should truncate the file before passing to the callback.
- TestFileSystemForOpenFile file_system(temp_path, OPEN_FILE);
- const int64 kExpectedSize = 0;
-
- OpenFile(kDummyPath,
- base::PLATFORM_FILE_OPEN_TRUNCATED | base::PLATFORM_FILE_WRITE,
- base::Bind(&VerifyWrite, kExpectedSize, temp_path, kWriteData),
- &file_system);
- test_util::RunBlockingPoolTask();
- EXPECT_TRUE(file_system.closed());
-}
-
-TEST_F(FileApiWorkerTest, OpenFileForOpenCreateAlwaysWrite) {
- const base::FilePath kDummyPath = base::FilePath::FromUTF8Unsafe("whatever");
- const std::string kInitialData = "hello";
- const std::string kWriteData = "byebye";
-
- base::FilePath temp_path;
- base::CreateTemporaryFile(&temp_path);
- google_apis::test_util::WriteStringToFile(temp_path, kInitialData);
-
- // CREATE_ALWAYS => OPEN_OR_CREATE (success whether file exists or not.)
- // It should truncate the file before passing to the callback.
- TestFileSystemForOpenFile file_system(temp_path, OPEN_OR_CREATE_FILE);
- const int64 kExpectedSize = 0;
-
- OpenFile(kDummyPath,
- base::PLATFORM_FILE_CREATE_ALWAYS | base::PLATFORM_FILE_WRITE,
- base::Bind(&VerifyWrite, kExpectedSize, temp_path, kWriteData),
- &file_system);
- test_util::RunBlockingPoolTask();
- EXPECT_TRUE(file_system.closed());
-}
-
-TEST_F(FileApiWorkerTest, OpenFileForOpenRead) {
- const base::FilePath kDummyPath = base::FilePath::FromUTF8Unsafe("whatever");
- const std::string kInitialData = "hello";
-
- base::FilePath temp_path;
- base::CreateTemporaryFile(&temp_path);
- google_apis::test_util::WriteStringToFile(temp_path, kInitialData);
-
- // OPEN => OPEN (failure when the file did not exist.)
- TestFileSystemForOpenFile file_system(temp_path, OPEN_FILE);
-
- OpenFile(kDummyPath,
- base::PLATFORM_FILE_OPEN | base::PLATFORM_FILE_READ,
- base::Bind(&VerifyRead, kInitialData),
- &file_system);
- test_util::RunBlockingPoolTask();
- EXPECT_TRUE(file_system.closed());
-}
-
-} // namespace fileapi_internal
-} // namespace drive
« no previous file with comments | « chrome/browser/chromeos/drive/fileapi_worker.cc ('k') | chrome/browser/chromeos/drive/webkit_file_stream_reader_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698