OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 | 5 |
6 #include <set> | 6 #include <set> |
7 | 7 |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
10 #include "base/files/scoped_temp_dir.h" | 10 #include "base/files/scoped_temp_dir.h" |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 false /* is_incognito */, | 46 false /* is_incognito */, |
47 data_dir_.path(), | 47 data_dir_.path(), |
48 base::MessageLoopProxy::current(), | 48 base::MessageLoopProxy::current(), |
49 base::MessageLoopProxy::current(), | 49 base::MessageLoopProxy::current(), |
50 policy_); | 50 policy_); |
51 } | 51 } |
52 | 52 |
53 void TearDown() { | 53 void TearDown() { |
54 // Make sure the quota manager cleans up correctly. | 54 // Make sure the quota manager cleans up correctly. |
55 manager_ = NULL; | 55 manager_ = NULL; |
56 MessageLoop::current()->RunAllPending(); | 56 MessageLoop::current()->RunUntilIdle(); |
57 } | 57 } |
58 | 58 |
59 void GetModifiedOrigins(StorageType type, base::Time since) { | 59 void GetModifiedOrigins(StorageType type, base::Time since) { |
60 manager_->GetOriginsModifiedSince( | 60 manager_->GetOriginsModifiedSince( |
61 type, since, | 61 type, since, |
62 base::Bind(&MockQuotaManagerTest::GotModifiedOrigins, | 62 base::Bind(&MockQuotaManagerTest::GotModifiedOrigins, |
63 weak_factory_.GetWeakPtr())); | 63 weak_factory_.GetWeakPtr())); |
64 } | 64 } |
65 | 65 |
66 void GotModifiedOrigins(const std::set<GURL>& origins, StorageType type) { | 66 void GotModifiedOrigins(const std::set<GURL>& origins, StorageType type) { |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 } | 155 } |
156 | 156 |
157 TEST_F(MockQuotaManagerTest, OriginDeletion) { | 157 TEST_F(MockQuotaManagerTest, OriginDeletion) { |
158 manager()->AddOrigin(kOrigin1, kTemporary, kClientFile, base::Time::Now()); | 158 manager()->AddOrigin(kOrigin1, kTemporary, kClientFile, base::Time::Now()); |
159 manager()->AddOrigin(kOrigin2, kTemporary, kClientFile | kClientDB, | 159 manager()->AddOrigin(kOrigin2, kTemporary, kClientFile | kClientDB, |
160 base::Time::Now()); | 160 base::Time::Now()); |
161 manager()->AddOrigin(kOrigin3, kTemporary, kClientFile | kClientDB, | 161 manager()->AddOrigin(kOrigin3, kTemporary, kClientFile | kClientDB, |
162 base::Time::Now()); | 162 base::Time::Now()); |
163 | 163 |
164 DeleteOriginData(kOrigin2, kTemporary, kClientFile); | 164 DeleteOriginData(kOrigin2, kTemporary, kClientFile); |
165 MessageLoop::current()->RunAllPending(); | 165 MessageLoop::current()->RunUntilIdle(); |
166 | 166 |
167 EXPECT_EQ(1, deletion_callback_count()); | 167 EXPECT_EQ(1, deletion_callback_count()); |
168 EXPECT_TRUE(manager()->OriginHasData(kOrigin1, kTemporary, kClientFile)); | 168 EXPECT_TRUE(manager()->OriginHasData(kOrigin1, kTemporary, kClientFile)); |
169 EXPECT_FALSE(manager()->OriginHasData(kOrigin2, kTemporary, kClientFile)); | 169 EXPECT_FALSE(manager()->OriginHasData(kOrigin2, kTemporary, kClientFile)); |
170 EXPECT_TRUE(manager()->OriginHasData(kOrigin2, kTemporary, kClientDB)); | 170 EXPECT_TRUE(manager()->OriginHasData(kOrigin2, kTemporary, kClientDB)); |
171 EXPECT_TRUE(manager()->OriginHasData(kOrigin3, kTemporary, kClientFile)); | 171 EXPECT_TRUE(manager()->OriginHasData(kOrigin3, kTemporary, kClientFile)); |
172 EXPECT_TRUE(manager()->OriginHasData(kOrigin3, kTemporary, kClientDB)); | 172 EXPECT_TRUE(manager()->OriginHasData(kOrigin3, kTemporary, kClientDB)); |
173 | 173 |
174 DeleteOriginData(kOrigin3, kTemporary, kClientFile | kClientDB); | 174 DeleteOriginData(kOrigin3, kTemporary, kClientFile | kClientDB); |
175 MessageLoop::current()->RunAllPending(); | 175 MessageLoop::current()->RunUntilIdle(); |
176 | 176 |
177 EXPECT_EQ(2, deletion_callback_count()); | 177 EXPECT_EQ(2, deletion_callback_count()); |
178 EXPECT_TRUE(manager()->OriginHasData(kOrigin1, kTemporary, kClientFile)); | 178 EXPECT_TRUE(manager()->OriginHasData(kOrigin1, kTemporary, kClientFile)); |
179 EXPECT_FALSE(manager()->OriginHasData(kOrigin2, kTemporary, kClientFile)); | 179 EXPECT_FALSE(manager()->OriginHasData(kOrigin2, kTemporary, kClientFile)); |
180 EXPECT_TRUE(manager()->OriginHasData(kOrigin2, kTemporary, kClientDB)); | 180 EXPECT_TRUE(manager()->OriginHasData(kOrigin2, kTemporary, kClientDB)); |
181 EXPECT_FALSE(manager()->OriginHasData(kOrigin3, kTemporary, kClientFile)); | 181 EXPECT_FALSE(manager()->OriginHasData(kOrigin3, kTemporary, kClientFile)); |
182 EXPECT_FALSE(manager()->OriginHasData(kOrigin3, kTemporary, kClientDB)); | 182 EXPECT_FALSE(manager()->OriginHasData(kOrigin3, kTemporary, kClientDB)); |
183 } | 183 } |
184 | 184 |
185 TEST_F(MockQuotaManagerTest, ModifiedOrigins) { | 185 TEST_F(MockQuotaManagerTest, ModifiedOrigins) { |
186 base::Time now = base::Time::Now(); | 186 base::Time now = base::Time::Now(); |
187 base::Time then = base::Time(); | 187 base::Time then = base::Time(); |
188 base::TimeDelta an_hour = base::TimeDelta::FromMilliseconds(3600000); | 188 base::TimeDelta an_hour = base::TimeDelta::FromMilliseconds(3600000); |
189 base::TimeDelta a_minute = base::TimeDelta::FromMilliseconds(60000); | 189 base::TimeDelta a_minute = base::TimeDelta::FromMilliseconds(60000); |
190 | 190 |
191 GetModifiedOrigins(kTemporary, then); | 191 GetModifiedOrigins(kTemporary, then); |
192 MessageLoop::current()->RunAllPending(); | 192 MessageLoop::current()->RunUntilIdle(); |
193 EXPECT_TRUE(origins().empty()); | 193 EXPECT_TRUE(origins().empty()); |
194 | 194 |
195 manager()->AddOrigin(kOrigin1, kTemporary, kClientFile, now - an_hour); | 195 manager()->AddOrigin(kOrigin1, kTemporary, kClientFile, now - an_hour); |
196 | 196 |
197 GetModifiedOrigins(kTemporary, then); | 197 GetModifiedOrigins(kTemporary, then); |
198 MessageLoop::current()->RunAllPending(); | 198 MessageLoop::current()->RunUntilIdle(); |
199 | 199 |
200 EXPECT_EQ(kTemporary, type()); | 200 EXPECT_EQ(kTemporary, type()); |
201 EXPECT_EQ(1UL, origins().size()); | 201 EXPECT_EQ(1UL, origins().size()); |
202 EXPECT_EQ(1UL, origins().count(kOrigin1)); | 202 EXPECT_EQ(1UL, origins().count(kOrigin1)); |
203 EXPECT_EQ(0UL, origins().count(kOrigin2)); | 203 EXPECT_EQ(0UL, origins().count(kOrigin2)); |
204 | 204 |
205 manager()->AddOrigin(kOrigin2, kTemporary, kClientFile, now); | 205 manager()->AddOrigin(kOrigin2, kTemporary, kClientFile, now); |
206 | 206 |
207 GetModifiedOrigins(kTemporary, then); | 207 GetModifiedOrigins(kTemporary, then); |
208 MessageLoop::current()->RunAllPending(); | 208 MessageLoop::current()->RunUntilIdle(); |
209 | 209 |
210 EXPECT_EQ(kTemporary, type()); | 210 EXPECT_EQ(kTemporary, type()); |
211 EXPECT_EQ(2UL, origins().size()); | 211 EXPECT_EQ(2UL, origins().size()); |
212 EXPECT_EQ(1UL, origins().count(kOrigin1)); | 212 EXPECT_EQ(1UL, origins().count(kOrigin1)); |
213 EXPECT_EQ(1UL, origins().count(kOrigin2)); | 213 EXPECT_EQ(1UL, origins().count(kOrigin2)); |
214 | 214 |
215 GetModifiedOrigins(kTemporary, now - a_minute); | 215 GetModifiedOrigins(kTemporary, now - a_minute); |
216 MessageLoop::current()->RunAllPending(); | 216 MessageLoop::current()->RunUntilIdle(); |
217 | 217 |
218 EXPECT_EQ(kTemporary, type()); | 218 EXPECT_EQ(kTemporary, type()); |
219 EXPECT_EQ(1UL, origins().size()); | 219 EXPECT_EQ(1UL, origins().size()); |
220 EXPECT_EQ(0UL, origins().count(kOrigin1)); | 220 EXPECT_EQ(0UL, origins().count(kOrigin1)); |
221 EXPECT_EQ(1UL, origins().count(kOrigin2)); | 221 EXPECT_EQ(1UL, origins().count(kOrigin2)); |
222 } | 222 } |
223 } // Namespace quota | 223 } // Namespace quota |
OLD | NEW |