| Index: webkit/browser/quota/usage_tracker_unittest.cc
|
| diff --git a/webkit/browser/quota/usage_tracker_unittest.cc b/webkit/browser/quota/usage_tracker_unittest.cc
|
| index b897cfcf01722304d6cdf2206d269d8f546e8a11..b9f48565c252dcd9df3512e85fb8d45feedddbb1 100644
|
| --- a/webkit/browser/quota/usage_tracker_unittest.cc
|
| +++ b/webkit/browser/quota/usage_tracker_unittest.cc
|
| @@ -136,6 +136,15 @@ class UsageTrackerTest : public testing::Test {
|
| quota_client_.UpdateUsage(origin, delta);
|
| }
|
|
|
| + void GetGlobalLimitedUsage(int64* limited_usage) {
|
| + bool done = false;
|
| + usage_tracker_.GetGlobalLimitedUsage(base::Bind(
|
| + &DidGetUsage, &done, limited_usage));
|
| + message_loop_.RunUntilIdle();
|
| +
|
| + EXPECT_TRUE(done);
|
| + }
|
| +
|
| void GetGlobalUsage(int64* usage, int64* unlimited_usage) {
|
| bool done = false;
|
| usage_tracker_.GetGlobalUsage(base::Bind(
|
| @@ -261,7 +270,7 @@ TEST_F(UsageTrackerTest, CacheDisabledClientTest) {
|
| GetGlobalUsage(&usage, &unlimited_usage);
|
| GetHostUsage(host, &host_usage);
|
| EXPECT_EQ(400, usage);
|
| - EXPECT_EQ(400, unlimited_usage);
|
| + EXPECT_EQ(0, unlimited_usage);
|
| EXPECT_EQ(400, host_usage);
|
|
|
| SetUsageCacheEnabled(origin, true);
|
| @@ -274,4 +283,42 @@ TEST_F(UsageTrackerTest, CacheDisabledClientTest) {
|
| EXPECT_EQ(500, host_usage);
|
| }
|
|
|
| +TEST_F(UsageTrackerTest, LimitedGlobalUsageTest) {
|
| + const GURL kNormal("http://normal");
|
| + const GURL kUnlimited("http://unlimited");
|
| + const GURL kNonCached("http://non_cached");
|
| + const GURL kNonCachedUnlimited("http://non_cached-unlimited");
|
| +
|
| + GrantUnlimitedStoragePolicy(kUnlimited);
|
| + GrantUnlimitedStoragePolicy(kNonCachedUnlimited);
|
| +
|
| + SetUsageCacheEnabled(kNonCached, false);
|
| + SetUsageCacheEnabled(kNonCachedUnlimited, false);
|
| +
|
| + UpdateUsageWithoutNotification(kNormal, 1);
|
| + UpdateUsageWithoutNotification(kUnlimited, 2);
|
| + UpdateUsageWithoutNotification(kNonCached, 4);
|
| + UpdateUsageWithoutNotification(kNonCachedUnlimited, 8);
|
| +
|
| + int64 limited_usage = 0;
|
| + int64 total_usage = 0;
|
| + int64 unlimited_usage = 0;
|
| +
|
| + GetGlobalLimitedUsage(&limited_usage);
|
| + GetGlobalUsage(&total_usage, &unlimited_usage);
|
| + EXPECT_EQ(1 + 4, limited_usage);
|
| + EXPECT_EQ(1 + 2 + 4 + 8, total_usage);
|
| + EXPECT_EQ(2 + 8, unlimited_usage);
|
| +
|
| + UpdateUsageWithoutNotification(kNonCached, 16 - 4);
|
| + UpdateUsageWithoutNotification(kNonCachedUnlimited, 32 - 8);
|
| +
|
| + GetGlobalLimitedUsage(&limited_usage);
|
| + GetGlobalUsage(&total_usage, &unlimited_usage);
|
| + EXPECT_EQ(1 + 16, limited_usage);
|
| + EXPECT_EQ(1 + 2 + 16 + 32, total_usage);
|
| + EXPECT_EQ(2 + 32, unlimited_usage);
|
| +}
|
| +
|
| +
|
| } // namespace quota
|
|
|