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