diff options
author | tzik@chromium.org <tzik@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-11 07:35:13 +0000 |
---|---|---|
committer | tzik@chromium.org <tzik@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-11 07:35:13 +0000 |
commit | 294dd0316b3246c30e4558e8ec380479c9e82481 (patch) | |
tree | 0da556f3aa34918cd33ba14ab80e9acfbb8574f9 /webkit/fileapi/quota_file_util_unittest.cc | |
parent | 27d255b7a75a9a21fca70a90eae07c6cf22ae30b (diff) | |
download | chromium_src-294dd0316b3246c30e4558e8ec380479c9e82481.zip chromium_src-294dd0316b3246c30e4558e8ec380479c9e82481.tar.gz chromium_src-294dd0316b3246c30e4558e8ec380479c9e82481.tar.bz2 |
Merge QuotaFileUtil into ObfuscatedFileUtil
This change includes
- rename variable name of paths, (e.g. "filesystem:http://example.com/temporary/hoge/fuga")
--- path: FileSystemPath past by upper layer, ("http://example.com", kTemporary, "hoge/fuga")
--- virtual_path: path.internal_path(), ("hoge/fuga")
--- local_path: origin, type & absolute native path
--- local_file_path: absolute native path (e.g. "/home/tzik/.config/chromium/Default/File System/001/t/00/0000001")
--- data_path: native path, relative to origin directory (e.g. "00/0000001")
- use FilePath instead of FileSystemPath for source path in CopyInForeignFile.
- refactor CopyOrMoveFile and CopyInForeignFile of ObfuscatedFileUtil
- merge QuotaFileUtil into ObfuscatedFileUtil
- fixing tests
BUG=114732
TEST='ObfuscatedFileUtilTest.*'
Review URL: https://chromiumcodereview.appspot.com/10051004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@136521 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/fileapi/quota_file_util_unittest.cc')
-rw-r--r-- | webkit/fileapi/quota_file_util_unittest.cc | 457 |
1 files changed, 0 insertions, 457 deletions
diff --git a/webkit/fileapi/quota_file_util_unittest.cc b/webkit/fileapi/quota_file_util_unittest.cc deleted file mode 100644 index 16e99a1..0000000 --- a/webkit/fileapi/quota_file_util_unittest.cc +++ /dev/null @@ -1,457 +0,0 @@ -// Copyright (c) 2012 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 "webkit/fileapi/quota_file_util.h" - -#include <string> - -#include "base/file_path.h" -#include "base/message_loop_proxy.h" -#include "base/platform_file.h" -#include "base/scoped_temp_dir.h" -#include "testing/gtest/include/gtest/gtest.h" -#include "webkit/fileapi/file_system_context.h" -#include "webkit/fileapi/file_system_operation_context.h" -#include "webkit/fileapi/file_system_test_helper.h" -#include "webkit/fileapi/file_system_types.h" -#include "webkit/fileapi/file_system_usage_cache.h" -#include "webkit/fileapi/file_util_helper.h" - -namespace fileapi { - -class QuotaFileUtilTest : public testing::Test { - public: - QuotaFileUtilTest() {} - - void SetUp() { - ASSERT_TRUE(data_dir_.CreateUniqueTempDir()); - quota_file_util_.reset(QuotaFileUtil::CreateDefault()); - quota_test_helper_.SetUp(data_dir_.path(), quota_file_util_.get()); - base_dir_ = quota_test_helper_.GetOriginRootPath(); - } - - void TearDown() { - quota_test_helper_.TearDown(); - } - - protected: - FileSystemOperationContext* NewContext() { - return quota_test_helper_.NewOperationContext(); - } - - FileSystemPath Path(const std::string& file_name) { - return quota_test_helper_.CreatePath(base_dir_.AppendASCII(file_name)); - } - - base::PlatformFileError CreateFile(const char* file_name, - base::PlatformFile* file_handle, bool* created) { - int file_flags = base::PLATFORM_FILE_CREATE | - base::PLATFORM_FILE_WRITE | base::PLATFORM_FILE_ASYNC; - - scoped_ptr<FileSystemOperationContext> context(NewContext()); - return quota_file_util()->CreateOrOpen( - context.get(), Path(file_name), file_flags, file_handle, created); - } - - base::PlatformFileError EnsureFileExists( - const char* file_name, bool* created) { - scoped_ptr<FileSystemOperationContext> context(NewContext()); - return quota_file_util_->EnsureFileExists( - context.get(), Path(file_name), created); - } - - QuotaFileUtil* quota_file_util() const { - return quota_file_util_.get(); - } - - const FileSystemTestOriginHelper& quota_test_helper() const { - return quota_test_helper_; - } - - private: - ScopedTempDir data_dir_; - FilePath base_dir_; - FileSystemTestOriginHelper quota_test_helper_; - scoped_ptr<QuotaFileUtil> quota_file_util_; - - DISALLOW_COPY_AND_ASSIGN(QuotaFileUtilTest); -}; - -TEST_F(QuotaFileUtilTest, CreateAndClose) { - const char *file_name = "test_file"; - base::PlatformFile file_handle; - bool created; - ASSERT_EQ(base::PLATFORM_FILE_OK, - CreateFile(file_name, &file_handle, &created)); - ASSERT_TRUE(created); - - scoped_ptr<FileSystemOperationContext> context(NewContext()); - EXPECT_EQ(base::PLATFORM_FILE_OK, - quota_file_util()->Close(context.get(), file_handle)); -} - -TEST_F(QuotaFileUtilTest, CopyFile) { - const char *from_file = "fromfile"; - const char *obstacle_file = "obstaclefile"; - const char *to_file1 = "tofile1"; - const char *to_file2 = "tofile2"; - bool created; - ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(from_file, &created)); - ASSERT_TRUE(created); - ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(obstacle_file, &created)); - ASSERT_TRUE(created); - scoped_ptr<FileSystemOperationContext> context; - - context.reset(NewContext()); - context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit); - ASSERT_EQ(base::PLATFORM_FILE_OK, - quota_file_util()->TruncateInternal( - context.get(), Path(from_file), 1020)); - ASSERT_EQ(1020, quota_test_helper().GetCachedOriginUsage()); - ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(), - quota_test_helper().GetCachedOriginUsage()); - - context.reset(NewContext()); - context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit); - ASSERT_EQ(base::PLATFORM_FILE_OK, - quota_file_util()->TruncateInternal( - context.get(), Path(obstacle_file), 1)); - ASSERT_EQ(1021, quota_test_helper().GetCachedOriginUsage()); - ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(), - quota_test_helper().GetCachedOriginUsage()); - - context.reset(NewContext()); - context->set_allowed_bytes_growth(1020); - ASSERT_EQ(base::PLATFORM_FILE_OK, - quota_test_helper().SameFileUtilCopy( - context.get(), - Path(from_file), - Path(to_file1))); - ASSERT_EQ(2041, quota_test_helper().GetCachedOriginUsage()); - ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(), - quota_test_helper().GetCachedOriginUsage()); - - context.reset(NewContext()); - context->set_allowed_bytes_growth(1019); - ASSERT_EQ(base::PLATFORM_FILE_ERROR_NO_SPACE, - quota_test_helper().SameFileUtilCopy( - context.get(), - Path(from_file), - Path(to_file2))); - ASSERT_EQ(2041, quota_test_helper().GetCachedOriginUsage()); - ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(), - quota_test_helper().GetCachedOriginUsage()); - - context.reset(NewContext()); - context->set_allowed_bytes_growth(1019); - ASSERT_EQ(base::PLATFORM_FILE_OK, - quota_test_helper().SameFileUtilCopy( - context.get(), - Path(from_file), - Path(obstacle_file))); - ASSERT_EQ(3060, quota_test_helper().GetCachedOriginUsage()); - ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(), - quota_test_helper().GetCachedOriginUsage()); - - context.reset(NewContext()); - context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit); - ASSERT_EQ(base::PLATFORM_FILE_OK, - quota_file_util()->TruncateInternal( - context.get(), Path(from_file), 1019)); - ASSERT_EQ(3059, quota_test_helper().GetCachedOriginUsage()); - ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(), - quota_test_helper().GetCachedOriginUsage()); - - context.reset(NewContext()); - context->set_allowed_bytes_growth(-2); // quota exceeded - ASSERT_EQ(base::PLATFORM_FILE_OK, - quota_test_helper().SameFileUtilCopy( - context.get(), - Path(from_file), - Path(obstacle_file))); - ASSERT_EQ(3058, quota_test_helper().GetCachedOriginUsage()); - ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(), - quota_test_helper().GetCachedOriginUsage()); -} - -TEST_F(QuotaFileUtilTest, CopyDirectory) { - const char *from_dir = "fromdir"; - const char *from_file1 = "fromdir/fromfile1"; - const char *from_file2 = "fromdir/fromfile2"; - const char *to_dir1 = "todir1"; - const char *to_dir2 = "todir2"; - bool created; - scoped_ptr<FileSystemOperationContext> context; - - context.reset(NewContext()); - ASSERT_EQ(base::PLATFORM_FILE_OK, - quota_file_util()->CreateDirectory(context.get(), - Path(from_dir), - false, false)); - ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(from_file1, &created)); - ASSERT_TRUE(created); - ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(from_file2, &created)); - ASSERT_TRUE(created); - - context.reset(NewContext()); - context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit); - ASSERT_EQ(base::PLATFORM_FILE_OK, - quota_file_util()->TruncateInternal( - context.get(), Path(from_file1), 520)); - ASSERT_EQ(520, quota_test_helper().GetCachedOriginUsage()); - ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(), - quota_test_helper().GetCachedOriginUsage()); - - context.reset(NewContext()); - context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit); - ASSERT_EQ(base::PLATFORM_FILE_OK, - quota_file_util()->TruncateInternal( - context.get(), Path(from_file2), 500)); - ASSERT_EQ(1020, quota_test_helper().GetCachedOriginUsage()); - ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(), - quota_test_helper().GetCachedOriginUsage()); - - context.reset(NewContext()); - context->set_allowed_bytes_growth(1020); - ASSERT_EQ(base::PLATFORM_FILE_OK, - quota_test_helper().SameFileUtilCopy( - context.get(), - Path(from_dir), - Path(to_dir1))); - ASSERT_EQ(2040, quota_test_helper().GetCachedOriginUsage()); - ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(), - quota_test_helper().GetCachedOriginUsage()); - - context.reset(NewContext()); - context->set_allowed_bytes_growth(1019); - EXPECT_EQ(base::PLATFORM_FILE_ERROR_NO_SPACE, - quota_test_helper().SameFileUtilCopy( - context.get(), - Path(from_dir), - Path(to_dir2))); - ASSERT_TRUE(2540 == quota_test_helper().GetCachedOriginUsage() || - 2560 == quota_test_helper().GetCachedOriginUsage()); - ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(), - quota_test_helper().GetCachedOriginUsage()); -} - -TEST_F(QuotaFileUtilTest, MoveFile) { - const char *from_file = "fromfile"; - const char *obstacle_file = "obstaclefile"; - const char *to_file = "tofile"; - bool created; - ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(from_file, &created)); - ASSERT_TRUE(created); - scoped_ptr<FileSystemOperationContext> context; - - context.reset(NewContext()); - context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit); - ASSERT_EQ(base::PLATFORM_FILE_OK, - quota_file_util()->TruncateInternal( - context.get(), Path(from_file), 1020)); - ASSERT_EQ(1020, quota_test_helper().GetCachedOriginUsage()); - ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(), - quota_test_helper().GetCachedOriginUsage()); - - context.reset(NewContext()); - context->set_allowed_bytes_growth(0); - ASSERT_EQ(base::PLATFORM_FILE_OK, - quota_test_helper().SameFileUtilMove( - context.get(), - Path(from_file), - Path(to_file))); - ASSERT_EQ(1020, quota_test_helper().GetCachedOriginUsage()); - ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(), - quota_test_helper().GetCachedOriginUsage()); - - ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(from_file, &created)); - ASSERT_TRUE(created); - ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(obstacle_file, &created)); - ASSERT_TRUE(created); - - context.reset(NewContext()); - context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit); - ASSERT_EQ(base::PLATFORM_FILE_OK, - quota_file_util()->TruncateInternal( - context.get(), Path(from_file), 1020)); - ASSERT_EQ(2040, quota_test_helper().GetCachedOriginUsage()); - ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(), - quota_test_helper().GetCachedOriginUsage()); - - context.reset(NewContext()); - context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit); - ASSERT_EQ(base::PLATFORM_FILE_OK, - quota_file_util()->TruncateInternal( - context.get(), Path(obstacle_file), 1)); - ASSERT_EQ(2041, quota_test_helper().GetCachedOriginUsage()); - ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(), - quota_test_helper().GetCachedOriginUsage()); - - context.reset(NewContext()); - context->set_allowed_bytes_growth(0); - ASSERT_EQ(base::PLATFORM_FILE_OK, - quota_test_helper().SameFileUtilMove( - context.get(), - Path(from_file), - Path(obstacle_file))); - ASSERT_EQ(2040, quota_test_helper().GetCachedOriginUsage()); - ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(), - quota_test_helper().GetCachedOriginUsage()); - - ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(from_file, &created)); - ASSERT_TRUE(created); - - context.reset(NewContext()); - context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit); - ASSERT_EQ(base::PLATFORM_FILE_OK, - quota_file_util()->TruncateInternal( - context.get(), Path(from_file), 10)); - ASSERT_EQ(2050, quota_test_helper().GetCachedOriginUsage()); - ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(), - quota_test_helper().GetCachedOriginUsage()); - - context.reset(NewContext()); - context->set_allowed_bytes_growth(-1020 - 1); // quota exceeded, after - ASSERT_EQ(base::PLATFORM_FILE_OK, - quota_test_helper().SameFileUtilMove( - context.get(), - Path(from_file), - Path(obstacle_file))); - ASSERT_EQ(1030, quota_test_helper().GetCachedOriginUsage()); - ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(), - quota_test_helper().GetCachedOriginUsage()); -} - -TEST_F(QuotaFileUtilTest, MoveDirectory) { - const char *from_dir = "fromdir"; - const char *from_file = "fromdir/fromfile"; - const char *to_dir1 = "todir1"; - const char *to_dir2 = "todir2"; - bool created; - scoped_ptr<FileSystemOperationContext> context; - - context.reset(NewContext()); - ASSERT_EQ(base::PLATFORM_FILE_OK, - quota_file_util()->CreateDirectory(context.get(), - Path(from_dir), - false, false)); - ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(from_file, &created)); - ASSERT_TRUE(created); - - context.reset(NewContext()); - context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit); - ASSERT_EQ(base::PLATFORM_FILE_OK, - quota_file_util()->TruncateInternal( - context.get(), Path(from_file), 1020)); - ASSERT_EQ(1020, quota_test_helper().GetCachedOriginUsage()); - ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(), - quota_test_helper().GetCachedOriginUsage()); - - context.reset(NewContext()); - context->set_allowed_bytes_growth(1020); - ASSERT_EQ(base::PLATFORM_FILE_OK, - quota_test_helper().SameFileUtilMove( - context.get(), - Path(from_dir), - Path(to_dir1))); - ASSERT_EQ(1020, quota_test_helper().GetCachedOriginUsage()); - ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(), - quota_test_helper().GetCachedOriginUsage()); - - context.reset(NewContext()); - ASSERT_EQ(base::PLATFORM_FILE_OK, - quota_file_util()->CreateDirectory(context.get(), - Path(from_dir), - false, false)); - ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(from_file, &created)); - ASSERT_TRUE(created); - - context.reset(NewContext()); - context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit); - ASSERT_EQ(base::PLATFORM_FILE_OK, - quota_file_util()->TruncateInternal( - context.get(), Path(from_file), 1020)); - ASSERT_EQ(2040, quota_test_helper().GetCachedOriginUsage()); - ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(), - quota_test_helper().GetCachedOriginUsage()); - - context.reset(NewContext()); - context->set_allowed_bytes_growth(1019); - EXPECT_EQ(base::PLATFORM_FILE_OK, - quota_test_helper().SameFileUtilMove( - context.get(), - Path(from_dir), - Path(to_dir2))); - ASSERT_EQ(2040, quota_test_helper().GetCachedOriginUsage()); - ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(), - quota_test_helper().GetCachedOriginUsage()); -} - -TEST_F(QuotaFileUtilTest, Remove) { - const char *dir = "dir"; - const char *file = "file"; - const char *dfile1 = "dir/dfile1"; - const char *dfile2 = "dir/dfile2"; - bool created; - scoped_ptr<FileSystemOperationContext> context; - - ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(file, &created)); - ASSERT_TRUE(created); - context.reset(NewContext()); - ASSERT_EQ(base::PLATFORM_FILE_OK, - quota_file_util()->CreateDirectory(context.get(), - Path(dir), - false, false)); - ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(dfile1, &created)); - ASSERT_TRUE(created); - ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(dfile2, &created)); - ASSERT_TRUE(created); - - context.reset(NewContext()); - context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit); - ASSERT_EQ(base::PLATFORM_FILE_OK, - quota_file_util()->TruncateInternal( - context.get(), Path(file), 340)); - ASSERT_EQ(340, quota_test_helper().GetCachedOriginUsage()); - ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(), - quota_test_helper().GetCachedOriginUsage()); - - context.reset(NewContext()); - context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit); - ASSERT_EQ(base::PLATFORM_FILE_OK, - quota_file_util()->TruncateInternal( - context.get(), Path(dfile1), 1020)); - ASSERT_EQ(1360, quota_test_helper().GetCachedOriginUsage()); - ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(), - quota_test_helper().GetCachedOriginUsage()); - - context.reset(NewContext()); - context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit); - ASSERT_EQ(base::PLATFORM_FILE_OK, - quota_file_util()->TruncateInternal( - context.get(), Path(dfile2), 120)); - ASSERT_EQ(1480, quota_test_helper().GetCachedOriginUsage()); - ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(), - quota_test_helper().GetCachedOriginUsage()); - - context.reset(NewContext()); - context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit); - ASSERT_EQ(base::PLATFORM_FILE_OK, - FileUtilHelper::Delete(context.get(), quota_file_util(), - Path(file), false)); - ASSERT_EQ(1140, quota_test_helper().GetCachedOriginUsage()); - ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(), - quota_test_helper().GetCachedOriginUsage()); - - context.reset(NewContext()); - context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit); - ASSERT_EQ(base::PLATFORM_FILE_OK, - FileUtilHelper::Delete(context.get(), quota_file_util(), - Path(dir), true)); - ASSERT_EQ(0, quota_test_helper().GetCachedOriginUsage()); - ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(), - quota_test_helper().GetCachedOriginUsage()); -} - -} // namespace fileapi |