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

Unified Diff: webkit/fileapi/file_system_quota_client_unittest.cc

Issue 15535006: Move browser-specific FileAPI code from webkit/fileapi to webkit/browser/fileapi (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 7 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
« no previous file with comments | « webkit/fileapi/file_system_quota_client.cc ('k') | webkit/fileapi/file_system_quota_util.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/fileapi/file_system_quota_client_unittest.cc
diff --git a/webkit/fileapi/file_system_quota_client_unittest.cc b/webkit/fileapi/file_system_quota_client_unittest.cc
deleted file mode 100644
index 7139a43f4af00439a445367dcab69890cdb5c341..0000000000000000000000000000000000000000
--- a/webkit/fileapi/file_system_quota_client_unittest.cc
+++ /dev/null
@@ -1,588 +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 "base/basictypes.h"
-#include "base/bind.h"
-#include "base/file_util.h"
-#include "base/files/scoped_temp_dir.h"
-#include "base/message_loop.h"
-#include "base/message_loop_proxy.h"
-#include "base/platform_file.h"
-#include "googleurl/src/gurl.h"
-#include "testing/gtest/include/gtest/gtest.h"
-#include "webkit/browser/fileapi/file_system_usage_cache.h"
-#include "webkit/browser/fileapi/obfuscated_file_util.h"
-#include "webkit/browser/fileapi/sandbox_mount_point_provider.h"
-#include "webkit/fileapi/file_system_context.h"
-#include "webkit/fileapi/file_system_operation_context.h"
-#include "webkit/fileapi/file_system_quota_client.h"
-#include "webkit/fileapi/file_system_types.h"
-#include "webkit/fileapi/file_system_util.h"
-#include "webkit/fileapi/mock_file_system_context.h"
-#include "webkit/quota/quota_types.h"
-
-namespace fileapi {
-namespace {
-
-const char kDummyURL1[] = "http://www.dummy.org";
-const char kDummyURL2[] = "http://www.example.com";
-const char kDummyURL3[] = "http://www.bleh";
-
-// Declared to shorten the variable names.
-const quota::StorageType kTemporary = quota::kStorageTypeTemporary;
-const quota::StorageType kPersistent = quota::kStorageTypePersistent;
-
-} // namespace
-
-class FileSystemQuotaClientTest : public testing::Test {
- public:
- FileSystemQuotaClientTest()
- : weak_factory_(this),
- additional_callback_count_(0),
- deletion_status_(quota::kQuotaStatusUnknown) {
- }
-
- virtual void SetUp() {
- ASSERT_TRUE(data_dir_.CreateUniqueTempDir());
- file_system_context_ = CreateFileSystemContextForTesting(
- NULL, data_dir_.path());
- }
-
- struct TestFile {
- bool isDirectory;
- const char* name;
- int64 size;
- const char* origin_url;
- quota::StorageType type;
- };
-
- protected:
- FileSystemQuotaClient* NewQuotaClient(bool is_incognito) {
- return new FileSystemQuotaClient(
- file_system_context_, is_incognito);
- }
-
- void GetOriginUsageAsync(FileSystemQuotaClient* quota_client,
- const std::string& origin_url,
- quota::StorageType type) {
- quota_client->GetOriginUsage(
- GURL(origin_url), type,
- base::Bind(&FileSystemQuotaClientTest::OnGetUsage,
- weak_factory_.GetWeakPtr()));
- }
-
- int64 GetOriginUsage(FileSystemQuotaClient* quota_client,
- const std::string& origin_url,
- quota::StorageType type) {
- GetOriginUsageAsync(quota_client, origin_url, type);
- base::MessageLoop::current()->RunUntilIdle();
- return usage_;
- }
-
- const std::set<GURL>& GetOriginsForType(FileSystemQuotaClient* quota_client,
- quota::StorageType type) {
- origins_.clear();
- quota_client->GetOriginsForType(
- type,
- base::Bind(&FileSystemQuotaClientTest::OnGetOrigins,
- weak_factory_.GetWeakPtr()));
- base::MessageLoop::current()->RunUntilIdle();
- return origins_;
- }
-
- const std::set<GURL>& GetOriginsForHost(FileSystemQuotaClient* quota_client,
- quota::StorageType type,
- const std::string& host) {
- origins_.clear();
- quota_client->GetOriginsForHost(
- type, host,
- base::Bind(&FileSystemQuotaClientTest::OnGetOrigins,
- weak_factory_.GetWeakPtr()));
- base::MessageLoop::current()->RunUntilIdle();
- return origins_;
- }
-
- void RunAdditionalOriginUsageTask(FileSystemQuotaClient* quota_client,
- const std::string& origin_url,
- quota::StorageType type) {
- quota_client->GetOriginUsage(
- GURL(origin_url), type,
- base::Bind(&FileSystemQuotaClientTest::OnGetAdditionalUsage,
- weak_factory_.GetWeakPtr()));
- }
-
- FileSystemOperationContext* CreateFileSystemOperationContext(
- FileSystemType type) {
- FileSystemOperationContext* context =
- new FileSystemOperationContext(file_system_context_);
- context->set_allowed_bytes_growth(100000000);
- context->set_update_observers(
- *file_system_context_->GetUpdateObservers(type));
- return context;
- }
-
- bool CreateFileSystemDirectory(const base::FilePath& file_path,
- const std::string& origin_url,
- quota::StorageType storage_type) {
- FileSystemType type = QuotaStorageTypeToFileSystemType(storage_type);
- FileSystemFileUtil* file_util = file_system_context_->GetFileUtil(type);
-
- FileSystemURL url = file_system_context_->CreateCrackedFileSystemURL(
- GURL(origin_url), type, file_path);
- scoped_ptr<FileSystemOperationContext> context(
- CreateFileSystemOperationContext(type));
-
- base::PlatformFileError result =
- file_util->CreateDirectory(context.get(), url, false, false);
- if (result != base::PLATFORM_FILE_OK)
- return false;
- return true;
- }
-
- bool CreateFileSystemFile(const base::FilePath& file_path,
- int64 file_size,
- const std::string& origin_url,
- quota::StorageType storage_type) {
- if (file_path.empty())
- return false;
-
- FileSystemType type = QuotaStorageTypeToFileSystemType(storage_type);
- FileSystemFileUtil* file_util = file_system_context_->
- sandbox_provider()->GetFileUtil(type);
-
- FileSystemURL url = file_system_context_->CreateCrackedFileSystemURL(
- GURL(origin_url), type, file_path);
- scoped_ptr<FileSystemOperationContext> context(
- CreateFileSystemOperationContext(type));
-
- bool created = false;
- if (base::PLATFORM_FILE_OK !=
- file_util->EnsureFileExists(context.get(), url, &created))
- return false;
- EXPECT_TRUE(created);
- if (base::PLATFORM_FILE_OK !=
- file_util->Truncate(context.get(), url, file_size))
- return false;
- return true;
- }
-
- void InitializeOriginFiles(FileSystemQuotaClient* quota_client,
- const TestFile* files,
- int num_files) {
- for (int i = 0; i < num_files; i++) {
- base::FilePath path = base::FilePath().AppendASCII(files[i].name);
- if (files[i].isDirectory) {
- ASSERT_TRUE(CreateFileSystemDirectory(
- path, files[i].origin_url, files[i].type));
- if (path.empty()) {
- // Create the usage cache.
- // HACK--we always create the root [an empty path] first. If we
- // create it later, this will fail due to a quota mismatch. If we
- // call this before we create the root, it succeeds, but hasn't
- // actually created the cache.
- ASSERT_EQ(0, GetOriginUsage(
- quota_client, files[i].origin_url, files[i].type));
- }
- } else {
- ASSERT_TRUE(CreateFileSystemFile(
- path, files[i].size, files[i].origin_url, files[i].type));
- }
- }
- }
-
- // This is a bit fragile--it depends on the test data always creating a
- // directory before adding a file or directory to it, so that we can just
- // count the basename of each addition. A recursive creation of a path, which
- // created more than one directory in a single shot, would break this.
- int64 ComputeFilePathsCostForOriginAndType(const TestFile* files,
- int num_files,
- const std::string& origin_url,
- quota::StorageType type) {
- int64 file_paths_cost = 0;
- for (int i = 0; i < num_files; i++) {
- if (files[i].type == type &&
- GURL(files[i].origin_url) == GURL(origin_url)) {
- base::FilePath path = base::FilePath().AppendASCII(files[i].name);
- if (!path.empty()) {
- file_paths_cost += ObfuscatedFileUtil::ComputeFilePathCost(path);
- }
- }
- }
- return file_paths_cost;
- }
-
- void DeleteOriginData(FileSystemQuotaClient* quota_client,
- const std::string& origin,
- quota::StorageType type) {
- deletion_status_ = quota::kQuotaStatusUnknown;
- quota_client->DeleteOriginData(
- GURL(origin), type,
- base::Bind(&FileSystemQuotaClientTest::OnDeleteOrigin,
- weak_factory_.GetWeakPtr()));
- }
-
- int64 usage() const { return usage_; }
- quota::QuotaStatusCode status() { return deletion_status_; }
- int additional_callback_count() const { return additional_callback_count_; }
- void set_additional_callback_count(int count) {
- additional_callback_count_ = count;
- }
-
- private:
- void OnGetUsage(int64 usage) {
- usage_ = usage;
- }
-
- void OnGetOrigins(const std::set<GURL>& origins,
- quota::StorageType type) {
- origins_ = origins;
- type_ = type;
- }
-
- void OnGetAdditionalUsage(int64 usage_unused) {
- ++additional_callback_count_;
- }
-
- void OnDeleteOrigin(quota::QuotaStatusCode status) {
- deletion_status_ = status;
- }
-
- base::ScopedTempDir data_dir_;
- base::MessageLoop message_loop_;
- scoped_refptr<FileSystemContext> file_system_context_;
- base::WeakPtrFactory<FileSystemQuotaClientTest> weak_factory_;
- int64 usage_;
- int additional_callback_count_;
- std::set<GURL> origins_;
- quota::StorageType type_;
- quota::QuotaStatusCode deletion_status_;
-
- DISALLOW_COPY_AND_ASSIGN(FileSystemQuotaClientTest);
-};
-
-TEST_F(FileSystemQuotaClientTest, NoFileSystemTest) {
- scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false));
-
- EXPECT_EQ(0, GetOriginUsage(quota_client.get(), kDummyURL1, kTemporary));
-}
-
-TEST_F(FileSystemQuotaClientTest, NoFileTest) {
- scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false));
- const TestFile kFiles[] = {
- {true, NULL, 0, kDummyURL1, kTemporary},
- };
- InitializeOriginFiles(quota_client.get(), kFiles, ARRAYSIZE_UNSAFE(kFiles));
-
- for (int i = 0; i < 2; i++) {
- EXPECT_EQ(0, GetOriginUsage(quota_client.get(), kDummyURL1, kTemporary));
- }
-}
-
-TEST_F(FileSystemQuotaClientTest, OneFileTest) {
- scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false));
- const TestFile kFiles[] = {
- {true, NULL, 0, kDummyURL1, kTemporary},
- {false, "foo", 4921, kDummyURL1, kTemporary},
- };
- InitializeOriginFiles(quota_client.get(), kFiles, ARRAYSIZE_UNSAFE(kFiles));
- const int64 file_paths_cost = ComputeFilePathsCostForOriginAndType(
- kFiles, ARRAYSIZE_UNSAFE(kFiles), kDummyURL1, kTemporary);
-
- for (int i = 0; i < 2; i++) {
- EXPECT_EQ(4921 + file_paths_cost,
- GetOriginUsage(quota_client.get(), kDummyURL1, kTemporary));
- }
-}
-
-TEST_F(FileSystemQuotaClientTest, TwoFilesTest) {
- scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false));
- const TestFile kFiles[] = {
- {true, NULL, 0, kDummyURL1, kTemporary},
- {false, "foo", 10310, kDummyURL1, kTemporary},
- {false, "bar", 41, kDummyURL1, kTemporary},
- };
- InitializeOriginFiles(quota_client.get(), kFiles, ARRAYSIZE_UNSAFE(kFiles));
- const int64 file_paths_cost = ComputeFilePathsCostForOriginAndType(
- kFiles, ARRAYSIZE_UNSAFE(kFiles), kDummyURL1, kTemporary);
-
- for (int i = 0; i < 2; i++) {
- EXPECT_EQ(10310 + 41 + file_paths_cost,
- GetOriginUsage(quota_client.get(), kDummyURL1, kTemporary));
- }
-}
-
-TEST_F(FileSystemQuotaClientTest, EmptyFilesTest) {
- scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false));
- const TestFile kFiles[] = {
- {true, NULL, 0, kDummyURL1, kTemporary},
- {false, "foo", 0, kDummyURL1, kTemporary},
- {false, "bar", 0, kDummyURL1, kTemporary},
- {false, "baz", 0, kDummyURL1, kTemporary},
- };
- InitializeOriginFiles(quota_client.get(), kFiles, ARRAYSIZE_UNSAFE(kFiles));
- const int64 file_paths_cost = ComputeFilePathsCostForOriginAndType(
- kFiles, ARRAYSIZE_UNSAFE(kFiles), kDummyURL1, kTemporary);
-
- for (int i = 0; i < 2; i++) {
- EXPECT_EQ(file_paths_cost,
- GetOriginUsage(quota_client.get(), kDummyURL1, kTemporary));
- }
-}
-
-TEST_F(FileSystemQuotaClientTest, SubDirectoryTest) {
- scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false));
- const TestFile kFiles[] = {
- {true, NULL, 0, kDummyURL1, kTemporary},
- {true, "dirtest", 0, kDummyURL1, kTemporary},
- {false, "dirtest/foo", 11921, kDummyURL1, kTemporary},
- {false, "bar", 4814, kDummyURL1, kTemporary},
- };
- InitializeOriginFiles(quota_client.get(), kFiles, ARRAYSIZE_UNSAFE(kFiles));
- const int64 file_paths_cost = ComputeFilePathsCostForOriginAndType(
- kFiles, ARRAYSIZE_UNSAFE(kFiles), kDummyURL1, kTemporary);
-
- for (int i = 0; i < 2; i++) {
- EXPECT_EQ(11921 + 4814 + file_paths_cost,
- GetOriginUsage(quota_client.get(), kDummyURL1, kTemporary));
- }
-}
-
-TEST_F(FileSystemQuotaClientTest, MultiTypeTest) {
- scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false));
- const TestFile kFiles[] = {
- {true, NULL, 0, kDummyURL1, kTemporary},
- {true, "dirtest", 0, kDummyURL1, kTemporary},
- {false, "dirtest/foo", 133, kDummyURL1, kTemporary},
- {false, "bar", 14, kDummyURL1, kTemporary},
- {true, NULL, 0, kDummyURL1, kPersistent},
- {true, "dirtest", 0, kDummyURL1, kPersistent},
- {false, "dirtest/foo", 193, kDummyURL1, kPersistent},
- {false, "bar", 9, kDummyURL1, kPersistent},
- };
- InitializeOriginFiles(quota_client.get(), kFiles, ARRAYSIZE_UNSAFE(kFiles));
- const int64 file_paths_cost_temporary = ComputeFilePathsCostForOriginAndType(
- kFiles, ARRAYSIZE_UNSAFE(kFiles), kDummyURL1, kTemporary);
- const int64 file_paths_cost_persistent = ComputeFilePathsCostForOriginAndType(
- kFiles, ARRAYSIZE_UNSAFE(kFiles), kDummyURL1, kTemporary);
-
- for (int i = 0; i < 2; i++) {
- EXPECT_EQ(133 + 14 + file_paths_cost_temporary,
- GetOriginUsage(quota_client.get(), kDummyURL1, kTemporary));
- EXPECT_EQ(193 + 9 + file_paths_cost_persistent,
- GetOriginUsage(quota_client.get(), kDummyURL1, kPersistent));
- }
-}
-
-TEST_F(FileSystemQuotaClientTest, MultiDomainTest) {
- scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false));
- const TestFile kFiles[] = {
- {true, NULL, 0, kDummyURL1, kTemporary},
- {true, "dir1", 0, kDummyURL1, kTemporary},
- {false, "dir1/foo", 1331, kDummyURL1, kTemporary},
- {false, "bar", 134, kDummyURL1, kTemporary},
- {true, NULL, 0, kDummyURL1, kPersistent},
- {true, "dir2", 0, kDummyURL1, kPersistent},
- {false, "dir2/foo", 1903, kDummyURL1, kPersistent},
- {false, "bar", 19, kDummyURL1, kPersistent},
- {true, NULL, 0, kDummyURL2, kTemporary},
- {true, "dom", 0, kDummyURL2, kTemporary},
- {false, "dom/fan", 1319, kDummyURL2, kTemporary},
- {false, "bar", 113, kDummyURL2, kTemporary},
- {true, NULL, 0, kDummyURL2, kPersistent},
- {true, "dom", 0, kDummyURL2, kPersistent},
- {false, "dom/fan", 2013, kDummyURL2, kPersistent},
- {false, "baz", 18, kDummyURL2, kPersistent},
- };
- InitializeOriginFiles(quota_client.get(), kFiles, ARRAYSIZE_UNSAFE(kFiles));
- const int64 file_paths_cost_temporary1 = ComputeFilePathsCostForOriginAndType(
- kFiles, ARRAYSIZE_UNSAFE(kFiles), kDummyURL1, kTemporary);
- const int64 file_paths_cost_persistent1 =
- ComputeFilePathsCostForOriginAndType(kFiles, ARRAYSIZE_UNSAFE(kFiles),
- kDummyURL1, kPersistent);
- const int64 file_paths_cost_temporary2 = ComputeFilePathsCostForOriginAndType(
- kFiles, ARRAYSIZE_UNSAFE(kFiles), kDummyURL2, kTemporary);
- const int64 file_paths_cost_persistent2 =
- ComputeFilePathsCostForOriginAndType(kFiles, ARRAYSIZE_UNSAFE(kFiles),
- kDummyURL2, kPersistent);
-
- for (int i = 0; i < 2; i++) {
- EXPECT_EQ(1331 + 134 + file_paths_cost_temporary1,
- GetOriginUsage(quota_client.get(), kDummyURL1, kTemporary));
- EXPECT_EQ(1903 + 19 + file_paths_cost_persistent1,
- GetOriginUsage(quota_client.get(), kDummyURL1, kPersistent));
- EXPECT_EQ(1319 + 113 + file_paths_cost_temporary2,
- GetOriginUsage(quota_client.get(), kDummyURL2, kTemporary));
- EXPECT_EQ(2013 + 18 + file_paths_cost_persistent2,
- GetOriginUsage(quota_client.get(), kDummyURL2, kPersistent));
- }
-}
-
-TEST_F(FileSystemQuotaClientTest, GetUsage_MultipleTasks) {
- scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false));
- const TestFile kFiles[] = {
- {true, NULL, 0, kDummyURL1, kTemporary},
- {false, "foo", 11, kDummyURL1, kTemporary},
- {false, "bar", 22, kDummyURL1, kTemporary},
- };
- InitializeOriginFiles(quota_client.get(), kFiles, ARRAYSIZE_UNSAFE(kFiles));
- const int64 file_paths_cost = ComputeFilePathsCostForOriginAndType(
- kFiles, ARRAYSIZE_UNSAFE(kFiles), kDummyURL1, kTemporary);
-
- // Dispatching three GetUsage tasks.
- set_additional_callback_count(0);
- GetOriginUsageAsync(quota_client.get(), kDummyURL1, kTemporary);
- RunAdditionalOriginUsageTask(quota_client.get(), kDummyURL1, kTemporary);
- RunAdditionalOriginUsageTask(quota_client.get(), kDummyURL1, kTemporary);
- base::MessageLoop::current()->RunUntilIdle();
- EXPECT_EQ(11 + 22 + file_paths_cost, usage());
- EXPECT_EQ(2, additional_callback_count());
-
- // Once more, in a different order.
- set_additional_callback_count(0);
- RunAdditionalOriginUsageTask(quota_client.get(), kDummyURL1, kTemporary);
- GetOriginUsageAsync(quota_client.get(), kDummyURL1, kTemporary);
- RunAdditionalOriginUsageTask(quota_client.get(), kDummyURL1, kTemporary);
- base::MessageLoop::current()->RunUntilIdle();
- EXPECT_EQ(11 + 22 + file_paths_cost, usage());
- EXPECT_EQ(2, additional_callback_count());
-}
-
-TEST_F(FileSystemQuotaClientTest, GetOriginsForType) {
- scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false));
- const TestFile kFiles[] = {
- {true, NULL, 0, kDummyURL1, kTemporary},
- {true, NULL, 0, kDummyURL2, kTemporary},
- {true, NULL, 0, kDummyURL3, kPersistent},
- };
- InitializeOriginFiles(quota_client.get(), kFiles, ARRAYSIZE_UNSAFE(kFiles));
-
- std::set<GURL> origins = GetOriginsForType(quota_client.get(), kTemporary);
- EXPECT_EQ(2U, origins.size());
- EXPECT_TRUE(origins.find(GURL(kDummyURL1)) != origins.end());
- EXPECT_TRUE(origins.find(GURL(kDummyURL2)) != origins.end());
- EXPECT_TRUE(origins.find(GURL(kDummyURL3)) == origins.end());
-}
-
-TEST_F(FileSystemQuotaClientTest, GetOriginsForHost) {
- scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false));
- const char* kURL1 = "http://foo.com/";
- const char* kURL2 = "https://foo.com/";
- const char* kURL3 = "http://foo.com:1/";
- const char* kURL4 = "http://foo2.com/";
- const char* kURL5 = "http://foo.com:2/";
- const TestFile kFiles[] = {
- {true, NULL, 0, kURL1, kTemporary},
- {true, NULL, 0, kURL2, kTemporary},
- {true, NULL, 0, kURL3, kTemporary},
- {true, NULL, 0, kURL4, kTemporary},
- {true, NULL, 0, kURL5, kPersistent},
- };
- InitializeOriginFiles(quota_client.get(), kFiles, ARRAYSIZE_UNSAFE(kFiles));
-
- std::set<GURL> origins = GetOriginsForHost(
- quota_client.get(), kTemporary, "foo.com");
- EXPECT_EQ(3U, origins.size());
- EXPECT_TRUE(origins.find(GURL(kURL1)) != origins.end());
- EXPECT_TRUE(origins.find(GURL(kURL2)) != origins.end());
- EXPECT_TRUE(origins.find(GURL(kURL3)) != origins.end());
- EXPECT_TRUE(origins.find(GURL(kURL4)) == origins.end()); // Different host.
- EXPECT_TRUE(origins.find(GURL(kURL5)) == origins.end()); // Different type.
-}
-
-TEST_F(FileSystemQuotaClientTest, IncognitoTest) {
- scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(true));
- const TestFile kFiles[] = {
- {true, NULL, 0, kDummyURL1, kTemporary},
- {false, "foo", 10, kDummyURL1, kTemporary},
- };
- InitializeOriginFiles(quota_client.get(), kFiles, ARRAYSIZE_UNSAFE(kFiles));
-
- // Having files in the usual directory wouldn't affect the result
- // queried in incognito mode.
- EXPECT_EQ(0, GetOriginUsage(quota_client.get(), kDummyURL1, kTemporary));
- EXPECT_EQ(0, GetOriginUsage(quota_client.get(), kDummyURL1, kPersistent));
-
- std::set<GURL> origins = GetOriginsForType(quota_client.get(), kTemporary);
- EXPECT_EQ(0U, origins.size());
- origins = GetOriginsForHost(quota_client.get(), kTemporary, "www.dummy.org");
- EXPECT_EQ(0U, origins.size());
-}
-
-TEST_F(FileSystemQuotaClientTest, DeleteOriginTest) {
- scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false));
- const TestFile kFiles[] = {
- {true, NULL, 0, "http://foo.com/", kTemporary},
- {false, "a", 1, "http://foo.com/", kTemporary},
- {true, NULL, 0, "https://foo.com/", kTemporary},
- {false, "b", 2, "https://foo.com/", kTemporary},
- {true, NULL, 0, "http://foo.com/", kPersistent},
- {false, "c", 4, "http://foo.com/", kPersistent},
- {true, NULL, 0, "http://bar.com/", kTemporary},
- {false, "d", 8, "http://bar.com/", kTemporary},
- {true, NULL, 0, "http://bar.com/", kPersistent},
- {false, "e", 16, "http://bar.com/", kPersistent},
- {true, NULL, 0, "https://bar.com/", kPersistent},
- {false, "f", 32, "https://bar.com/", kPersistent},
- {true, NULL, 0, "https://bar.com/", kTemporary},
- {false, "g", 64, "https://bar.com/", kTemporary},
- };
- InitializeOriginFiles(quota_client.get(), kFiles, ARRAYSIZE_UNSAFE(kFiles));
- const int64 file_paths_cost_temporary_foo_https =
- ComputeFilePathsCostForOriginAndType(kFiles, ARRAYSIZE_UNSAFE(kFiles),
- "https://foo.com/", kTemporary);
- const int64 file_paths_cost_persistent_foo =
- ComputeFilePathsCostForOriginAndType(kFiles, ARRAYSIZE_UNSAFE(kFiles),
- "http://foo.com/", kPersistent);
- const int64 file_paths_cost_temporary_bar =
- ComputeFilePathsCostForOriginAndType(kFiles, ARRAYSIZE_UNSAFE(kFiles),
- "http://bar.com/", kTemporary);
- const int64 file_paths_cost_temporary_bar_https =
- ComputeFilePathsCostForOriginAndType(kFiles, ARRAYSIZE_UNSAFE(kFiles),
- "https://bar.com/", kTemporary);
- const int64 file_paths_cost_persistent_bar_https =
- ComputeFilePathsCostForOriginAndType(kFiles, ARRAYSIZE_UNSAFE(kFiles),
- "https://bar.com/", kPersistent);
-
- DeleteOriginData(quota_client.get(), "http://foo.com/", kTemporary);
- base::MessageLoop::current()->RunUntilIdle();
- EXPECT_EQ(quota::kQuotaStatusOk, status());
-
- DeleteOriginData(quota_client.get(), "http://bar.com/", kPersistent);
- base::MessageLoop::current()->RunUntilIdle();
- EXPECT_EQ(quota::kQuotaStatusOk, status());
-
- DeleteOriginData(quota_client.get(), "http://buz.com/", kTemporary);
- base::MessageLoop::current()->RunUntilIdle();
- EXPECT_EQ(quota::kQuotaStatusOk, status());
-
- EXPECT_EQ(0, GetOriginUsage(
- quota_client.get(), "http://foo.com/", kTemporary));
- EXPECT_EQ(0, GetOriginUsage(
- quota_client.get(), "http://bar.com/", kPersistent));
- EXPECT_EQ(0, GetOriginUsage(
- quota_client.get(), "http://buz.com/", kTemporary));
-
- EXPECT_EQ(2 + file_paths_cost_temporary_foo_https,
- GetOriginUsage(quota_client.get(),
- "https://foo.com/",
- kTemporary));
- EXPECT_EQ(4 + file_paths_cost_persistent_foo,
- GetOriginUsage(quota_client.get(),
- "http://foo.com/",
- kPersistent));
- EXPECT_EQ(8 + file_paths_cost_temporary_bar,
- GetOriginUsage(quota_client.get(),
- "http://bar.com/",
- kTemporary));
- EXPECT_EQ(32 + file_paths_cost_persistent_bar_https,
- GetOriginUsage(quota_client.get(),
- "https://bar.com/",
- kPersistent));
- EXPECT_EQ(64 + file_paths_cost_temporary_bar_https,
- GetOriginUsage(quota_client.get(),
- "https://bar.com/",
- kTemporary));
-}
-
-} // namespace fileapi
« no previous file with comments | « webkit/fileapi/file_system_quota_client.cc ('k') | webkit/fileapi/file_system_quota_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698