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

Unified Diff: content/browser/in_process_webkit/indexed_db_quota_client_unittest.cc

Issue 7470008: Improve IndexedDB's quota support (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: improve names and comments, better map cleanup Created 9 years, 5 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: content/browser/in_process_webkit/indexed_db_quota_client_unittest.cc
diff --git a/content/browser/in_process_webkit/indexed_db_quota_client_unittest.cc b/content/browser/in_process_webkit/indexed_db_quota_client_unittest.cc
index cd7d819d523c15d76a5173d2c0da5e38a6d4716e..17f46bb8f6249e19e430e21a1ed14750b40c268e 100644
--- a/content/browser/in_process_webkit/indexed_db_quota_client_unittest.cc
+++ b/content/browser/in_process_webkit/indexed_db_quota_client_unittest.cc
@@ -36,7 +36,8 @@ class IndexedDBQuotaClientTest : public testing::Test {
usage_(0),
callback_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)),
message_loop_(MessageLoop::TYPE_IO),
- webkit_thread_(BrowserThread::WEBKIT, &message_loop_) {
+ webkit_thread_(BrowserThread::WEBKIT, &message_loop_),
+ io_thread_(BrowserThread::IO, &message_loop_) {
TestingProfile profile;
idb_context_ = profile.GetWebKitContext()->indexed_db_context();
setup_temp_dir();
@@ -93,6 +94,15 @@ class IndexedDBQuotaClientTest : public testing::Test {
return origins_;
}
+ quota::QuotaStatusCode DeleteOrigin(quota::QuotaClient* client,
+ const GURL& origin_url) {
kinuko 2011/08/03 09:12:22 weird indent
dgrogan 2011/08/03 21:45:47 Done.
+ delete_status_ = quota::kQuotaStatusUnknown;
+ client->DeleteOriginData(origin_url, kTemp, callback_factory_.NewCallback(
+ &IndexedDBQuotaClientTest::OnDeleteOriginComplete));
kinuko 2011/08/03 09:12:22 weird indent
dgrogan 2011/08/03 21:45:47 Done.
+ MessageLoop::current()->RunAllPending();
+ return delete_status_;
+ }
+
IndexedDBContext* idb_context() { return idb_context_.get(); }
void SetFileSizeTo(const FilePath& path, int size) {
@@ -120,6 +130,10 @@ class IndexedDBQuotaClientTest : public testing::Test {
origins_ = origins;
}
+ void OnDeleteOriginComplete(quota::QuotaStatusCode code) {
+ delete_status_ = code;
+ }
+
ScopedTempDir temp_dir_;
int64 usage_;
std::set<GURL> origins_;
@@ -127,6 +141,8 @@ class IndexedDBQuotaClientTest : public testing::Test {
base::ScopedCallbackFactory<IndexedDBQuotaClientTest> callback_factory_;
MessageLoop message_loop_;
BrowserThread webkit_thread_;
+ BrowserThread io_thread_;
+ quota::QuotaStatusCode delete_status_;
};
@@ -190,3 +206,19 @@ TEST_F(IndexedDBQuotaClientTest, GetOriginsForType) {
EXPECT_TRUE(GetOriginsForType(&client, kPerm).empty());
}
+
+TEST_F(IndexedDBQuotaClientTest, DeleteOrigin) {
+ IndexedDBQuotaClient client(
+ base::MessageLoopProxy::CreateForCurrentThread(),
+ idb_context());
+
+ AddFakeIndexedDB(kOriginA, 1000);
+ AddFakeIndexedDB(kOriginB, 50);
+ EXPECT_EQ(1000, GetOriginUsage(&client, kOriginA, kTemp));
+ EXPECT_EQ(50, GetOriginUsage(&client, kOriginB, kTemp));
+
+ quota::QuotaStatusCode delete_status = DeleteOrigin(&client, kOriginA);
+ EXPECT_EQ(quota::kQuotaStatusOk, delete_status);
+ EXPECT_EQ(0, GetOriginUsage(&client, kOriginA, kTemp));
+ EXPECT_EQ(50, GetOriginUsage(&client, kOriginB, kTemp));
+}

Powered by Google App Engine
This is Rietveld 408576698