| Index: webkit/fileapi/quota_file_util_unittest.cc
|
| diff --git a/webkit/fileapi/quota_file_util_unittest.cc b/webkit/fileapi/quota_file_util_unittest.cc
|
| index 320a2fcaf9f7892915631f07a581dca899a0fd44..a89376e8c0d763e6756a881e5d6cb736b82cf7db 100644
|
| --- a/webkit/fileapi/quota_file_util_unittest.cc
|
| +++ b/webkit/fileapi/quota_file_util_unittest.cc
|
| @@ -42,52 +42,31 @@ class QuotaFileUtilTest : public testing::Test {
|
| }
|
|
|
| protected:
|
| - FileSystemOperationContext* NewContext(
|
| - int64 allowed_bytes_growth,
|
| - const FilePath& src_virtual_path,
|
| - const FilePath& dest_virtual_path) {
|
| - FileSystemOperationContext* context =
|
| - quota_test_helper_.NewOperationContext();
|
| - context->set_allowed_bytes_growth(allowed_bytes_growth);
|
| - context->set_src_virtual_path(src_virtual_path);
|
| - context->set_dest_virtual_path(dest_virtual_path);
|
| - return context;
|
| + FileSystemOperationContext* NewContext() {
|
| + return quota_test_helper_.NewOperationContext();
|
| }
|
|
|
| FilePath Path(const std::string& file_name) {
|
| return base_dir_.AppendASCII(file_name);
|
| }
|
|
|
| - int64 ComputeFilePathCost(const char* file_name) {
|
| - return quota_file_util_->ComputeFilePathCost(
|
| - FilePath().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) {
|
| - int64 file_path_cost = ComputeFilePathCost(file_name);
|
| - scoped_ptr<FileSystemOperationContext> context(NewContext(
|
| - file_path_cost, Path(file_name), FilePath()));
|
| + scoped_ptr<FileSystemOperationContext> context(NewContext());
|
| return quota_file_util_->EnsureFileExists(
|
| context.get(), Path(file_name), created);
|
| }
|
|
|
| - base::PlatformFileError Truncate(
|
| - const char* file_name, int64 size, int64 quota) {
|
| - scoped_ptr<FileSystemOperationContext> context(NewContext(
|
| - quota, Path(file_name), FilePath()));
|
| - return quota_file_util_->Truncate(
|
| - context.get(), Path(file_name), size);
|
| - }
|
| -
|
| - void CheckUsage(int64 estimated_content, int64 estimated_path) {
|
| - ASSERT_EQ(estimated_content + estimated_path,
|
| - quota_test_helper().GetCachedOriginUsage());
|
| - ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage() +
|
| - estimated_path,
|
| - quota_test_helper().GetCachedOriginUsage());
|
| - }
|
| -
|
| QuotaFileUtil* quota_file_util() const {
|
| return quota_file_util_.get();
|
| }
|
| @@ -109,52 +88,15 @@ class QuotaFileUtilTest : public testing::Test {
|
|
|
| TEST_F(QuotaFileUtilTest, CreateAndClose) {
|
| const char *file_name = "test_file";
|
| - int64 file_path_cost = ComputeFilePathCost(file_name);
|
| -
|
| - int file_flags = base::PLATFORM_FILE_CREATE |
|
| - base::PLATFORM_FILE_WRITE | base::PLATFORM_FILE_ASYNC;
|
| base::PlatformFile file_handle;
|
| bool created;
|
| - scoped_ptr<FileSystemOperationContext> context;
|
| -
|
| - created = false;
|
| - context.reset(NewContext(file_path_cost - 1, Path(file_name), FilePath()));
|
| - ASSERT_EQ(base::PLATFORM_FILE_ERROR_NO_SPACE, quota_file_util()->CreateOrOpen(
|
| - context.get(), Path(file_name), file_flags, &file_handle, &created));
|
| - ASSERT_FALSE(created);
|
| -
|
| - created = false;
|
| - context.reset(NewContext(file_path_cost, Path(file_name), FilePath()));
|
| - ASSERT_EQ(base::PLATFORM_FILE_OK, quota_file_util()->CreateOrOpen(
|
| - context.get(), Path(file_name), file_flags, &file_handle, &created));
|
| - ASSERT_TRUE(created);
|
| -
|
| - context.reset(NewContext(0, FilePath(), FilePath()));
|
| - EXPECT_EQ(base::PLATFORM_FILE_OK, quota_file_util()->Close(
|
| - context.get(), file_handle));
|
| -}
|
| -
|
| -TEST_F(QuotaFileUtilTest, EnsureFileExists) {
|
| - const char *file_name = "foobar";
|
| -
|
| - bool created;
|
| - scoped_ptr<FileSystemOperationContext> context;
|
| -
|
| - created = false;
|
| - context.reset(NewContext(
|
| - ComputeFilePathCost(file_name) - 1, Path(file_name), FilePath()));
|
| - ASSERT_EQ(base::PLATFORM_FILE_ERROR_NO_SPACE,
|
| - quota_file_util()->EnsureFileExists(
|
| - context.get(), Path(file_name), &created));
|
| - ASSERT_FALSE(created);
|
| -
|
| - created = false;
|
| - ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(file_name, &created));
|
| + ASSERT_EQ(base::PLATFORM_FILE_OK,
|
| + CreateFile(file_name, &file_handle, &created));
|
| ASSERT_TRUE(created);
|
|
|
| - created = false;
|
| - ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(file_name, &created));
|
| - ASSERT_FALSE(created);
|
| + scoped_ptr<FileSystemOperationContext> context(NewContext());
|
| + EXPECT_EQ(base::PLATFORM_FILE_OK,
|
| + quota_file_util()->Close(context.get(), file_handle));
|
| }
|
|
|
| TEST_F(QuotaFileUtilTest, Truncate) {
|
| @@ -164,246 +106,294 @@ TEST_F(QuotaFileUtilTest, Truncate) {
|
| ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(file_name, &created));
|
| ASSERT_TRUE(created);
|
|
|
| - scoped_ptr<FileSystemOperationContext> context;
|
| -
|
| - ASSERT_EQ(base::PLATFORM_FILE_OK, Truncate(file_name, 1020, 1020));
|
| - CheckUsage(1020, ComputeFilePathCost(file_name));
|
| + scoped_ptr<FileSystemOperationContext> truncate_context;
|
|
|
| - ASSERT_EQ(base::PLATFORM_FILE_OK, Truncate(file_name, 0, 0));
|
| - CheckUsage(0, ComputeFilePathCost(file_name));
|
| -
|
| - ASSERT_EQ(base::PLATFORM_FILE_ERROR_NO_SPACE,
|
| - Truncate(file_name, 1021, 1020));
|
| - CheckUsage(0, ComputeFilePathCost(file_name));
|
| + truncate_context.reset(NewContext());
|
| + truncate_context->set_allowed_bytes_growth(1020);
|
| + ASSERT_EQ(base::PLATFORM_FILE_OK,
|
| + quota_file_util()->Truncate(truncate_context.get(),
|
| + Path(file_name),
|
| + 1020));
|
| + ASSERT_EQ(1020, quota_test_helper().GetCachedOriginUsage());
|
| + ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(),
|
| + quota_test_helper().GetCachedOriginUsage());
|
| +
|
| + truncate_context.reset(NewContext());
|
| + truncate_context->set_allowed_bytes_growth(0);
|
| + ASSERT_EQ(base::PLATFORM_FILE_OK,
|
| + quota_file_util()->Truncate(truncate_context.get(),
|
| + Path(file_name),
|
| + 0));
|
| + ASSERT_EQ(0, quota_test_helper().GetCachedOriginUsage());
|
| + ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(),
|
| + quota_test_helper().GetCachedOriginUsage());
|
| +
|
| + truncate_context.reset(NewContext());
|
| + truncate_context->set_allowed_bytes_growth(1020);
|
| + EXPECT_EQ(base::PLATFORM_FILE_ERROR_NO_SPACE,
|
| + quota_file_util()->Truncate(truncate_context.get(),
|
| + Path(file_name),
|
| + 1021));
|
| + ASSERT_EQ(0, quota_test_helper().GetCachedOriginUsage());
|
| + ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(),
|
| + quota_test_helper().GetCachedOriginUsage());
|
| }
|
|
|
| TEST_F(QuotaFileUtilTest, CopyFile) {
|
| - int64 file_path_cost = 0;
|
| const char *from_file = "fromfile";
|
| - const char *prior_file = "obstaclefile";
|
| + const char *obstacle_file = "obstaclefile";
|
| const char *to_file1 = "tofile1";
|
| - const char *to_file2 = "tomuchlongerfile2";
|
| + const char *to_file2 = "tofile2";
|
| bool created;
|
| ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(from_file, &created));
|
| ASSERT_TRUE(created);
|
| - file_path_cost += ComputeFilePathCost(from_file);
|
| - ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(prior_file, &created));
|
| + ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(obstacle_file, &created));
|
| ASSERT_TRUE(created);
|
| - file_path_cost += ComputeFilePathCost(prior_file);
|
| scoped_ptr<FileSystemOperationContext> context;
|
|
|
| - ASSERT_EQ(base::PLATFORM_FILE_OK, Truncate(from_file, 1020, 1020));
|
| - CheckUsage(1020, file_path_cost);
|
| -
|
| - ASSERT_EQ(base::PLATFORM_FILE_OK, Truncate(prior_file, 1, 1));
|
| - CheckUsage(1021, file_path_cost);
|
| -
|
| - context.reset(NewContext(1020 + ComputeFilePathCost(to_file1),
|
| - Path(from_file), Path(to_file1)));
|
| - ASSERT_EQ(base::PLATFORM_FILE_OK, quota_file_util()->Copy(
|
| - context.get(), Path(from_file), Path(to_file1)));
|
| - file_path_cost += ComputeFilePathCost(to_file1);
|
| - CheckUsage(2041, file_path_cost);
|
| + context.reset(NewContext());
|
| + context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit);
|
| + ASSERT_EQ(base::PLATFORM_FILE_OK,
|
| + quota_file_util()->Truncate(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()->Truncate(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_file_util()->Copy(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(1020 + ComputeFilePathCost(to_file2) - 1,
|
| - Path(from_file), Path(to_file2)));
|
| + context.reset(NewContext());
|
| + context->set_allowed_bytes_growth(1019);
|
| ASSERT_EQ(base::PLATFORM_FILE_ERROR_NO_SPACE,
|
| quota_file_util()->Copy(context.get(),
|
| Path(from_file),
|
| Path(to_file2)));
|
| - CheckUsage(2041, file_path_cost);
|
| + ASSERT_EQ(2041, quota_test_helper().GetCachedOriginUsage());
|
| + ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(),
|
| + quota_test_helper().GetCachedOriginUsage());
|
|
|
| - context.reset(NewContext(1019, Path(from_file), Path(prior_file)));
|
| + context.reset(NewContext());
|
| + context->set_allowed_bytes_growth(1019);
|
| ASSERT_EQ(base::PLATFORM_FILE_OK,
|
| quota_file_util()->Copy(context.get(),
|
| Path(from_file),
|
| - Path(prior_file)));
|
| - CheckUsage(3060, file_path_cost);
|
| + Path(obstacle_file)));
|
| + ASSERT_EQ(3060, quota_test_helper().GetCachedOriginUsage());
|
| + ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(),
|
| + quota_test_helper().GetCachedOriginUsage());
|
| }
|
|
|
| TEST_F(QuotaFileUtilTest, CopyDirectory) {
|
| - int64 file_path_cost = 0;
|
| const char *from_dir = "fromdir";
|
| const char *from_file1 = "fromdir/fromfile1";
|
| - const char *from_file2 = "fromdir/fromlongerfile2";
|
| + const char *from_file2 = "fromdir/fromfile2";
|
| const char *to_dir1 = "todir1";
|
| - const char *to_dir2 = "tolongerdir2";
|
| + const char *to_dir2 = "todir2";
|
| bool created;
|
| scoped_ptr<FileSystemOperationContext> context;
|
|
|
| - context.reset(NewContext(ComputeFilePathCost(from_dir),
|
| - Path(from_dir), FilePath()));
|
| + context.reset(NewContext());
|
| ASSERT_EQ(base::PLATFORM_FILE_OK,
|
| quota_file_util()->CreateDirectory(context.get(),
|
| - Path(from_dir),
|
| - false, false));
|
| - file_path_cost += ComputeFilePathCost(from_dir);
|
| -
|
| + Path(from_dir),
|
| + false, false));
|
| ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(from_file1, &created));
|
| ASSERT_TRUE(created);
|
| - file_path_cost += ComputeFilePathCost(from_file1);
|
| ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(from_file2, &created));
|
| ASSERT_TRUE(created);
|
| - file_path_cost += ComputeFilePathCost(from_file2);
|
| -
|
| - ASSERT_EQ(base::PLATFORM_FILE_OK, Truncate(from_file1, 520, 520));
|
| - CheckUsage(520, file_path_cost);
|
|
|
| - ASSERT_EQ(base::PLATFORM_FILE_OK, Truncate(from_file2, 500, 500));
|
| - CheckUsage(1020, file_path_cost);
|
| -
|
| - context.reset(NewContext(1020 +
|
| - ComputeFilePathCost(to_dir1) +
|
| - ComputeFilePathCost(from_file1) +
|
| - ComputeFilePathCost(from_file2),
|
| - Path(from_dir), Path(to_dir1)));
|
| + context.reset(NewContext());
|
| + context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit);
|
| + ASSERT_EQ(base::PLATFORM_FILE_OK,
|
| + quota_file_util()->Truncate(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()->Truncate(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_file_util()->Copy(context.get(),
|
| Path(from_dir),
|
| Path(to_dir1)));
|
| - file_path_cost += ComputeFilePathCost(to_dir1) +
|
| - ComputeFilePathCost(from_file1) +
|
| - ComputeFilePathCost(from_file2);
|
| - CheckUsage(2040, file_path_cost);
|
| -
|
| - context.reset(NewContext(1020 +
|
| - ComputeFilePathCost(to_dir2) +
|
| - ComputeFilePathCost(from_file1) +
|
| - ComputeFilePathCost(from_file2) - 1,
|
| - Path(from_dir), Path(to_dir2)));
|
| + 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_file_util()->Copy(context.get(),
|
| Path(from_dir),
|
| Path(to_dir2)));
|
| - int64 file_path_cost1 = file_path_cost +
|
| - ComputeFilePathCost(to_dir2) + ComputeFilePathCost(from_file1);
|
| - int64 file_path_cost2 = file_path_cost +
|
| - ComputeFilePathCost(to_dir2) + ComputeFilePathCost(from_file2);
|
| - ASSERT_TRUE((2560 + file_path_cost1) ==
|
| - quota_test_helper().GetCachedOriginUsage() ||
|
| - (2540 + file_path_cost2) ==
|
| - quota_test_helper().GetCachedOriginUsage());
|
| - ASSERT_TRUE((quota_test_helper().ComputeCurrentOriginUsage() + file_path_cost1
|
| - == quota_test_helper().GetCachedOriginUsage()) ||
|
| - (quota_test_helper().ComputeCurrentOriginUsage() + file_path_cost2
|
| - == quota_test_helper().GetCachedOriginUsage()));
|
| + 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) {
|
| - int64 file_path_cost = 0;
|
| const char *from_file = "fromfile";
|
| - const char *prior_file = "obstaclelongnamefile";
|
| + 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);
|
| - file_path_cost += ComputeFilePathCost(from_file);
|
| scoped_ptr<FileSystemOperationContext> context;
|
|
|
| - ASSERT_EQ(base::PLATFORM_FILE_OK, Truncate(from_file, 1020, 1020));
|
| - CheckUsage(1020, file_path_cost);
|
| -
|
| - context.reset(NewContext(0, Path(from_file), Path(to_file)));
|
| + context.reset(NewContext());
|
| + context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit);
|
| + ASSERT_EQ(base::PLATFORM_FILE_OK,
|
| + quota_file_util()->Truncate(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_file_util()->Move(context.get(),
|
| Path(from_file),
|
| Path(to_file)));
|
| - file_path_cost -= ComputeFilePathCost(from_file);
|
| - file_path_cost += ComputeFilePathCost(to_file);
|
| - CheckUsage(1020, file_path_cost);
|
| + 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);
|
| - file_path_cost += ComputeFilePathCost(from_file);
|
| - ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(prior_file, &created));
|
| + ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(obstacle_file, &created));
|
| ASSERT_TRUE(created);
|
| - file_path_cost += ComputeFilePathCost(prior_file);
|
| -
|
| - ASSERT_EQ(base::PLATFORM_FILE_OK, Truncate(from_file, 1020, 1020));
|
| - CheckUsage(2040, file_path_cost);
|
| -
|
| - ASSERT_EQ(base::PLATFORM_FILE_OK, Truncate(prior_file, 1, 1));
|
| - CheckUsage(2041, file_path_cost);
|
|
|
| - context.reset(NewContext(ComputeFilePathCost(prior_file) -
|
| - ComputeFilePathCost(from_file) - 1 - 1,
|
| - Path(from_file), Path(prior_file)));
|
| - ASSERT_EQ(base::PLATFORM_FILE_ERROR_NO_SPACE,
|
| - quota_file_util()->Move(context.get(),
|
| - Path(from_file),
|
| - Path(prior_file)));
|
| - CheckUsage(2041, file_path_cost);
|
| -
|
| - context.reset(NewContext(ComputeFilePathCost(prior_file) -
|
| - ComputeFilePathCost(from_file) - 1,
|
| - Path(from_file), Path(prior_file)));
|
| + context.reset(NewContext());
|
| + context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit);
|
| + ASSERT_EQ(base::PLATFORM_FILE_OK,
|
| + quota_file_util()->Truncate(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()->Truncate(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_file_util()->Move(context.get(),
|
| Path(from_file),
|
| - Path(prior_file)));
|
| - file_path_cost -= ComputeFilePathCost(from_file);
|
| - file_path_cost += ComputeFilePathCost(prior_file);
|
| - CheckUsage(2040, file_path_cost);
|
| + Path(obstacle_file)));
|
| + ASSERT_EQ(2040, quota_test_helper().GetCachedOriginUsage());
|
| + ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(),
|
| + quota_test_helper().GetCachedOriginUsage());
|
| }
|
|
|
| TEST_F(QuotaFileUtilTest, MoveDirectory) {
|
| - int64 file_path_cost = 0;
|
| const char *from_dir = "fromdir";
|
| const char *from_file = "fromdir/fromfile";
|
| const char *to_dir1 = "todir1";
|
| - const char *to_dir2 = "tolongnamedir2";
|
| + const char *to_dir2 = "todir2";
|
| bool created;
|
| scoped_ptr<FileSystemOperationContext> context;
|
|
|
| - context.reset(NewContext(QuotaFileUtil::kNoLimit,
|
| - Path(from_dir), FilePath()));
|
| + context.reset(NewContext());
|
| ASSERT_EQ(base::PLATFORM_FILE_OK,
|
| quota_file_util()->CreateDirectory(context.get(),
|
| Path(from_dir),
|
| false, false));
|
| - file_path_cost += ComputeFilePathCost(from_dir);
|
| ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(from_file, &created));
|
| ASSERT_TRUE(created);
|
| - file_path_cost += ComputeFilePathCost(from_file);
|
|
|
| - ASSERT_EQ(base::PLATFORM_FILE_OK, Truncate(from_file, 1020, 1020));
|
| - CheckUsage(1020, file_path_cost);
|
| -
|
| - context.reset(NewContext(1020, Path(from_dir), Path(to_dir1)));
|
| + context.reset(NewContext());
|
| + context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit);
|
| + ASSERT_EQ(base::PLATFORM_FILE_OK,
|
| + quota_file_util()->Truncate(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_file_util()->Move(context.get(),
|
| Path(from_dir),
|
| Path(to_dir1)));
|
| - file_path_cost -= ComputeFilePathCost(from_dir);
|
| - file_path_cost += ComputeFilePathCost(to_dir1);
|
| - CheckUsage(1020, file_path_cost);
|
| + ASSERT_EQ(1020, quota_test_helper().GetCachedOriginUsage());
|
| + ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(),
|
| + quota_test_helper().GetCachedOriginUsage());
|
|
|
| - context.reset(NewContext(QuotaFileUtil::kNoLimit,
|
| - Path(from_dir), FilePath()));
|
| + context.reset(NewContext());
|
| ASSERT_EQ(base::PLATFORM_FILE_OK,
|
| quota_file_util()->CreateDirectory(context.get(),
|
| Path(from_dir),
|
| false, false));
|
| - file_path_cost += ComputeFilePathCost(from_dir);
|
| ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(from_file, &created));
|
| ASSERT_TRUE(created);
|
| - file_path_cost += ComputeFilePathCost(from_file);
|
|
|
| - ASSERT_EQ(base::PLATFORM_FILE_OK, Truncate(from_file, 1020, 1020));
|
| - CheckUsage(2040, file_path_cost);
|
| -
|
| - context.reset(NewContext(1019, Path(from_dir), Path(to_dir2)));
|
| + context.reset(NewContext());
|
| + context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit);
|
| + ASSERT_EQ(base::PLATFORM_FILE_OK,
|
| + quota_file_util()->Truncate(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_file_util()->Move(context.get(),
|
| Path(from_dir),
|
| Path(to_dir2)));
|
| - file_path_cost -= ComputeFilePathCost(from_dir);
|
| - file_path_cost += ComputeFilePathCost(to_dir2);
|
| - CheckUsage(2040, file_path_cost);
|
| + ASSERT_EQ(2040, quota_test_helper().GetCachedOriginUsage());
|
| + ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(),
|
| + quota_test_helper().GetCachedOriginUsage());
|
| }
|
|
|
| TEST_F(QuotaFileUtilTest, Remove) {
|
| - int64 file_path_cost = 0;
|
| const char *dir = "dir";
|
| const char *file = "file";
|
| const char *dfile1 = "dir/dfile1";
|
| @@ -413,44 +403,65 @@ TEST_F(QuotaFileUtilTest, Remove) {
|
|
|
| ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(file, &created));
|
| ASSERT_TRUE(created);
|
| - file_path_cost += ComputeFilePathCost(file);
|
| - context.reset(NewContext(QuotaFileUtil::kNoLimit, Path(dir), FilePath()));
|
| + context.reset(NewContext());
|
| ASSERT_EQ(base::PLATFORM_FILE_OK,
|
| quota_file_util()->CreateDirectory(context.get(),
|
| Path(dir),
|
| false, false));
|
| - file_path_cost += ComputeFilePathCost(dir);
|
| ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(dfile1, &created));
|
| ASSERT_TRUE(created);
|
| - file_path_cost += ComputeFilePathCost(dfile1);
|
| ASSERT_EQ(base::PLATFORM_FILE_OK, EnsureFileExists(dfile2, &created));
|
| ASSERT_TRUE(created);
|
| - file_path_cost += ComputeFilePathCost(dfile2);
|
| -
|
| - ASSERT_EQ(base::PLATFORM_FILE_OK, Truncate(file, 340, 340));
|
| - CheckUsage(340, file_path_cost);
|
| -
|
| - ASSERT_EQ(base::PLATFORM_FILE_OK, Truncate(dfile1, 1020, 1020));
|
| - CheckUsage(1360, file_path_cost);
|
|
|
| - ASSERT_EQ(base::PLATFORM_FILE_OK, Truncate(dfile2, 120, 120));
|
| - CheckUsage(1480, file_path_cost);
|
| -
|
| - context.reset(NewContext(QuotaFileUtil::kNoLimit, Path(file), FilePath()));
|
| + context.reset(NewContext());
|
| + context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit);
|
| + ASSERT_EQ(base::PLATFORM_FILE_OK,
|
| + quota_file_util()->Truncate(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()->Truncate(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()->Truncate(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,
|
| quota_file_util()->Delete(context.get(),
|
| Path(file),
|
| false));
|
| - file_path_cost -= ComputeFilePathCost(file);
|
| - CheckUsage(1140, file_path_cost);
|
| + ASSERT_EQ(1140, quota_test_helper().GetCachedOriginUsage());
|
| + ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(),
|
| + quota_test_helper().GetCachedOriginUsage());
|
|
|
| - context.reset(NewContext(QuotaFileUtil::kNoLimit, Path(dir), FilePath()));
|
| + context.reset(NewContext());
|
| + context->set_allowed_bytes_growth(QuotaFileUtil::kNoLimit);
|
| ASSERT_EQ(base::PLATFORM_FILE_OK,
|
| quota_file_util()->Delete(context.get(),
|
| Path(dir),
|
| true));
|
| - file_path_cost = 0;
|
| - CheckUsage(0, 0);
|
| + ASSERT_EQ(0, quota_test_helper().GetCachedOriginUsage());
|
| + ASSERT_EQ(quota_test_helper().ComputeCurrentOriginUsage(),
|
| + quota_test_helper().GetCachedOriginUsage());
|
| }
|
|
|
| } // namespace fileapi
|
|
|