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 #include <map> | 5 #include <map> |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/files/file_path.h" | 8 #include "base/files/file_path.h" |
9 #include "base/message_loop.h" | 9 #include "base/message_loop.h" |
10 #include "base/message_loop/message_loop_proxy.h" | 10 #include "base/message_loop/message_loop_proxy.h" |
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
203 base::MessageLoop message_loop_; | 203 base::MessageLoop message_loop_; |
204 int64 usage_; | 204 int64 usage_; |
205 std::set<GURL> origins_; | 205 std::set<GURL> origins_; |
206 quota::QuotaStatusCode delete_status_; | 206 quota::QuotaStatusCode delete_status_; |
207 scoped_refptr<MockDatabaseTracker> mock_tracker_; | 207 scoped_refptr<MockDatabaseTracker> mock_tracker_; |
208 base::WeakPtrFactory<DatabaseQuotaClientTest> weak_factory_; | 208 base::WeakPtrFactory<DatabaseQuotaClientTest> weak_factory_; |
209 }; | 209 }; |
210 | 210 |
211 | 211 |
212 TEST_F(DatabaseQuotaClientTest, GetOriginUsage) { | 212 TEST_F(DatabaseQuotaClientTest, GetOriginUsage) { |
213 DatabaseQuotaClient client( | 213 DatabaseQuotaClient client(base::MessageLoopProxy::current().get(), |
214 base::MessageLoopProxy::current(), | 214 mock_tracker()); |
215 mock_tracker()); | |
216 | 215 |
217 EXPECT_EQ(0, GetOriginUsage(&client, kOriginA, kTemp)); | 216 EXPECT_EQ(0, GetOriginUsage(&client, kOriginA, kTemp)); |
218 EXPECT_EQ(0, GetOriginUsage(&client, kOriginA, kPerm)); | 217 EXPECT_EQ(0, GetOriginUsage(&client, kOriginA, kPerm)); |
219 | 218 |
220 mock_tracker()->AddMockDatabase(kOriginA, "fooDB", 1000); | 219 mock_tracker()->AddMockDatabase(kOriginA, "fooDB", 1000); |
221 EXPECT_EQ(1000, GetOriginUsage(&client, kOriginA, kTemp)); | 220 EXPECT_EQ(1000, GetOriginUsage(&client, kOriginA, kTemp)); |
222 EXPECT_EQ(0, GetOriginUsage(&client, kOriginA, kPerm)); | 221 EXPECT_EQ(0, GetOriginUsage(&client, kOriginA, kPerm)); |
223 | 222 |
224 EXPECT_EQ(0, GetOriginUsage(&client, kOriginB, kPerm)); | 223 EXPECT_EQ(0, GetOriginUsage(&client, kOriginB, kPerm)); |
225 EXPECT_EQ(0, GetOriginUsage(&client, kOriginB, kTemp)); | 224 EXPECT_EQ(0, GetOriginUsage(&client, kOriginB, kTemp)); |
226 } | 225 } |
227 | 226 |
228 TEST_F(DatabaseQuotaClientTest, GetOriginsForHost) { | 227 TEST_F(DatabaseQuotaClientTest, GetOriginsForHost) { |
229 DatabaseQuotaClient client( | 228 DatabaseQuotaClient client(base::MessageLoopProxy::current().get(), |
230 base::MessageLoopProxy::current(), | 229 mock_tracker()); |
231 mock_tracker()); | |
232 | 230 |
233 EXPECT_EQ(kOriginA.host(), kOriginB.host()); | 231 EXPECT_EQ(kOriginA.host(), kOriginB.host()); |
234 EXPECT_NE(kOriginA.host(), kOriginOther.host()); | 232 EXPECT_NE(kOriginA.host(), kOriginOther.host()); |
235 | 233 |
236 std::set<GURL> origins = GetOriginsForHost(&client, kTemp, kOriginA.host()); | 234 std::set<GURL> origins = GetOriginsForHost(&client, kTemp, kOriginA.host()); |
237 EXPECT_TRUE(origins.empty()); | 235 EXPECT_TRUE(origins.empty()); |
238 | 236 |
239 mock_tracker()->AddMockDatabase(kOriginA, "fooDB", 1000); | 237 mock_tracker()->AddMockDatabase(kOriginA, "fooDB", 1000); |
240 origins = GetOriginsForHost(&client, kTemp, kOriginA.host()); | 238 origins = GetOriginsForHost(&client, kTemp, kOriginA.host()); |
241 EXPECT_EQ(origins.size(), 1ul); | 239 EXPECT_EQ(origins.size(), 1ul); |
242 EXPECT_TRUE(origins.find(kOriginA) != origins.end()); | 240 EXPECT_TRUE(origins.find(kOriginA) != origins.end()); |
243 | 241 |
244 mock_tracker()->AddMockDatabase(kOriginB, "barDB", 1000); | 242 mock_tracker()->AddMockDatabase(kOriginB, "barDB", 1000); |
245 origins = GetOriginsForHost(&client, kTemp, kOriginA.host()); | 243 origins = GetOriginsForHost(&client, kTemp, kOriginA.host()); |
246 EXPECT_EQ(origins.size(), 2ul); | 244 EXPECT_EQ(origins.size(), 2ul); |
247 EXPECT_TRUE(origins.find(kOriginA) != origins.end()); | 245 EXPECT_TRUE(origins.find(kOriginA) != origins.end()); |
248 EXPECT_TRUE(origins.find(kOriginB) != origins.end()); | 246 EXPECT_TRUE(origins.find(kOriginB) != origins.end()); |
249 | 247 |
250 EXPECT_TRUE(GetOriginsForHost(&client, kPerm, kOriginA.host()).empty()); | 248 EXPECT_TRUE(GetOriginsForHost(&client, kPerm, kOriginA.host()).empty()); |
251 EXPECT_TRUE(GetOriginsForHost(&client, kTemp, kOriginOther.host()).empty()); | 249 EXPECT_TRUE(GetOriginsForHost(&client, kTemp, kOriginOther.host()).empty()); |
252 } | 250 } |
253 | 251 |
254 TEST_F(DatabaseQuotaClientTest, GetOriginsForType) { | 252 TEST_F(DatabaseQuotaClientTest, GetOriginsForType) { |
255 DatabaseQuotaClient client( | 253 DatabaseQuotaClient client(base::MessageLoopProxy::current().get(), |
256 base::MessageLoopProxy::current(), | 254 mock_tracker()); |
257 mock_tracker()); | |
258 | 255 |
259 EXPECT_TRUE(GetOriginsForType(&client, kTemp).empty()); | 256 EXPECT_TRUE(GetOriginsForType(&client, kTemp).empty()); |
260 EXPECT_TRUE(GetOriginsForType(&client, kPerm).empty()); | 257 EXPECT_TRUE(GetOriginsForType(&client, kPerm).empty()); |
261 | 258 |
262 mock_tracker()->AddMockDatabase(kOriginA, "fooDB", 1000); | 259 mock_tracker()->AddMockDatabase(kOriginA, "fooDB", 1000); |
263 std::set<GURL> origins = GetOriginsForType(&client, kTemp); | 260 std::set<GURL> origins = GetOriginsForType(&client, kTemp); |
264 EXPECT_EQ(origins.size(), 1ul); | 261 EXPECT_EQ(origins.size(), 1ul); |
265 EXPECT_TRUE(origins.find(kOriginA) != origins.end()); | 262 EXPECT_TRUE(origins.find(kOriginA) != origins.end()); |
266 | 263 |
267 EXPECT_TRUE(GetOriginsForType(&client, kPerm).empty()); | 264 EXPECT_TRUE(GetOriginsForType(&client, kPerm).empty()); |
268 } | 265 } |
269 | 266 |
270 TEST_F(DatabaseQuotaClientTest, DeleteOriginData) { | 267 TEST_F(DatabaseQuotaClientTest, DeleteOriginData) { |
271 DatabaseQuotaClient client( | 268 DatabaseQuotaClient client(base::MessageLoopProxy::current().get(), |
272 base::MessageLoopProxy::current(), | 269 mock_tracker()); |
273 mock_tracker()); | |
274 | 270 |
275 // Perm deletions are short circuited in the Client and | 271 // Perm deletions are short circuited in the Client and |
276 // should not reach the DatabaseTracker. | 272 // should not reach the DatabaseTracker. |
277 EXPECT_TRUE(DeleteOriginData(&client, kPerm, kOriginA)); | 273 EXPECT_TRUE(DeleteOriginData(&client, kPerm, kOriginA)); |
278 EXPECT_EQ(0, mock_tracker()->delete_called_count()); | 274 EXPECT_EQ(0, mock_tracker()->delete_called_count()); |
279 | 275 |
280 mock_tracker()->set_async_delete(false); | 276 mock_tracker()->set_async_delete(false); |
281 EXPECT_TRUE(DeleteOriginData(&client, kTemp, kOriginA)); | 277 EXPECT_TRUE(DeleteOriginData(&client, kTemp, kOriginA)); |
282 EXPECT_EQ(1, mock_tracker()->delete_called_count()); | 278 EXPECT_EQ(1, mock_tracker()->delete_called_count()); |
283 | 279 |
284 mock_tracker()->set_async_delete(true); | 280 mock_tracker()->set_async_delete(true); |
285 EXPECT_TRUE(DeleteOriginData(&client, kTemp, kOriginA)); | 281 EXPECT_TRUE(DeleteOriginData(&client, kTemp, kOriginA)); |
286 EXPECT_EQ(2, mock_tracker()->delete_called_count()); | 282 EXPECT_EQ(2, mock_tracker()->delete_called_count()); |
287 } | 283 } |
288 | 284 |
289 } // namespace webkit_database | 285 } // namespace webkit_database |
OLD | NEW |