OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "base/basictypes.h" | 5 #include "base/basictypes.h" |
6 #include "base/bind.h" | 6 #include "base/bind.h" |
7 #include "base/files/file_util.h" | 7 #include "base/files/file_util.h" |
8 #include "base/files/scoped_temp_dir.h" | 8 #include "base/files/scoped_temp_dir.h" |
9 #include "base/message_loop/message_loop_proxy.h" | 9 #include "base/message_loop/message_loop_proxy.h" |
10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
243 scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false)); | 243 scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false)); |
244 | 244 |
245 EXPECT_EQ(0, GetOriginUsage(quota_client.get(), kDummyURL1, kTemporary)); | 245 EXPECT_EQ(0, GetOriginUsage(quota_client.get(), kDummyURL1, kTemporary)); |
246 } | 246 } |
247 | 247 |
248 TEST_F(FileSystemQuotaClientTest, NoFileTest) { | 248 TEST_F(FileSystemQuotaClientTest, NoFileTest) { |
249 scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false)); | 249 scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false)); |
250 const TestFile kFiles[] = { | 250 const TestFile kFiles[] = { |
251 {true, NULL, 0, kDummyURL1, kTemporary}, | 251 {true, NULL, 0, kDummyURL1, kTemporary}, |
252 }; | 252 }; |
253 InitializeOriginFiles(quota_client.get(), kFiles, ARRAYSIZE_UNSAFE(kFiles)); | 253 InitializeOriginFiles(quota_client.get(), kFiles, arraysize(kFiles)); |
254 | 254 |
255 for (int i = 0; i < 2; i++) { | 255 for (int i = 0; i < 2; i++) { |
256 EXPECT_EQ(0, GetOriginUsage(quota_client.get(), kDummyURL1, kTemporary)); | 256 EXPECT_EQ(0, GetOriginUsage(quota_client.get(), kDummyURL1, kTemporary)); |
257 } | 257 } |
258 } | 258 } |
259 | 259 |
260 TEST_F(FileSystemQuotaClientTest, OneFileTest) { | 260 TEST_F(FileSystemQuotaClientTest, OneFileTest) { |
261 scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false)); | 261 scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false)); |
262 const TestFile kFiles[] = { | 262 const TestFile kFiles[] = { |
263 {true, NULL, 0, kDummyURL1, kTemporary}, | 263 {true, NULL, 0, kDummyURL1, kTemporary}, |
264 {false, "foo", 4921, kDummyURL1, kTemporary}, | 264 {false, "foo", 4921, kDummyURL1, kTemporary}, |
265 }; | 265 }; |
266 InitializeOriginFiles(quota_client.get(), kFiles, ARRAYSIZE_UNSAFE(kFiles)); | 266 InitializeOriginFiles(quota_client.get(), kFiles, arraysize(kFiles)); |
267 const int64 file_paths_cost = ComputeFilePathsCostForOriginAndType( | 267 const int64 file_paths_cost = ComputeFilePathsCostForOriginAndType( |
268 kFiles, ARRAYSIZE_UNSAFE(kFiles), kDummyURL1, kTemporary); | 268 kFiles, arraysize(kFiles), kDummyURL1, kTemporary); |
269 | 269 |
270 for (int i = 0; i < 2; i++) { | 270 for (int i = 0; i < 2; i++) { |
271 EXPECT_EQ(4921 + file_paths_cost, | 271 EXPECT_EQ(4921 + file_paths_cost, |
272 GetOriginUsage(quota_client.get(), kDummyURL1, kTemporary)); | 272 GetOriginUsage(quota_client.get(), kDummyURL1, kTemporary)); |
273 } | 273 } |
274 } | 274 } |
275 | 275 |
276 TEST_F(FileSystemQuotaClientTest, TwoFilesTest) { | 276 TEST_F(FileSystemQuotaClientTest, TwoFilesTest) { |
277 scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false)); | 277 scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false)); |
278 const TestFile kFiles[] = { | 278 const TestFile kFiles[] = { |
279 {true, NULL, 0, kDummyURL1, kTemporary}, | 279 {true, NULL, 0, kDummyURL1, kTemporary}, |
280 {false, "foo", 10310, kDummyURL1, kTemporary}, | 280 {false, "foo", 10310, kDummyURL1, kTemporary}, |
281 {false, "bar", 41, kDummyURL1, kTemporary}, | 281 {false, "bar", 41, kDummyURL1, kTemporary}, |
282 }; | 282 }; |
283 InitializeOriginFiles(quota_client.get(), kFiles, ARRAYSIZE_UNSAFE(kFiles)); | 283 InitializeOriginFiles(quota_client.get(), kFiles, arraysize(kFiles)); |
284 const int64 file_paths_cost = ComputeFilePathsCostForOriginAndType( | 284 const int64 file_paths_cost = ComputeFilePathsCostForOriginAndType( |
285 kFiles, ARRAYSIZE_UNSAFE(kFiles), kDummyURL1, kTemporary); | 285 kFiles, arraysize(kFiles), kDummyURL1, kTemporary); |
286 | 286 |
287 for (int i = 0; i < 2; i++) { | 287 for (int i = 0; i < 2; i++) { |
288 EXPECT_EQ(10310 + 41 + file_paths_cost, | 288 EXPECT_EQ(10310 + 41 + file_paths_cost, |
289 GetOriginUsage(quota_client.get(), kDummyURL1, kTemporary)); | 289 GetOriginUsage(quota_client.get(), kDummyURL1, kTemporary)); |
290 } | 290 } |
291 } | 291 } |
292 | 292 |
293 TEST_F(FileSystemQuotaClientTest, EmptyFilesTest) { | 293 TEST_F(FileSystemQuotaClientTest, EmptyFilesTest) { |
294 scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false)); | 294 scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false)); |
295 const TestFile kFiles[] = { | 295 const TestFile kFiles[] = { |
296 {true, NULL, 0, kDummyURL1, kTemporary}, | 296 {true, NULL, 0, kDummyURL1, kTemporary}, |
297 {false, "foo", 0, kDummyURL1, kTemporary}, | 297 {false, "foo", 0, kDummyURL1, kTemporary}, |
298 {false, "bar", 0, kDummyURL1, kTemporary}, | 298 {false, "bar", 0, kDummyURL1, kTemporary}, |
299 {false, "baz", 0, kDummyURL1, kTemporary}, | 299 {false, "baz", 0, kDummyURL1, kTemporary}, |
300 }; | 300 }; |
301 InitializeOriginFiles(quota_client.get(), kFiles, ARRAYSIZE_UNSAFE(kFiles)); | 301 InitializeOriginFiles(quota_client.get(), kFiles, arraysize(kFiles)); |
302 const int64 file_paths_cost = ComputeFilePathsCostForOriginAndType( | 302 const int64 file_paths_cost = ComputeFilePathsCostForOriginAndType( |
303 kFiles, ARRAYSIZE_UNSAFE(kFiles), kDummyURL1, kTemporary); | 303 kFiles, arraysize(kFiles), kDummyURL1, kTemporary); |
304 | 304 |
305 for (int i = 0; i < 2; i++) { | 305 for (int i = 0; i < 2; i++) { |
306 EXPECT_EQ(file_paths_cost, | 306 EXPECT_EQ(file_paths_cost, |
307 GetOriginUsage(quota_client.get(), kDummyURL1, kTemporary)); | 307 GetOriginUsage(quota_client.get(), kDummyURL1, kTemporary)); |
308 } | 308 } |
309 } | 309 } |
310 | 310 |
311 TEST_F(FileSystemQuotaClientTest, SubDirectoryTest) { | 311 TEST_F(FileSystemQuotaClientTest, SubDirectoryTest) { |
312 scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false)); | 312 scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false)); |
313 const TestFile kFiles[] = { | 313 const TestFile kFiles[] = { |
314 {true, NULL, 0, kDummyURL1, kTemporary}, | 314 {true, NULL, 0, kDummyURL1, kTemporary}, |
315 {true, "dirtest", 0, kDummyURL1, kTemporary}, | 315 {true, "dirtest", 0, kDummyURL1, kTemporary}, |
316 {false, "dirtest/foo", 11921, kDummyURL1, kTemporary}, | 316 {false, "dirtest/foo", 11921, kDummyURL1, kTemporary}, |
317 {false, "bar", 4814, kDummyURL1, kTemporary}, | 317 {false, "bar", 4814, kDummyURL1, kTemporary}, |
318 }; | 318 }; |
319 InitializeOriginFiles(quota_client.get(), kFiles, ARRAYSIZE_UNSAFE(kFiles)); | 319 InitializeOriginFiles(quota_client.get(), kFiles, arraysize(kFiles)); |
320 const int64 file_paths_cost = ComputeFilePathsCostForOriginAndType( | 320 const int64 file_paths_cost = ComputeFilePathsCostForOriginAndType( |
321 kFiles, ARRAYSIZE_UNSAFE(kFiles), kDummyURL1, kTemporary); | 321 kFiles, arraysize(kFiles), kDummyURL1, kTemporary); |
322 | 322 |
323 for (int i = 0; i < 2; i++) { | 323 for (int i = 0; i < 2; i++) { |
324 EXPECT_EQ(11921 + 4814 + file_paths_cost, | 324 EXPECT_EQ(11921 + 4814 + file_paths_cost, |
325 GetOriginUsage(quota_client.get(), kDummyURL1, kTemporary)); | 325 GetOriginUsage(quota_client.get(), kDummyURL1, kTemporary)); |
326 } | 326 } |
327 } | 327 } |
328 | 328 |
329 TEST_F(FileSystemQuotaClientTest, MultiTypeTest) { | 329 TEST_F(FileSystemQuotaClientTest, MultiTypeTest) { |
330 scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false)); | 330 scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false)); |
331 const TestFile kFiles[] = { | 331 const TestFile kFiles[] = { |
332 {true, NULL, 0, kDummyURL1, kTemporary}, | 332 {true, NULL, 0, kDummyURL1, kTemporary}, |
333 {true, "dirtest", 0, kDummyURL1, kTemporary}, | 333 {true, "dirtest", 0, kDummyURL1, kTemporary}, |
334 {false, "dirtest/foo", 133, kDummyURL1, kTemporary}, | 334 {false, "dirtest/foo", 133, kDummyURL1, kTemporary}, |
335 {false, "bar", 14, kDummyURL1, kTemporary}, | 335 {false, "bar", 14, kDummyURL1, kTemporary}, |
336 {true, NULL, 0, kDummyURL1, kPersistent}, | 336 {true, NULL, 0, kDummyURL1, kPersistent}, |
337 {true, "dirtest", 0, kDummyURL1, kPersistent}, | 337 {true, "dirtest", 0, kDummyURL1, kPersistent}, |
338 {false, "dirtest/foo", 193, kDummyURL1, kPersistent}, | 338 {false, "dirtest/foo", 193, kDummyURL1, kPersistent}, |
339 {false, "bar", 9, kDummyURL1, kPersistent}, | 339 {false, "bar", 9, kDummyURL1, kPersistent}, |
340 }; | 340 }; |
341 InitializeOriginFiles(quota_client.get(), kFiles, ARRAYSIZE_UNSAFE(kFiles)); | 341 InitializeOriginFiles(quota_client.get(), kFiles, arraysize(kFiles)); |
342 const int64 file_paths_cost_temporary = ComputeFilePathsCostForOriginAndType( | 342 const int64 file_paths_cost_temporary = ComputeFilePathsCostForOriginAndType( |
343 kFiles, ARRAYSIZE_UNSAFE(kFiles), kDummyURL1, kTemporary); | 343 kFiles, arraysize(kFiles), kDummyURL1, kTemporary); |
344 const int64 file_paths_cost_persistent = ComputeFilePathsCostForOriginAndType( | 344 const int64 file_paths_cost_persistent = ComputeFilePathsCostForOriginAndType( |
345 kFiles, ARRAYSIZE_UNSAFE(kFiles), kDummyURL1, kTemporary); | 345 kFiles, arraysize(kFiles), kDummyURL1, kTemporary); |
346 | 346 |
347 for (int i = 0; i < 2; i++) { | 347 for (int i = 0; i < 2; i++) { |
348 EXPECT_EQ(133 + 14 + file_paths_cost_temporary, | 348 EXPECT_EQ(133 + 14 + file_paths_cost_temporary, |
349 GetOriginUsage(quota_client.get(), kDummyURL1, kTemporary)); | 349 GetOriginUsage(quota_client.get(), kDummyURL1, kTemporary)); |
350 EXPECT_EQ(193 + 9 + file_paths_cost_persistent, | 350 EXPECT_EQ(193 + 9 + file_paths_cost_persistent, |
351 GetOriginUsage(quota_client.get(), kDummyURL1, kPersistent)); | 351 GetOriginUsage(quota_client.get(), kDummyURL1, kPersistent)); |
352 } | 352 } |
353 } | 353 } |
354 | 354 |
355 TEST_F(FileSystemQuotaClientTest, MultiDomainTest) { | 355 TEST_F(FileSystemQuotaClientTest, MultiDomainTest) { |
356 scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false)); | 356 scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false)); |
357 const TestFile kFiles[] = { | 357 const TestFile kFiles[] = { |
358 {true, NULL, 0, kDummyURL1, kTemporary}, | 358 {true, NULL, 0, kDummyURL1, kTemporary}, |
359 {true, "dir1", 0, kDummyURL1, kTemporary}, | 359 {true, "dir1", 0, kDummyURL1, kTemporary}, |
360 {false, "dir1/foo", 1331, kDummyURL1, kTemporary}, | 360 {false, "dir1/foo", 1331, kDummyURL1, kTemporary}, |
361 {false, "bar", 134, kDummyURL1, kTemporary}, | 361 {false, "bar", 134, kDummyURL1, kTemporary}, |
362 {true, NULL, 0, kDummyURL1, kPersistent}, | 362 {true, NULL, 0, kDummyURL1, kPersistent}, |
363 {true, "dir2", 0, kDummyURL1, kPersistent}, | 363 {true, "dir2", 0, kDummyURL1, kPersistent}, |
364 {false, "dir2/foo", 1903, kDummyURL1, kPersistent}, | 364 {false, "dir2/foo", 1903, kDummyURL1, kPersistent}, |
365 {false, "bar", 19, kDummyURL1, kPersistent}, | 365 {false, "bar", 19, kDummyURL1, kPersistent}, |
366 {true, NULL, 0, kDummyURL2, kTemporary}, | 366 {true, NULL, 0, kDummyURL2, kTemporary}, |
367 {true, "dom", 0, kDummyURL2, kTemporary}, | 367 {true, "dom", 0, kDummyURL2, kTemporary}, |
368 {false, "dom/fan", 1319, kDummyURL2, kTemporary}, | 368 {false, "dom/fan", 1319, kDummyURL2, kTemporary}, |
369 {false, "bar", 113, kDummyURL2, kTemporary}, | 369 {false, "bar", 113, kDummyURL2, kTemporary}, |
370 {true, NULL, 0, kDummyURL2, kPersistent}, | 370 {true, NULL, 0, kDummyURL2, kPersistent}, |
371 {true, "dom", 0, kDummyURL2, kPersistent}, | 371 {true, "dom", 0, kDummyURL2, kPersistent}, |
372 {false, "dom/fan", 2013, kDummyURL2, kPersistent}, | 372 {false, "dom/fan", 2013, kDummyURL2, kPersistent}, |
373 {false, "baz", 18, kDummyURL2, kPersistent}, | 373 {false, "baz", 18, kDummyURL2, kPersistent}, |
374 }; | 374 }; |
375 InitializeOriginFiles(quota_client.get(), kFiles, ARRAYSIZE_UNSAFE(kFiles)); | 375 InitializeOriginFiles(quota_client.get(), kFiles, arraysize(kFiles)); |
376 const int64 file_paths_cost_temporary1 = ComputeFilePathsCostForOriginAndType( | 376 const int64 file_paths_cost_temporary1 = ComputeFilePathsCostForOriginAndType( |
377 kFiles, ARRAYSIZE_UNSAFE(kFiles), kDummyURL1, kTemporary); | 377 kFiles, arraysize(kFiles), kDummyURL1, kTemporary); |
378 const int64 file_paths_cost_persistent1 = | 378 const int64 file_paths_cost_persistent1 = |
379 ComputeFilePathsCostForOriginAndType(kFiles, ARRAYSIZE_UNSAFE(kFiles), | 379 ComputeFilePathsCostForOriginAndType(kFiles, arraysize(kFiles), |
380 kDummyURL1, kPersistent); | 380 kDummyURL1, kPersistent); |
381 const int64 file_paths_cost_temporary2 = ComputeFilePathsCostForOriginAndType( | 381 const int64 file_paths_cost_temporary2 = ComputeFilePathsCostForOriginAndType( |
382 kFiles, ARRAYSIZE_UNSAFE(kFiles), kDummyURL2, kTemporary); | 382 kFiles, arraysize(kFiles), kDummyURL2, kTemporary); |
383 const int64 file_paths_cost_persistent2 = | 383 const int64 file_paths_cost_persistent2 = |
384 ComputeFilePathsCostForOriginAndType(kFiles, ARRAYSIZE_UNSAFE(kFiles), | 384 ComputeFilePathsCostForOriginAndType(kFiles, arraysize(kFiles), |
385 kDummyURL2, kPersistent); | 385 kDummyURL2, kPersistent); |
386 | 386 |
387 for (int i = 0; i < 2; i++) { | 387 for (int i = 0; i < 2; i++) { |
388 EXPECT_EQ(1331 + 134 + file_paths_cost_temporary1, | 388 EXPECT_EQ(1331 + 134 + file_paths_cost_temporary1, |
389 GetOriginUsage(quota_client.get(), kDummyURL1, kTemporary)); | 389 GetOriginUsage(quota_client.get(), kDummyURL1, kTemporary)); |
390 EXPECT_EQ(1903 + 19 + file_paths_cost_persistent1, | 390 EXPECT_EQ(1903 + 19 + file_paths_cost_persistent1, |
391 GetOriginUsage(quota_client.get(), kDummyURL1, kPersistent)); | 391 GetOriginUsage(quota_client.get(), kDummyURL1, kPersistent)); |
392 EXPECT_EQ(1319 + 113 + file_paths_cost_temporary2, | 392 EXPECT_EQ(1319 + 113 + file_paths_cost_temporary2, |
393 GetOriginUsage(quota_client.get(), kDummyURL2, kTemporary)); | 393 GetOriginUsage(quota_client.get(), kDummyURL2, kTemporary)); |
394 EXPECT_EQ(2013 + 18 + file_paths_cost_persistent2, | 394 EXPECT_EQ(2013 + 18 + file_paths_cost_persistent2, |
395 GetOriginUsage(quota_client.get(), kDummyURL2, kPersistent)); | 395 GetOriginUsage(quota_client.get(), kDummyURL2, kPersistent)); |
396 } | 396 } |
397 } | 397 } |
398 | 398 |
399 TEST_F(FileSystemQuotaClientTest, GetUsage_MultipleTasks) { | 399 TEST_F(FileSystemQuotaClientTest, GetUsage_MultipleTasks) { |
400 scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false)); | 400 scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false)); |
401 const TestFile kFiles[] = { | 401 const TestFile kFiles[] = { |
402 {true, NULL, 0, kDummyURL1, kTemporary}, | 402 {true, NULL, 0, kDummyURL1, kTemporary}, |
403 {false, "foo", 11, kDummyURL1, kTemporary}, | 403 {false, "foo", 11, kDummyURL1, kTemporary}, |
404 {false, "bar", 22, kDummyURL1, kTemporary}, | 404 {false, "bar", 22, kDummyURL1, kTemporary}, |
405 }; | 405 }; |
406 InitializeOriginFiles(quota_client.get(), kFiles, ARRAYSIZE_UNSAFE(kFiles)); | 406 InitializeOriginFiles(quota_client.get(), kFiles, arraysize(kFiles)); |
407 const int64 file_paths_cost = ComputeFilePathsCostForOriginAndType( | 407 const int64 file_paths_cost = ComputeFilePathsCostForOriginAndType( |
408 kFiles, ARRAYSIZE_UNSAFE(kFiles), kDummyURL1, kTemporary); | 408 kFiles, arraysize(kFiles), kDummyURL1, kTemporary); |
409 | 409 |
410 // Dispatching three GetUsage tasks. | 410 // Dispatching three GetUsage tasks. |
411 set_additional_callback_count(0); | 411 set_additional_callback_count(0); |
412 GetOriginUsageAsync(quota_client.get(), kDummyURL1, kTemporary); | 412 GetOriginUsageAsync(quota_client.get(), kDummyURL1, kTemporary); |
413 RunAdditionalOriginUsageTask(quota_client.get(), kDummyURL1, kTemporary); | 413 RunAdditionalOriginUsageTask(quota_client.get(), kDummyURL1, kTemporary); |
414 RunAdditionalOriginUsageTask(quota_client.get(), kDummyURL1, kTemporary); | 414 RunAdditionalOriginUsageTask(quota_client.get(), kDummyURL1, kTemporary); |
415 base::RunLoop().RunUntilIdle(); | 415 base::RunLoop().RunUntilIdle(); |
416 EXPECT_EQ(11 + 22 + file_paths_cost, usage()); | 416 EXPECT_EQ(11 + 22 + file_paths_cost, usage()); |
417 EXPECT_EQ(2, additional_callback_count()); | 417 EXPECT_EQ(2, additional_callback_count()); |
418 | 418 |
419 // Once more, in a different order. | 419 // Once more, in a different order. |
420 set_additional_callback_count(0); | 420 set_additional_callback_count(0); |
421 RunAdditionalOriginUsageTask(quota_client.get(), kDummyURL1, kTemporary); | 421 RunAdditionalOriginUsageTask(quota_client.get(), kDummyURL1, kTemporary); |
422 GetOriginUsageAsync(quota_client.get(), kDummyURL1, kTemporary); | 422 GetOriginUsageAsync(quota_client.get(), kDummyURL1, kTemporary); |
423 RunAdditionalOriginUsageTask(quota_client.get(), kDummyURL1, kTemporary); | 423 RunAdditionalOriginUsageTask(quota_client.get(), kDummyURL1, kTemporary); |
424 base::RunLoop().RunUntilIdle(); | 424 base::RunLoop().RunUntilIdle(); |
425 EXPECT_EQ(11 + 22 + file_paths_cost, usage()); | 425 EXPECT_EQ(11 + 22 + file_paths_cost, usage()); |
426 EXPECT_EQ(2, additional_callback_count()); | 426 EXPECT_EQ(2, additional_callback_count()); |
427 } | 427 } |
428 | 428 |
429 TEST_F(FileSystemQuotaClientTest, GetOriginsForType) { | 429 TEST_F(FileSystemQuotaClientTest, GetOriginsForType) { |
430 scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false)); | 430 scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false)); |
431 const TestFile kFiles[] = { | 431 const TestFile kFiles[] = { |
432 {true, NULL, 0, kDummyURL1, kTemporary}, | 432 {true, NULL, 0, kDummyURL1, kTemporary}, |
433 {true, NULL, 0, kDummyURL2, kTemporary}, | 433 {true, NULL, 0, kDummyURL2, kTemporary}, |
434 {true, NULL, 0, kDummyURL3, kPersistent}, | 434 {true, NULL, 0, kDummyURL3, kPersistent}, |
435 }; | 435 }; |
436 InitializeOriginFiles(quota_client.get(), kFiles, ARRAYSIZE_UNSAFE(kFiles)); | 436 InitializeOriginFiles(quota_client.get(), kFiles, arraysize(kFiles)); |
437 | 437 |
438 std::set<GURL> origins = GetOriginsForType(quota_client.get(), kTemporary); | 438 std::set<GURL> origins = GetOriginsForType(quota_client.get(), kTemporary); |
439 EXPECT_EQ(2U, origins.size()); | 439 EXPECT_EQ(2U, origins.size()); |
440 EXPECT_TRUE(origins.find(GURL(kDummyURL1)) != origins.end()); | 440 EXPECT_TRUE(origins.find(GURL(kDummyURL1)) != origins.end()); |
441 EXPECT_TRUE(origins.find(GURL(kDummyURL2)) != origins.end()); | 441 EXPECT_TRUE(origins.find(GURL(kDummyURL2)) != origins.end()); |
442 EXPECT_TRUE(origins.find(GURL(kDummyURL3)) == origins.end()); | 442 EXPECT_TRUE(origins.find(GURL(kDummyURL3)) == origins.end()); |
443 } | 443 } |
444 | 444 |
445 TEST_F(FileSystemQuotaClientTest, GetOriginsForHost) { | 445 TEST_F(FileSystemQuotaClientTest, GetOriginsForHost) { |
446 scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false)); | 446 scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(false)); |
447 const char* kURL1 = "http://foo.com/"; | 447 const char* kURL1 = "http://foo.com/"; |
448 const char* kURL2 = "https://foo.com/"; | 448 const char* kURL2 = "https://foo.com/"; |
449 const char* kURL3 = "http://foo.com:1/"; | 449 const char* kURL3 = "http://foo.com:1/"; |
450 const char* kURL4 = "http://foo2.com/"; | 450 const char* kURL4 = "http://foo2.com/"; |
451 const char* kURL5 = "http://foo.com:2/"; | 451 const char* kURL5 = "http://foo.com:2/"; |
452 const TestFile kFiles[] = { | 452 const TestFile kFiles[] = { |
453 {true, NULL, 0, kURL1, kTemporary}, | 453 {true, NULL, 0, kURL1, kTemporary}, |
454 {true, NULL, 0, kURL2, kTemporary}, | 454 {true, NULL, 0, kURL2, kTemporary}, |
455 {true, NULL, 0, kURL3, kTemporary}, | 455 {true, NULL, 0, kURL3, kTemporary}, |
456 {true, NULL, 0, kURL4, kTemporary}, | 456 {true, NULL, 0, kURL4, kTemporary}, |
457 {true, NULL, 0, kURL5, kPersistent}, | 457 {true, NULL, 0, kURL5, kPersistent}, |
458 }; | 458 }; |
459 InitializeOriginFiles(quota_client.get(), kFiles, ARRAYSIZE_UNSAFE(kFiles)); | 459 InitializeOriginFiles(quota_client.get(), kFiles, arraysize(kFiles)); |
460 | 460 |
461 std::set<GURL> origins = GetOriginsForHost( | 461 std::set<GURL> origins = GetOriginsForHost( |
462 quota_client.get(), kTemporary, "foo.com"); | 462 quota_client.get(), kTemporary, "foo.com"); |
463 EXPECT_EQ(3U, origins.size()); | 463 EXPECT_EQ(3U, origins.size()); |
464 EXPECT_TRUE(origins.find(GURL(kURL1)) != origins.end()); | 464 EXPECT_TRUE(origins.find(GURL(kURL1)) != origins.end()); |
465 EXPECT_TRUE(origins.find(GURL(kURL2)) != origins.end()); | 465 EXPECT_TRUE(origins.find(GURL(kURL2)) != origins.end()); |
466 EXPECT_TRUE(origins.find(GURL(kURL3)) != origins.end()); | 466 EXPECT_TRUE(origins.find(GURL(kURL3)) != origins.end()); |
467 EXPECT_TRUE(origins.find(GURL(kURL4)) == origins.end()); // Different host. | 467 EXPECT_TRUE(origins.find(GURL(kURL4)) == origins.end()); // Different host. |
468 EXPECT_TRUE(origins.find(GURL(kURL5)) == origins.end()); // Different type. | 468 EXPECT_TRUE(origins.find(GURL(kURL5)) == origins.end()); // Different type. |
469 } | 469 } |
470 | 470 |
471 TEST_F(FileSystemQuotaClientTest, IncognitoTest) { | 471 TEST_F(FileSystemQuotaClientTest, IncognitoTest) { |
472 scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(true)); | 472 scoped_ptr<FileSystemQuotaClient> quota_client(NewQuotaClient(true)); |
473 const TestFile kFiles[] = { | 473 const TestFile kFiles[] = { |
474 {true, NULL, 0, kDummyURL1, kTemporary}, | 474 {true, NULL, 0, kDummyURL1, kTemporary}, |
475 {false, "foo", 10, kDummyURL1, kTemporary}, | 475 {false, "foo", 10, kDummyURL1, kTemporary}, |
476 }; | 476 }; |
477 InitializeOriginFiles(quota_client.get(), kFiles, ARRAYSIZE_UNSAFE(kFiles)); | 477 InitializeOriginFiles(quota_client.get(), kFiles, arraysize(kFiles)); |
478 | 478 |
479 // Having files in the usual directory wouldn't affect the result | 479 // Having files in the usual directory wouldn't affect the result |
480 // queried in incognito mode. | 480 // queried in incognito mode. |
481 EXPECT_EQ(0, GetOriginUsage(quota_client.get(), kDummyURL1, kTemporary)); | 481 EXPECT_EQ(0, GetOriginUsage(quota_client.get(), kDummyURL1, kTemporary)); |
482 EXPECT_EQ(0, GetOriginUsage(quota_client.get(), kDummyURL1, kPersistent)); | 482 EXPECT_EQ(0, GetOriginUsage(quota_client.get(), kDummyURL1, kPersistent)); |
483 | 483 |
484 std::set<GURL> origins = GetOriginsForType(quota_client.get(), kTemporary); | 484 std::set<GURL> origins = GetOriginsForType(quota_client.get(), kTemporary); |
485 EXPECT_EQ(0U, origins.size()); | 485 EXPECT_EQ(0U, origins.size()); |
486 origins = GetOriginsForHost(quota_client.get(), kTemporary, "www.dummy.org"); | 486 origins = GetOriginsForHost(quota_client.get(), kTemporary, "www.dummy.org"); |
487 EXPECT_EQ(0U, origins.size()); | 487 EXPECT_EQ(0U, origins.size()); |
(...skipping 10 matching lines...) Expand all Loading... |
498 {false, "c", 4, "http://foo.com/", kPersistent}, | 498 {false, "c", 4, "http://foo.com/", kPersistent}, |
499 {true, NULL, 0, "http://bar.com/", kTemporary}, | 499 {true, NULL, 0, "http://bar.com/", kTemporary}, |
500 {false, "d", 8, "http://bar.com/", kTemporary}, | 500 {false, "d", 8, "http://bar.com/", kTemporary}, |
501 {true, NULL, 0, "http://bar.com/", kPersistent}, | 501 {true, NULL, 0, "http://bar.com/", kPersistent}, |
502 {false, "e", 16, "http://bar.com/", kPersistent}, | 502 {false, "e", 16, "http://bar.com/", kPersistent}, |
503 {true, NULL, 0, "https://bar.com/", kPersistent}, | 503 {true, NULL, 0, "https://bar.com/", kPersistent}, |
504 {false, "f", 32, "https://bar.com/", kPersistent}, | 504 {false, "f", 32, "https://bar.com/", kPersistent}, |
505 {true, NULL, 0, "https://bar.com/", kTemporary}, | 505 {true, NULL, 0, "https://bar.com/", kTemporary}, |
506 {false, "g", 64, "https://bar.com/", kTemporary}, | 506 {false, "g", 64, "https://bar.com/", kTemporary}, |
507 }; | 507 }; |
508 InitializeOriginFiles(quota_client.get(), kFiles, ARRAYSIZE_UNSAFE(kFiles)); | 508 InitializeOriginFiles(quota_client.get(), kFiles, arraysize(kFiles)); |
509 const int64 file_paths_cost_temporary_foo_https = | 509 const int64 file_paths_cost_temporary_foo_https = |
510 ComputeFilePathsCostForOriginAndType(kFiles, ARRAYSIZE_UNSAFE(kFiles), | 510 ComputeFilePathsCostForOriginAndType(kFiles, arraysize(kFiles), |
511 "https://foo.com/", kTemporary); | 511 "https://foo.com/", kTemporary); |
512 const int64 file_paths_cost_persistent_foo = | 512 const int64 file_paths_cost_persistent_foo = |
513 ComputeFilePathsCostForOriginAndType(kFiles, ARRAYSIZE_UNSAFE(kFiles), | 513 ComputeFilePathsCostForOriginAndType(kFiles, arraysize(kFiles), |
514 "http://foo.com/", kPersistent); | 514 "http://foo.com/", kPersistent); |
515 const int64 file_paths_cost_temporary_bar = | 515 const int64 file_paths_cost_temporary_bar = |
516 ComputeFilePathsCostForOriginAndType(kFiles, ARRAYSIZE_UNSAFE(kFiles), | 516 ComputeFilePathsCostForOriginAndType(kFiles, arraysize(kFiles), |
517 "http://bar.com/", kTemporary); | 517 "http://bar.com/", kTemporary); |
518 const int64 file_paths_cost_temporary_bar_https = | 518 const int64 file_paths_cost_temporary_bar_https = |
519 ComputeFilePathsCostForOriginAndType(kFiles, ARRAYSIZE_UNSAFE(kFiles), | 519 ComputeFilePathsCostForOriginAndType(kFiles, arraysize(kFiles), |
520 "https://bar.com/", kTemporary); | 520 "https://bar.com/", kTemporary); |
521 const int64 file_paths_cost_persistent_bar_https = | 521 const int64 file_paths_cost_persistent_bar_https = |
522 ComputeFilePathsCostForOriginAndType(kFiles, ARRAYSIZE_UNSAFE(kFiles), | 522 ComputeFilePathsCostForOriginAndType(kFiles, arraysize(kFiles), |
523 "https://bar.com/", kPersistent); | 523 "https://bar.com/", kPersistent); |
524 | 524 |
525 DeleteOriginData(quota_client.get(), "http://foo.com/", kTemporary); | 525 DeleteOriginData(quota_client.get(), "http://foo.com/", kTemporary); |
526 base::RunLoop().RunUntilIdle(); | 526 base::RunLoop().RunUntilIdle(); |
527 EXPECT_EQ(storage::kQuotaStatusOk, status()); | 527 EXPECT_EQ(storage::kQuotaStatusOk, status()); |
528 | 528 |
529 DeleteOriginData(quota_client.get(), "http://bar.com/", kPersistent); | 529 DeleteOriginData(quota_client.get(), "http://bar.com/", kPersistent); |
530 base::RunLoop().RunUntilIdle(); | 530 base::RunLoop().RunUntilIdle(); |
531 EXPECT_EQ(storage::kQuotaStatusOk, status()); | 531 EXPECT_EQ(storage::kQuotaStatusOk, status()); |
532 | 532 |
(...skipping 24 matching lines...) Expand all Loading... |
557 GetOriginUsage(quota_client.get(), | 557 GetOriginUsage(quota_client.get(), |
558 "https://bar.com/", | 558 "https://bar.com/", |
559 kPersistent)); | 559 kPersistent)); |
560 EXPECT_EQ(64 + file_paths_cost_temporary_bar_https, | 560 EXPECT_EQ(64 + file_paths_cost_temporary_bar_https, |
561 GetOriginUsage(quota_client.get(), | 561 GetOriginUsage(quota_client.get(), |
562 "https://bar.com/", | 562 "https://bar.com/", |
563 kTemporary)); | 563 kTemporary)); |
564 } | 564 } |
565 | 565 |
566 } // namespace content | 566 } // namespace content |
OLD | NEW |