Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 <stack> | 5 #include <stack> |
| 6 | 6 |
| 7 #include "base/message_loop.h" | 7 #include "base/message_loop.h" |
| 8 #include "base/threading/thread.h" | 8 #include "base/threading/thread.h" |
| 9 #include "base/synchronization/waitable_event.h" | 9 #include "base/synchronization/waitable_event.h" |
| 10 #include "net/base/net_errors.h" | 10 #include "net/base/net_errors.h" |
| (...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 323 // load should complete syncly. | 323 // load should complete syncly. |
| 324 | 324 |
| 325 // Setup some preconditions. Make an 'unstored' cache for | 325 // Setup some preconditions. Make an 'unstored' cache for |
| 326 // us to load. The ctor should put it in the working set. | 326 // us to load. The ctor should put it in the working set. |
| 327 int64 cache_id = storage()->NewCacheId(); | 327 int64 cache_id = storage()->NewCacheId(); |
| 328 scoped_refptr<AppCache> cache(new AppCache(service(), cache_id)); | 328 scoped_refptr<AppCache> cache(new AppCache(service(), cache_id)); |
| 329 | 329 |
| 330 // Conduct the test. | 330 // Conduct the test. |
| 331 storage()->LoadCache(cache_id, delegate()); | 331 storage()->LoadCache(cache_id, delegate()); |
| 332 EXPECT_EQ(cache_id, delegate()->loaded_cache_id_); | 332 EXPECT_EQ(cache_id, delegate()->loaded_cache_id_); |
| 333 EXPECT_EQ(cache.get(), delegate()->loaded_cache_.get()); | 333 EXPECT_EQ(cache.get(), delegate()->loaded_cache_.get()); |
|
michaeln
2011/06/08 18:09:54
verify access notification
| |
| 334 TestFinished(); | 334 TestFinished(); |
| 335 } | 335 } |
| 336 | 336 |
| 337 // CreateGroup -------------------------------------------- | 337 // CreateGroup -------------------------------------------- |
| 338 | 338 |
| 339 void CreateGroupInEmptyOrigin() { | 339 void CreateGroupInEmptyOrigin() { |
| 340 // Attempt to load a group that doesn't exist, one should | 340 // Attempt to load a group that doesn't exist, one should |
| 341 // be created for us, but not stored. | 341 // be created for us, but not stored. |
| 342 | 342 |
| 343 // Since the origin has no groups, the storage class will respond | 343 // Since the origin has no groups, the storage class will respond |
| 344 // syncly. | 344 // syncly. |
| 345 storage()->LoadOrCreateGroup(kManifestUrl, delegate()); | 345 storage()->LoadOrCreateGroup(kManifestUrl, delegate()); |
| 346 Verify_CreateGroup(); | 346 Verify_CreateGroup(); |
| 347 } | 347 } |
| 348 | 348 |
| 349 void CreateGroupInPopulatedOrigin() { | 349 void CreateGroupInPopulatedOrigin() { |
| 350 // Attempt to load a group that doesn't exist, one should | 350 // Attempt to load a group that doesn't exist, one should |
| 351 // be created for us, but not stored. | 351 // be created for us, but not stored. |
| 352 PushNextTask(NewRunnableMethod( | 352 PushNextTask(NewRunnableMethod( |
| 353 this, &AppCacheStorageImplTest::Verify_CreateGroup)); | 353 this, &AppCacheStorageImplTest::Verify_CreateGroup)); |
| 354 | 354 |
| 355 // Since the origin has groups, storage class will have to | 355 // Since the origin has groups, storage class will have to |
| 356 // consult the database and completion will be async. | 356 // consult the database and completion will be async. |
| 357 storage()->origins_with_groups_.insert(kManifestUrl.GetOrigin()); | 357 storage()->usage_map_[kManifestUrl.GetOrigin()] = 10; |
| 358 | 358 |
| 359 storage()->LoadOrCreateGroup(kManifestUrl, delegate()); | 359 storage()->LoadOrCreateGroup(kManifestUrl, delegate()); |
| 360 EXPECT_FALSE(delegate()->loaded_group_.get()); | 360 EXPECT_FALSE(delegate()->loaded_group_.get()); |
| 361 } | 361 } |
| 362 | 362 |
| 363 void Verify_CreateGroup() { | 363 void Verify_CreateGroup() { |
|
michaeln
2011/06/08 18:09:54
verify access notification
| |
| 364 EXPECT_EQ(kManifestUrl, delegate()->loaded_manifest_url_); | 364 EXPECT_EQ(kManifestUrl, delegate()->loaded_manifest_url_); |
| 365 EXPECT_TRUE(delegate()->loaded_group_.get()); | 365 EXPECT_TRUE(delegate()->loaded_group_.get()); |
| 366 EXPECT_TRUE(delegate()->loaded_group_->HasOneRef()); | 366 EXPECT_TRUE(delegate()->loaded_group_->HasOneRef()); |
| 367 EXPECT_FALSE(delegate()->loaded_group_->newest_complete_cache()); | 367 EXPECT_FALSE(delegate()->loaded_group_->newest_complete_cache()); |
| 368 | 368 |
| 369 // Should not have been stored in the database. | 369 // Should not have been stored in the database. |
| 370 AppCacheDatabase::GroupRecord record; | 370 AppCacheDatabase::GroupRecord record; |
| 371 EXPECT_FALSE(database()->FindGroup( | 371 EXPECT_FALSE(database()->FindGroup( |
| 372 delegate()->loaded_group_->group_id(), &record)); | 372 delegate()->loaded_group_->group_id(), &record)); |
| 373 | 373 |
| (...skipping 25 matching lines...) Expand all Loading... | |
| 399 EXPECT_EQ(1, delegate()->loaded_cache_id_); | 399 EXPECT_EQ(1, delegate()->loaded_cache_id_); |
| 400 | 400 |
| 401 // The group should also have been loaded. | 401 // The group should also have been loaded. |
| 402 EXPECT_TRUE(delegate()->loaded_cache_->owning_group()); | 402 EXPECT_TRUE(delegate()->loaded_cache_->owning_group()); |
| 403 EXPECT_TRUE(delegate()->loaded_cache_->owning_group()->HasOneRef()); | 403 EXPECT_TRUE(delegate()->loaded_cache_->owning_group()->HasOneRef()); |
| 404 EXPECT_EQ(1, delegate()->loaded_cache_->owning_group()->group_id()); | 404 EXPECT_EQ(1, delegate()->loaded_cache_->owning_group()->group_id()); |
| 405 | 405 |
| 406 // Drop things from the working set. | 406 // Drop things from the working set. |
| 407 delegate()->loaded_cache_ = NULL; | 407 delegate()->loaded_cache_ = NULL; |
| 408 EXPECT_FALSE(delegate()->loaded_group_); | 408 EXPECT_FALSE(delegate()->loaded_group_); |
| 409 | 409 |
|
michaeln
2011/06/08 18:09:54
verify access notification
| |
| 410 // Conduct the group load test, also complete asyncly. | 410 // Conduct the group load test, also complete asyncly. |
| 411 PushNextTask(NewRunnableMethod( | 411 PushNextTask(NewRunnableMethod( |
| 412 this, &AppCacheStorageImplTest::Verify_LoadGroup_Far_Hit)); | 412 this, &AppCacheStorageImplTest::Verify_LoadGroup_Far_Hit)); |
| 413 | 413 |
| 414 storage()->LoadOrCreateGroup(kManifestUrl, delegate()); | 414 storage()->LoadOrCreateGroup(kManifestUrl, delegate()); |
| 415 } | 415 } |
| 416 | 416 |
| 417 void Verify_LoadGroup_Far_Hit() { | 417 void Verify_LoadGroup_Far_Hit() { |
| 418 EXPECT_TRUE(delegate()->loaded_group_); | 418 EXPECT_TRUE(delegate()->loaded_group_); |
| 419 EXPECT_EQ(kManifestUrl, delegate()->loaded_manifest_url_); | 419 EXPECT_EQ(kManifestUrl, delegate()->loaded_manifest_url_); |
| 420 EXPECT_TRUE(delegate()->loaded_group_->newest_complete_cache()); | 420 EXPECT_TRUE(delegate()->loaded_group_->newest_complete_cache()); |
| 421 delegate()->loaded_groups_newest_cache_ = NULL; | 421 delegate()->loaded_groups_newest_cache_ = NULL; |
| 422 EXPECT_TRUE(delegate()->loaded_group_->HasOneRef()); | 422 EXPECT_TRUE(delegate()->loaded_group_->HasOneRef()); |
|
michaeln
2011/06/08 18:09:54
verify access notification
| |
| 423 TestFinished(); | 423 TestFinished(); |
| 424 } | 424 } |
| 425 | 425 |
| 426 // StoreNewGroup -------------------------------------- | 426 // StoreNewGroup -------------------------------------- |
| 427 | 427 |
| 428 void StoreNewGroup() { | 428 void StoreNewGroup() { |
| 429 // Store a group and its newest cache. Should complete asyncly. | 429 // Store a group and its newest cache. Should complete asyncly. |
| 430 PushNextTask(NewRunnableMethod( | 430 PushNextTask(NewRunnableMethod( |
| 431 this, &AppCacheStorageImplTest::Verify_StoreNewGroup)); | 431 this, &AppCacheStorageImplTest::Verify_StoreNewGroup)); |
| 432 | 432 |
| 433 // Setup some preconditions. Create a group and newest cache that | 433 // Setup some preconditions. Create a group and newest cache that |
| 434 // appear to be "unstored". | 434 // appear to be "unstored". |
| 435 group_ = new AppCacheGroup( | 435 group_ = new AppCacheGroup( |
| 436 service(), kManifestUrl, storage()->NewGroupId()); | 436 service(), kManifestUrl, storage()->NewGroupId()); |
| 437 cache_ = new AppCache(service(), storage()->NewCacheId()); | 437 cache_ = new AppCache(service(), storage()->NewCacheId()); |
|
michaeln
2011/06/08 18:09:54
add an Entry to have a non-zero cache size
| |
| 438 // Hold a ref to the cache simulate the UpdateJob holding that ref, | 438 // Hold a ref to the cache simulate the UpdateJob holding that ref, |
| 439 // and hold a ref to the group to simulate the CacheHost holding that ref. | 439 // and hold a ref to the group to simulate the CacheHost holding that ref. |
| 440 | 440 |
| 441 // Conduct the store test. | 441 // Conduct the store test. |
| 442 storage()->StoreGroupAndNewestCache(group_, cache_, delegate()); | 442 storage()->StoreGroupAndNewestCache(group_, cache_, delegate()); |
| 443 EXPECT_FALSE(delegate()->stored_group_success_); | 443 EXPECT_FALSE(delegate()->stored_group_success_); |
| 444 } | 444 } |
| 445 | 445 |
| 446 void Verify_StoreNewGroup() { | 446 void Verify_StoreNewGroup() { |
| 447 EXPECT_TRUE(delegate()->stored_group_success_); | 447 EXPECT_TRUE(delegate()->stored_group_success_); |
| 448 EXPECT_EQ(group_.get(), delegate()->stored_group_.get()); | 448 EXPECT_EQ(group_.get(), delegate()->stored_group_.get()); |
| 449 EXPECT_EQ(cache_.get(), group_->newest_complete_cache()); | 449 EXPECT_EQ(cache_.get(), group_->newest_complete_cache()); |
| 450 EXPECT_TRUE(cache_->is_complete()); | 450 EXPECT_TRUE(cache_->is_complete()); |
| 451 | 451 |
| 452 // Should have been stored in the database. | 452 // Should have been stored in the database. |
| 453 AppCacheDatabase::GroupRecord group_record; | 453 AppCacheDatabase::GroupRecord group_record; |
| 454 AppCacheDatabase::CacheRecord cache_record; | 454 AppCacheDatabase::CacheRecord cache_record; |
| 455 EXPECT_TRUE(database()->FindGroup(group_->group_id(), &group_record)); | 455 EXPECT_TRUE(database()->FindGroup(group_->group_id(), &group_record)); |
| 456 EXPECT_TRUE(database()->FindCache(cache_->cache_id(), &cache_record)); | 456 EXPECT_TRUE(database()->FindCache(cache_->cache_id(), &cache_record)); |
|
michaeln
2011/06/08 18:09:54
also verify notification of the modification
| |
| 457 TestFinished(); | 457 TestFinished(); |
| 458 } | 458 } |
| 459 | 459 |
| 460 // StoreExistingGroup -------------------------------------- | 460 // StoreExistingGroup -------------------------------------- |
| 461 | 461 |
| 462 void StoreExistingGroup() { | 462 void StoreExistingGroup() { |
| 463 // Store a group and its newest cache. Should complete asyncly. | 463 // Store a group and its newest cache. Should complete asyncly. |
| 464 PushNextTask(NewRunnableMethod( | 464 PushNextTask(NewRunnableMethod( |
| 465 this, &AppCacheStorageImplTest::Verify_StoreExistingGroup)); | 465 this, &AppCacheStorageImplTest::Verify_StoreExistingGroup)); |
| 466 | 466 |
| 467 // Setup some preconditions. Create a group and old complete cache | 467 // Setup some preconditions. Create a group and old complete cache |
| 468 // that appear to be "stored" | 468 // that appear to be "stored" |
| 469 MakeCacheAndGroup(kManifestUrl, 1, 1, true); | 469 MakeCacheAndGroup(kManifestUrl, 1, 1, true); |
| 470 | 470 |
| 471 // And a newest unstored complete cache. | 471 // And a newest unstored complete cache. |
| 472 cache2_ = new AppCache(service(), 2); | 472 cache2_ = new AppCache(service(), 2); |
|
michaeln
2011/06/08 18:09:54
ditto add an entry
| |
| 473 | 473 |
| 474 // Conduct the test. | 474 // Conduct the test. |
| 475 storage()->StoreGroupAndNewestCache(group_, cache2_, delegate()); | 475 storage()->StoreGroupAndNewestCache(group_, cache2_, delegate()); |
| 476 EXPECT_FALSE(delegate()->stored_group_success_); | 476 EXPECT_FALSE(delegate()->stored_group_success_); |
| 477 } | 477 } |
| 478 | 478 |
| 479 void Verify_StoreExistingGroup() { | 479 void Verify_StoreExistingGroup() { |
| 480 EXPECT_TRUE(delegate()->stored_group_success_); | 480 EXPECT_TRUE(delegate()->stored_group_success_); |
| 481 EXPECT_EQ(group_.get(), delegate()->stored_group_.get()); | 481 EXPECT_EQ(group_.get(), delegate()->stored_group_.get()); |
| 482 EXPECT_EQ(cache2_.get(), group_->newest_complete_cache()); | 482 EXPECT_EQ(cache2_.get(), group_->newest_complete_cache()); |
| 483 EXPECT_TRUE(cache2_->is_complete()); | 483 EXPECT_TRUE(cache2_->is_complete()); |
| 484 | 484 |
| 485 // The new cache should have been stored in the database. | 485 // The new cache should have been stored in the database. |
| 486 AppCacheDatabase::GroupRecord group_record; | 486 AppCacheDatabase::GroupRecord group_record; |
| 487 AppCacheDatabase::CacheRecord cache_record; | 487 AppCacheDatabase::CacheRecord cache_record; |
| 488 EXPECT_TRUE(database()->FindGroup(1, &group_record)); | 488 EXPECT_TRUE(database()->FindGroup(1, &group_record)); |
| 489 EXPECT_TRUE(database()->FindCache(2, &cache_record)); | 489 EXPECT_TRUE(database()->FindCache(2, &cache_record)); |
| 490 | 490 |
| 491 // The old cache should have been deleted | 491 // The old cache should have been deleted |
| 492 EXPECT_FALSE(database()->FindCache(1, &cache_record)); | 492 EXPECT_FALSE(database()->FindCache(1, &cache_record)); |
|
michaeln
2011/06/08 18:09:54
ditto verify modification notification
| |
| 493 TestFinished(); | 493 TestFinished(); |
| 494 } | 494 } |
| 495 | 495 |
| 496 // StoreExistingGroupExistingCache ------------------------------- | 496 // StoreExistingGroupExistingCache ------------------------------- |
| 497 | 497 |
| 498 void StoreExistingGroupExistingCache() { | 498 void StoreExistingGroupExistingCache() { |
| 499 // Store a group with updates to its existing newest complete cache. | 499 // Store a group with updates to its existing newest complete cache. |
| 500 // Setup some preconditions. Create a group and a complete cache that | 500 // Setup some preconditions. Create a group and a complete cache that |
| 501 // appear to be "stored". | 501 // appear to be "stored". |
| 502 | 502 |
| (...skipping 29 matching lines...) Expand all Loading... | |
| 532 EXPECT_TRUE(expected_update_time == cache_record.update_time); | 532 EXPECT_TRUE(expected_update_time == cache_record.update_time); |
| 533 EXPECT_EQ(100, cache_record.cache_size); | 533 EXPECT_EQ(100, cache_record.cache_size); |
| 534 | 534 |
| 535 std::vector<AppCacheDatabase::EntryRecord> entry_records; | 535 std::vector<AppCacheDatabase::EntryRecord> entry_records; |
| 536 EXPECT_TRUE(database()->FindEntriesForCache(1, &entry_records)); | 536 EXPECT_TRUE(database()->FindEntriesForCache(1, &entry_records)); |
| 537 EXPECT_EQ(1U, entry_records.size()); | 537 EXPECT_EQ(1U, entry_records.size()); |
| 538 EXPECT_EQ(1 , entry_records[0].cache_id); | 538 EXPECT_EQ(1 , entry_records[0].cache_id); |
| 539 EXPECT_EQ(kEntryUrl, entry_records[0].url); | 539 EXPECT_EQ(kEntryUrl, entry_records[0].url); |
| 540 EXPECT_EQ(AppCacheEntry::MASTER, entry_records[0].flags); | 540 EXPECT_EQ(AppCacheEntry::MASTER, entry_records[0].flags); |
| 541 EXPECT_EQ(1, entry_records[0].response_id); | 541 EXPECT_EQ(1, entry_records[0].response_id); |
| 542 EXPECT_EQ(100, entry_records[0].response_size); | 542 EXPECT_EQ(100, entry_records[0].response_size); |
|
michaeln
2011/06/08 18:09:54
verify modification notification
| |
| 543 | 543 |
| 544 TestFinished(); | 544 TestFinished(); |
| 545 } | 545 } |
| 546 | 546 |
| 547 // FailStoreGroup -------------------------------------- | 547 // FailStoreGroup -------------------------------------- |
| 548 | 548 |
| 549 void FailStoreGroup() { | 549 void FailStoreGroup() { |
| 550 // Store a group and its newest cache. Should complete asyncly. | 550 // Store a group and its newest cache. Should complete asyncly. |
| 551 PushNextTask(NewRunnableMethod( | 551 PushNextTask(NewRunnableMethod( |
| 552 this, &AppCacheStorageImplTest::Verify_FailStoreGroup)); | 552 this, &AppCacheStorageImplTest::Verify_FailStoreGroup)); |
| (...skipping 19 matching lines...) Expand all Loading... | |
| 572 EXPECT_TRUE(delegate()->would_exceed_quota_); | 572 EXPECT_TRUE(delegate()->would_exceed_quota_); |
| 573 | 573 |
| 574 // Should not have been stored in the database. | 574 // Should not have been stored in the database. |
| 575 AppCacheDatabase::GroupRecord group_record; | 575 AppCacheDatabase::GroupRecord group_record; |
| 576 AppCacheDatabase::CacheRecord cache_record; | 576 AppCacheDatabase::CacheRecord cache_record; |
| 577 EXPECT_FALSE(database()->FindGroup(group_->group_id(), &group_record)); | 577 EXPECT_FALSE(database()->FindGroup(group_->group_id(), &group_record)); |
| 578 EXPECT_FALSE(database()->FindCache(cache_->cache_id(), &cache_record)); | 578 EXPECT_FALSE(database()->FindCache(cache_->cache_id(), &cache_record)); |
| 579 | 579 |
| 580 TestFinished(); | 580 TestFinished(); |
| 581 } | 581 } |
| 582 | 582 |
|
michaeln
2011/06/08 18:09:54
add a test for querying the quotaMgr for the space
| |
| 583 // MakeGroupObsolete ------------------------------- | 583 // MakeGroupObsolete ------------------------------- |
| 584 | 584 |
| 585 void MakeGroupObsolete() { | 585 void MakeGroupObsolete() { |
| 586 // Make a group obsolete, should complete asyncly. | 586 // Make a group obsolete, should complete asyncly. |
| 587 PushNextTask(NewRunnableMethod( | 587 PushNextTask(NewRunnableMethod( |
| 588 this, &AppCacheStorageImplTest::Verify_MakeGroupObsolete)); | 588 this, &AppCacheStorageImplTest::Verify_MakeGroupObsolete)); |
| 589 | 589 |
| 590 // Setup some preconditions. Create a group and newest cache that | 590 // Setup some preconditions. Create a group and newest cache that |
| 591 // appears to be "stored" and "currently in use". | 591 // appears to be "stored" and "currently in use". |
| 592 MakeCacheAndGroup(kManifestUrl, 1, 1, true); | 592 MakeCacheAndGroup(kManifestUrl, 1, 1, true); |
| 593 EXPECT_FALSE(storage()->origins_with_groups_.empty()); | 593 EXPECT_FALSE(storage()->usage_map_.empty()); |
| 594 | 594 |
| 595 // Also insert some related records. | 595 // Also insert some related records. |
| 596 AppCacheDatabase::EntryRecord entry_record; | 596 AppCacheDatabase::EntryRecord entry_record; |
| 597 entry_record.cache_id = 1; | 597 entry_record.cache_id = 1; |
| 598 entry_record.flags = AppCacheEntry::FALLBACK; | 598 entry_record.flags = AppCacheEntry::FALLBACK; |
| 599 entry_record.response_id = 1; | 599 entry_record.response_id = 1; |
| 600 entry_record.url = kEntryUrl; | 600 entry_record.url = kEntryUrl; |
| 601 EXPECT_TRUE(database()->InsertEntry(&entry_record)); | 601 EXPECT_TRUE(database()->InsertEntry(&entry_record)); |
| 602 | 602 |
| 603 AppCacheDatabase::FallbackNameSpaceRecord fallback_namespace_record; | 603 AppCacheDatabase::FallbackNameSpaceRecord fallback_namespace_record; |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 615 | 615 |
| 616 // Conduct the test. | 616 // Conduct the test. |
| 617 storage()->MakeGroupObsolete(group_, delegate()); | 617 storage()->MakeGroupObsolete(group_, delegate()); |
| 618 EXPECT_FALSE(group_->is_obsolete()); | 618 EXPECT_FALSE(group_->is_obsolete()); |
| 619 } | 619 } |
| 620 | 620 |
| 621 void Verify_MakeGroupObsolete() { | 621 void Verify_MakeGroupObsolete() { |
| 622 EXPECT_TRUE(delegate()->obsoleted_success_); | 622 EXPECT_TRUE(delegate()->obsoleted_success_); |
| 623 EXPECT_EQ(group_.get(), delegate()->obsoleted_group_.get()); | 623 EXPECT_EQ(group_.get(), delegate()->obsoleted_group_.get()); |
| 624 EXPECT_TRUE(group_->is_obsolete()); | 624 EXPECT_TRUE(group_->is_obsolete()); |
| 625 EXPECT_TRUE(storage()->origins_with_groups_.empty()); | 625 EXPECT_TRUE(storage()->usage_map_.empty()); |
| 626 | 626 |
| 627 // The cache and group have been deleted from the database. | 627 // The cache and group have been deleted from the database. |
| 628 AppCacheDatabase::GroupRecord group_record; | 628 AppCacheDatabase::GroupRecord group_record; |
| 629 AppCacheDatabase::CacheRecord cache_record; | 629 AppCacheDatabase::CacheRecord cache_record; |
| 630 EXPECT_FALSE(database()->FindGroup(1, &group_record)); | 630 EXPECT_FALSE(database()->FindGroup(1, &group_record)); |
| 631 EXPECT_FALSE(database()->FindCache(1, &cache_record)); | 631 EXPECT_FALSE(database()->FindCache(1, &cache_record)); |
| 632 | 632 |
| 633 // The related records should have been deleted too. | 633 // The related records should have been deleted too. |
| 634 std::vector<AppCacheDatabase::EntryRecord> entry_records; | 634 std::vector<AppCacheDatabase::EntryRecord> entry_records; |
| 635 database()->FindEntriesForCache(1, &entry_records); | 635 database()->FindEntriesForCache(1, &entry_records); |
| 636 EXPECT_TRUE(entry_records.empty()); | 636 EXPECT_TRUE(entry_records.empty()); |
| 637 std::vector<AppCacheDatabase::FallbackNameSpaceRecord> fallback_records; | 637 std::vector<AppCacheDatabase::FallbackNameSpaceRecord> fallback_records; |
| 638 database()->FindFallbackNameSpacesForCache(1, &fallback_records); | 638 database()->FindFallbackNameSpacesForCache(1, &fallback_records); |
| 639 EXPECT_TRUE(fallback_records.empty()); | 639 EXPECT_TRUE(fallback_records.empty()); |
| 640 std::vector<AppCacheDatabase::OnlineWhiteListRecord> whitelist_records; | 640 std::vector<AppCacheDatabase::OnlineWhiteListRecord> whitelist_records; |
| 641 database()->FindOnlineWhiteListForCache(1, &whitelist_records); | 641 database()->FindOnlineWhiteListForCache(1, &whitelist_records); |
| 642 EXPECT_TRUE(whitelist_records.empty()); | 642 EXPECT_TRUE(whitelist_records.empty()); |
|
michaeln
2011/06/08 18:09:54
verify modification notification
| |
| 643 | 643 |
| 644 TestFinished(); | 644 TestFinished(); |
| 645 } | 645 } |
| 646 | 646 |
| 647 // MarkEntryAsForeign ------------------------------- | 647 // MarkEntryAsForeign ------------------------------- |
| 648 | 648 |
| 649 void MarkEntryAsForeign() { | 649 void MarkEntryAsForeign() { |
| 650 // Setup some preconditions. Create a cache with an entry | 650 // Setup some preconditions. Create a cache with an entry |
| 651 // in storage and in the working set. | 651 // in storage and in the working set. |
| 652 MakeCacheAndGroup(kManifestUrl, 1, 1, true); | 652 MakeCacheAndGroup(kManifestUrl, 1, 1, true); |
| (...skipping 481 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1134 group_record.group_id = group_id; | 1134 group_record.group_id = group_id; |
| 1135 group_record.manifest_url = manifest_url; | 1135 group_record.manifest_url = manifest_url; |
| 1136 group_record.origin = manifest_url.GetOrigin(); | 1136 group_record.origin = manifest_url.GetOrigin(); |
| 1137 EXPECT_TRUE(database()->InsertGroup(&group_record)); | 1137 EXPECT_TRUE(database()->InsertGroup(&group_record)); |
| 1138 AppCacheDatabase::CacheRecord cache_record; | 1138 AppCacheDatabase::CacheRecord cache_record; |
| 1139 cache_record.cache_id = cache_id; | 1139 cache_record.cache_id = cache_id; |
| 1140 cache_record.group_id = group_id; | 1140 cache_record.group_id = group_id; |
| 1141 cache_record.online_wildcard = false; | 1141 cache_record.online_wildcard = false; |
| 1142 cache_record.update_time = kZeroTime; | 1142 cache_record.update_time = kZeroTime; |
| 1143 EXPECT_TRUE(database()->InsertCache(&cache_record)); | 1143 EXPECT_TRUE(database()->InsertCache(&cache_record)); |
| 1144 storage()->origins_with_groups_.insert(manifest_url.GetOrigin()); | 1144 storage()->usage_map_[manifest_url.GetOrigin()] = 10; |
| 1145 } | 1145 } |
| 1146 } | 1146 } |
| 1147 | 1147 |
| 1148 // Data members -------------------------------------------------- | 1148 // Data members -------------------------------------------------- |
| 1149 | 1149 |
| 1150 scoped_ptr<base::WaitableEvent> test_finished_event_; | 1150 scoped_ptr<base::WaitableEvent> test_finished_event_; |
| 1151 std::stack<Task*> task_stack_; | 1151 std::stack<Task*> task_stack_; |
| 1152 MockAppCachePolicy policy_; | 1152 MockAppCachePolicy policy_; |
| 1153 scoped_ptr<AppCacheService> service_; | 1153 scoped_ptr<AppCacheService> service_; |
| 1154 scoped_ptr<MockStorageDelegate> delegate_; | 1154 scoped_ptr<MockStorageDelegate> delegate_; |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1251 &AppCacheStorageImplTest::FindMainResponseExclusionsInWorkingSet); | 1251 &AppCacheStorageImplTest::FindMainResponseExclusionsInWorkingSet); |
| 1252 } | 1252 } |
| 1253 | 1253 |
| 1254 // That's all folks! | 1254 // That's all folks! |
| 1255 | 1255 |
| 1256 } // namespace appcache | 1256 } // namespace appcache |
| 1257 | 1257 |
| 1258 // AppCacheStorageImplTest is expected to always live longer than the | 1258 // AppCacheStorageImplTest is expected to always live longer than the |
| 1259 // runnable methods. This lets us call NewRunnableMethod on its instances. | 1259 // runnable methods. This lets us call NewRunnableMethod on its instances. |
| 1260 DISABLE_RUNNABLE_METHOD_REFCOUNT(appcache::AppCacheStorageImplTest); | 1260 DISABLE_RUNNABLE_METHOD_REFCOUNT(appcache::AppCacheStorageImplTest); |
| OLD | NEW |