Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(142)

Side by Side Diff: components/offline_pages/offline_page_metadata_store_impl_unittest.cc

Issue 2512073002: [Offline Pages] Removes two-step expiration related. (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "components/offline_pages/offline_page_metadata_store.h" 5 #include "components/offline_pages/offline_page_metadata_store.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <memory> 9 #include <memory>
10 10
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 "version INTEGER NOT NULL, " 142 "version INTEGER NOT NULL, "
143 "last_access_time INTEGER NOT NULL, " 143 "last_access_time INTEGER NOT NULL, "
144 "access_count INTEGER NOT NULL, " 144 "access_count INTEGER NOT NULL, "
145 "status INTEGER NOT NULL DEFAULT 0, " 145 "status INTEGER NOT NULL DEFAULT 0, "
146 "user_initiated INTEGER, " 146 "user_initiated INTEGER, "
147 "expiration_time INTEGER NOT NULL DEFAULT 0, " 147 "expiration_time INTEGER NOT NULL DEFAULT 0, "
148 "client_namespace VARCHAR NOT NULL, " 148 "client_namespace VARCHAR NOT NULL, "
149 "client_id VARCHAR NOT NULL, " 149 "client_id VARCHAR NOT NULL, "
150 "online_url VARCHAR NOT NULL, " 150 "online_url VARCHAR NOT NULL, "
151 "offline_url VARCHAR NOT NULL DEFAULT '', " 151 "offline_url VARCHAR NOT NULL DEFAULT '', "
152 "file_path VARCHAR NOT NULL " 152 "file_path VARCHAR NOT NULL, "
153 "title VARCHAR NOT NULL DEFAULT ''" 153 "title VARCHAR NOT NULL DEFAULT ''"
154 ")")); 154 ")"));
155 ASSERT_TRUE(connection.CommitTransaction()); 155 ASSERT_TRUE(connection.CommitTransaction());
156 sql::Statement statement(connection.GetUniqueStatement( 156 sql::Statement statement(connection.GetUniqueStatement(
157 "INSERT INTO " OFFLINE_PAGES_TABLE_V1 157 "INSERT INTO " OFFLINE_PAGES_TABLE_V1
158 "(offline_id, creation_time, file_size, version, " 158 "(offline_id, creation_time, file_size, version, "
159 "last_access_time, access_count, client_namespace, " 159 "last_access_time, access_count, client_namespace, "
160 "client_id, online_url, file_path, expiration_time, title) " 160 "client_id, online_url, file_path, expiration_time, title) "
161 "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")); 161 "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"));
162 statement.BindInt64(0, kOfflineId); 162 statement.BindInt64(0, kOfflineId);
163 statement.BindInt(1, 0); 163 statement.BindInt(1, 0);
164 statement.BindInt64(2, kFileSize); 164 statement.BindInt64(2, kFileSize);
165 statement.BindInt(3, 0); 165 statement.BindInt(3, 0);
166 statement.BindInt(4, 0); 166 statement.BindInt(4, 0);
167 statement.BindInt(5, 1); 167 statement.BindInt(5, 1);
168 statement.BindCString(6, kTestClientNamespace); 168 statement.BindCString(6, kTestClientNamespace);
169 statement.BindString(7, kTestClientId2.id); 169 statement.BindString(7, kTestClientId2.id);
170 statement.BindCString(8, kTestURL); 170 statement.BindCString(8, kTestURL);
171 statement.BindString(9, base::FilePath(kFilePath).MaybeAsASCII()); 171 statement.BindString(9, base::FilePath(kFilePath).MaybeAsASCII());
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 statement.BindInt(4, 1); 214 statement.BindInt(4, 1);
215 statement.BindCString(5, kTestClientNamespace); 215 statement.BindCString(5, kTestClientNamespace);
216 statement.BindString(6, kTestClientId2.id); 216 statement.BindString(6, kTestClientId2.id);
217 statement.BindCString(7, kTestURL); 217 statement.BindCString(7, kTestURL);
218 statement.BindString(8, base::FilePath(kFilePath).MaybeAsASCII()); 218 statement.BindString(8, base::FilePath(kFilePath).MaybeAsASCII());
219 statement.BindInt64(9, base::Time::Now().ToInternalValue()); 219 statement.BindInt64(9, base::Time::Now().ToInternalValue());
220 statement.BindString16(10, base::UTF8ToUTF16("Test title")); 220 statement.BindString16(10, base::UTF8ToUTF16("Test title"));
221 ASSERT_TRUE(statement.Run()); 221 ASSERT_TRUE(statement.Run());
222 ASSERT_TRUE(connection.DoesTableExist(OFFLINE_PAGES_TABLE_V1)); 222 ASSERT_TRUE(connection.DoesTableExist(OFFLINE_PAGES_TABLE_V1));
223 ASSERT_TRUE(connection.DoesColumnExist(OFFLINE_PAGES_TABLE_V1, "title")); 223 ASSERT_TRUE(connection.DoesColumnExist(OFFLINE_PAGES_TABLE_V1, "title"));
224 ASSERT_FALSE(connection.DoesColumnExist(OFFLINE_PAGES_TABLE_V1, "version"));
fgorski 2016/11/18 00:13:04 don't touch M55 code, Jian has appropriate fix in
romax 2016/11/18 20:50:48 Done.
225 ASSERT_FALSE(connection.DoesColumnExist(OFFLINE_PAGES_TABLE_V1, "status"));
226 ASSERT_FALSE(
227 connection.DoesColumnExist(OFFLINE_PAGES_TABLE_V1, "user_initiated"));
228 ASSERT_FALSE(
229 connection.DoesColumnExist(OFFLINE_PAGES_TABLE_V1, "offline_url"));
224 } 230 }
225 231
226 class OfflinePageMetadataStoreFactory { 232 class OfflinePageMetadataStoreFactory {
227 public: 233 public:
228 OfflinePageMetadataStore* BuildStore(const base::FilePath& file_path) { 234 OfflinePageMetadataStore* BuildStore(const base::FilePath& file_path) {
229 OfflinePageMetadataStoreSQL* store = new OfflinePageMetadataStoreSQL( 235 OfflinePageMetadataStoreSQL* store = new OfflinePageMetadataStoreSQL(
230 base::ThreadTaskRunnerHandle::Get(), file_path); 236 base::ThreadTaskRunnerHandle::Get(), file_path);
231 return store; 237 return store;
232 } 238 }
233 239
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
369 375
370 return offline_pages_[0]; 376 return offline_pages_[0];
371 } 377 }
372 378
373 void OfflinePageMetadataStoreTest::CheckThatOfflinePageCanBeSaved( 379 void OfflinePageMetadataStoreTest::CheckThatOfflinePageCanBeSaved(
374 std::unique_ptr<OfflinePageMetadataStore> store) { 380 std::unique_ptr<OfflinePageMetadataStore> store) {
375 size_t store_size = offline_pages_.size(); 381 size_t store_size = offline_pages_.size();
376 OfflinePageItem offline_page(GURL(kTestURL), 1234LL, kTestClientId1, 382 OfflinePageItem offline_page(GURL(kTestURL), 1234LL, kTestClientId1,
377 base::FilePath(kFilePath), kFileSize); 383 base::FilePath(kFilePath), kFileSize);
378 offline_page.title = base::UTF8ToUTF16("a title"); 384 offline_page.title = base::UTF8ToUTF16("a title");
379 base::Time expiration_time = base::Time::Now();
380 offline_page.expiration_time = expiration_time;
381 offline_page.original_url = GURL(kOriginalTestURL);
fgorski 2016/11/18 00:13:04 be careful about what you are removing. original_u
romax 2016/11/18 20:50:49 Done.
382 385
383 store->AddOfflinePage(offline_page, 386 store->AddOfflinePage(offline_page,
384 base::Bind(&OfflinePageMetadataStoreTest::AddCallback, 387 base::Bind(&OfflinePageMetadataStoreTest::AddCallback,
385 base::Unretained(this))); 388 base::Unretained(this)));
386 PumpLoop(); 389 PumpLoop();
387 EXPECT_EQ(ADD, last_called_callback_); 390 EXPECT_EQ(ADD, last_called_callback_);
388 EXPECT_EQ(STATUS_TRUE, last_status_); 391 EXPECT_EQ(STATUS_TRUE, last_status_);
389 ClearResults(); 392 ClearResults();
390 393
391 // Close the store first to ensure file lock is removed. 394 // Close the store first to ensure file lock is removed.
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
435 store->GetOfflinePages( 438 store->GetOfflinePages(
436 base::Bind(&OfflinePageMetadataStoreTest::GetOfflinePagesCallback, 439 base::Bind(&OfflinePageMetadataStoreTest::GetOfflinePagesCallback,
437 base::Unretained(this))); 440 base::Unretained(this)));
438 PumpLoop(); 441 PumpLoop();
439 return store; 442 return store;
440 } 443 }
441 444
442 std::unique_ptr<OfflinePageMetadataStore> 445 std::unique_ptr<OfflinePageMetadataStore>
443 OfflinePageMetadataStoreTest::BuildStoreWithSchemaFromM54() { 446 OfflinePageMetadataStoreTest::BuildStoreWithSchemaFromM54() {
444 std::unique_ptr<OfflinePageMetadataStore> store( 447 std::unique_ptr<OfflinePageMetadataStore> store(
445 factory_.BuildStoreM53(temp_directory_.GetPath())); 448 factory_.BuildStoreM54(temp_directory_.GetPath()));
446 PumpLoop(); 449 PumpLoop();
447 store->GetOfflinePages( 450 store->GetOfflinePages(
448 base::Bind(&OfflinePageMetadataStoreTest::GetOfflinePagesCallback, 451 base::Bind(&OfflinePageMetadataStoreTest::GetOfflinePagesCallback,
449 base::Unretained(this))); 452 base::Unretained(this)));
450 PumpLoop(); 453 PumpLoop();
451 return store; 454 return store;
452 } 455 }
453 456
454 std::unique_ptr<OfflinePageMetadataStore> 457 std::unique_ptr<OfflinePageMetadataStore>
455 OfflinePageMetadataStoreTest::BuildStoreWithSchemaFromM55() { 458 OfflinePageMetadataStoreTest::BuildStoreWithSchemaFromM55() {
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
543 } 546 }
544 547
545 // Loads a store which has an outdated schema. 548 // Loads a store which has an outdated schema.
546 // This test case would crash if it's not handling correctly when we're loading 549 // This test case would crash if it's not handling correctly when we're loading
547 // old version stores. 550 // old version stores.
548 // TODO(romax): Move this to sql_unittest. 551 // TODO(romax): Move this to sql_unittest.
549 TEST_F(OfflinePageMetadataStoreTest, LoadVersion52Store) { 552 TEST_F(OfflinePageMetadataStoreTest, LoadVersion52Store) {
550 std::unique_ptr<OfflinePageMetadataStore> store( 553 std::unique_ptr<OfflinePageMetadataStore> store(
551 BuildStoreWithSchemaFromM52()); 554 BuildStoreWithSchemaFromM52());
552 555
553 CheckThatStoreHasOneItem(); 556 OfflinePageItem item = CheckThatStoreHasOneItem();
554 CheckThatOfflinePageCanBeSaved(std::move(store)); 557 CheckThatOfflinePageCanBeSaved(std::move(store));
555 } 558 }
556 559
557 // Loads a store which has an outdated schema. 560 // Loads a store which has an outdated schema.
558 // This test case would crash if it's not handling correctly when we're loading 561 // This test case would crash if it's not handling correctly when we're loading
559 // old version stores. 562 // old version stores.
560 // TODO(romax): Move this to sql_unittest. 563 // TODO(romax): Move this to sql_unittest.
561 TEST_F(OfflinePageMetadataStoreTest, LoadVersion53Store) { 564 TEST_F(OfflinePageMetadataStoreTest, LoadVersion53Store) {
562 std::unique_ptr<OfflinePageMetadataStore> store( 565 std::unique_ptr<OfflinePageMetadataStore> store(
563 BuildStoreWithSchemaFromM53()); 566 BuildStoreWithSchemaFromM53());
564 567
565 OfflinePageItem item = CheckThatStoreHasOneItem(); 568 OfflinePageItem item = CheckThatStoreHasOneItem();
566 // We should have a valid expiration time after upgrade.
567 EXPECT_NE(base::Time::FromInternalValue(0),
568 offline_pages_[0].expiration_time);
569
570 CheckThatOfflinePageCanBeSaved(std::move(store)); 569 CheckThatOfflinePageCanBeSaved(std::move(store));
571 } 570 }
572 571
573 // Loads a string with schema from M54. 572 // Loads a string with schema from M54.
574 // Because for now we only reduce the number of fields it just makes sure there 573 // Because for now we only reduce the number of fields it just makes sure there
575 // are no crashes in the process. 574 // are no crashes in the process.
576 // TODO(romax): Move this to sql_unittest. 575 // TODO(romax): Move this to sql_unittest.
577 TEST_F(OfflinePageMetadataStoreTest, LoadVersion54Store) { 576 TEST_F(OfflinePageMetadataStoreTest, LoadVersion54Store) {
578 std::unique_ptr<OfflinePageMetadataStore> store( 577 std::unique_ptr<OfflinePageMetadataStore> store(
579 BuildStoreWithSchemaFromM54()); 578 BuildStoreWithSchemaFromM54());
580 579
581 OfflinePageItem item = CheckThatStoreHasOneItem(); 580 OfflinePageItem item = CheckThatStoreHasOneItem();
582
583 CheckThatOfflinePageCanBeSaved(std::move(store)); 581 CheckThatOfflinePageCanBeSaved(std::move(store));
584 } 582 }
585 583
586 // Loads a string with schema from M55. 584 // Loads a string with schema from M55.
587 // Because for now we only reduce the number of fields it just makes sure there 585 // Because for now we only removed 'title' and added 'original_url' , it just
588 // are no crashes in the process. 586 // makes sure there are no crashes in the process.
589 // TODO(romax): Move this to sql_unittest. 587 // TODO(romax): Move this to sql_unittest.
590 TEST_F(OfflinePageMetadataStoreTest, LoadVersion55Store) { 588 TEST_F(OfflinePageMetadataStoreTest, LoadVersion55Store) {
591 std::unique_ptr<OfflinePageMetadataStore> store( 589 std::unique_ptr<OfflinePageMetadataStore> store(
592 BuildStoreWithSchemaFromM55()); 590 BuildStoreWithSchemaFromM55());
593 591
594 OfflinePageItem item = CheckThatStoreHasOneItem(); 592 OfflinePageItem item = CheckThatStoreHasOneItem();
595
596 CheckThatOfflinePageCanBeSaved(std::move(store)); 593 CheckThatOfflinePageCanBeSaved(std::move(store));
597 } 594 }
598 595
599 // Adds metadata of an offline page into a store and then opens the store 596 // Adds metadata of an offline page into a store and then opens the store
600 // again to make sure that stored metadata survives store restarts. 597 // again to make sure that stored metadata survives store restarts.
601 TEST_F(OfflinePageMetadataStoreTest, AddOfflinePage) { 598 TEST_F(OfflinePageMetadataStoreTest, AddOfflinePage) {
602 CheckThatOfflinePageCanBeSaved(BuildStore()); 599 CheckThatOfflinePageCanBeSaved(BuildStore());
603 } 600 }
604 601
605 TEST_F(OfflinePageMetadataStoreTest, AddSameOfflinePageTwice) { 602 TEST_F(OfflinePageMetadataStoreTest, AddSameOfflinePageTwice) {
606 std::unique_ptr<OfflinePageMetadataStore> store(BuildStore()); 603 std::unique_ptr<OfflinePageMetadataStore> store(BuildStore());
607 604
608 OfflinePageItem offline_page(GURL(kTestURL), 1234LL, kTestClientId1, 605 OfflinePageItem offline_page(GURL(kTestURL), 1234LL, kTestClientId1,
609 base::FilePath(kFilePath), kFileSize); 606 base::FilePath(kFilePath), kFileSize);
610 offline_page.title = base::UTF8ToUTF16("a title"); 607 offline_page.title = base::UTF8ToUTF16("a title");
611 base::Time expiration_time = base::Time::Now();
612 offline_page.expiration_time = expiration_time;
613 608
614 store->AddOfflinePage(offline_page, 609 store->AddOfflinePage(offline_page,
615 base::Bind(&OfflinePageMetadataStoreTest::AddCallback, 610 base::Bind(&OfflinePageMetadataStoreTest::AddCallback,
616 base::Unretained(this))); 611 base::Unretained(this)));
617 PumpLoop(); 612 PumpLoop();
618 EXPECT_EQ(ADD, last_called_callback_); 613 EXPECT_EQ(ADD, last_called_callback_);
619 EXPECT_EQ(STATUS_TRUE, last_status_); 614 EXPECT_EQ(STATUS_TRUE, last_status_);
620 ClearResults(); 615 ClearResults();
621 616
622 store->AddOfflinePage(offline_page, 617 store->AddOfflinePage(offline_page,
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
688 EXPECT_EQ(0U, offline_pages_.size()); 683 EXPECT_EQ(0U, offline_pages_.size());
689 } 684 }
690 685
691 // Adds metadata of multiple offline pages into a store and removes some. 686 // Adds metadata of multiple offline pages into a store and removes some.
692 TEST_F(OfflinePageMetadataStoreTest, AddRemoveMultipleOfflinePages) { 687 TEST_F(OfflinePageMetadataStoreTest, AddRemoveMultipleOfflinePages) {
693 std::unique_ptr<OfflinePageMetadataStore> store(BuildStore()); 688 std::unique_ptr<OfflinePageMetadataStore> store(BuildStore());
694 689
695 // Add an offline page. 690 // Add an offline page.
696 OfflinePageItem offline_page_1(GURL(kTestURL), 12345LL, kTestClientId1, 691 OfflinePageItem offline_page_1(GURL(kTestURL), 12345LL, kTestClientId1,
697 base::FilePath(kFilePath), kFileSize); 692 base::FilePath(kFilePath), kFileSize);
693 base::FilePath file_path_2 =
694 base::FilePath(FILE_PATH_LITERAL("//other.page.com.mhtml"));
695 OfflinePageItem offline_page_2(GURL("https://other.page.com"), 5678LL,
fgorski 2016/11/18 00:13:04 given line 710, does this compile?
romax 2016/11/18 20:50:49 Done.
696 kTestClientId2, file_path_2, 12345,
697 base::Time::Now());
698 store->AddOfflinePage(offline_page_1, 698 store->AddOfflinePage(offline_page_1,
699 base::Bind(&OfflinePageMetadataStoreTest::AddCallback, 699 base::Bind(&OfflinePageMetadataStoreTest::AddCallback,
700 base::Unretained(this))); 700 base::Unretained(this)));
701 PumpLoop(); 701 PumpLoop();
702 EXPECT_EQ(ADD, last_called_callback_); 702 EXPECT_EQ(ADD, last_called_callback_);
703 EXPECT_EQ(STATUS_TRUE, last_status_); 703 EXPECT_EQ(STATUS_TRUE, last_status_);
704 704
705 ClearResults(); 705 ClearResults();
706 706
707 // Add anther offline page. 707 // Add anther offline page.
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
760 EXPECT_EQ(LOAD, last_called_callback_); 760 EXPECT_EQ(LOAD, last_called_callback_);
761 EXPECT_EQ(STATUS_TRUE, last_status_); 761 EXPECT_EQ(STATUS_TRUE, last_status_);
762 ASSERT_EQ(1U, offline_pages_.size()); 762 ASSERT_EQ(1U, offline_pages_.size());
763 EXPECT_EQ(offline_page_2.url, offline_pages_[0].url); 763 EXPECT_EQ(offline_page_2.url, offline_pages_[0].url);
764 EXPECT_EQ(offline_page_2.offline_id, offline_pages_[0].offline_id); 764 EXPECT_EQ(offline_page_2.offline_id, offline_pages_[0].offline_id);
765 EXPECT_EQ(offline_page_2.file_path, offline_pages_[0].file_path); 765 EXPECT_EQ(offline_page_2.file_path, offline_pages_[0].file_path);
766 EXPECT_EQ(offline_page_2.file_size, offline_pages_[0].file_size); 766 EXPECT_EQ(offline_page_2.file_size, offline_pages_[0].file_size);
767 EXPECT_EQ(offline_page_2.creation_time, offline_pages_[0].creation_time); 767 EXPECT_EQ(offline_page_2.creation_time, offline_pages_[0].creation_time);
768 EXPECT_EQ(offline_page_2.last_access_time, 768 EXPECT_EQ(offline_page_2.last_access_time,
769 offline_pages_[0].last_access_time); 769 offline_pages_[0].last_access_time);
770 EXPECT_EQ(offline_page_2.expiration_time, offline_pages_[0].expiration_time);
771 EXPECT_EQ(offline_page_2.access_count, offline_pages_[0].access_count); 770 EXPECT_EQ(offline_page_2.access_count, offline_pages_[0].access_count);
772 EXPECT_EQ(offline_page_2.client_id, offline_pages_[0].client_id); 771 EXPECT_EQ(offline_page_2.client_id, offline_pages_[0].client_id);
773 } 772 }
774 773
775 // Tests updating offline page metadata from the store. 774 // Tests updating offline page metadata from the store.
776 TEST_F(OfflinePageMetadataStoreTest, UpdateOfflinePage) { 775 TEST_F(OfflinePageMetadataStoreTest, UpdateOfflinePage) {
777 std::unique_ptr<OfflinePageMetadataStore> store(BuildStore()); 776 std::unique_ptr<OfflinePageMetadataStore> store(BuildStore());
778 777
779 // First, adds a fresh page. 778 // First, adds a fresh page.
780 OfflinePageItem offline_page(GURL(kTestURL), 1234LL, kTestClientId1, 779 OfflinePageItem offline_page(GURL(kTestURL), 1234LL, kTestClientId1,
(...skipping 12 matching lines...) Expand all
793 PumpLoop(); 792 PumpLoop();
794 793
795 EXPECT_EQ(LOAD, last_called_callback_); 794 EXPECT_EQ(LOAD, last_called_callback_);
796 EXPECT_EQ(STATUS_TRUE, last_status_); 795 EXPECT_EQ(STATUS_TRUE, last_status_);
797 ASSERT_EQ(1U, offline_pages_.size()); 796 ASSERT_EQ(1U, offline_pages_.size());
798 EXPECT_EQ(offline_page, offline_pages_[0]); 797 EXPECT_EQ(offline_page, offline_pages_[0]);
799 798
800 // Then update some data. 799 // Then update some data.
801 offline_page.file_size = kFileSize + 1; 800 offline_page.file_size = kFileSize + 1;
802 offline_page.access_count++; 801 offline_page.access_count++;
803 offline_page.expiration_time = base::Time::Now();
804 offline_page.original_url = GURL("https://example.com/bar"); 802 offline_page.original_url = GURL("https://example.com/bar");
805 std::vector<OfflinePageItem> items_to_update; 803 std::vector<OfflinePageItem> items_to_update;
806 items_to_update.push_back(offline_page); 804 items_to_update.push_back(offline_page);
807 store->UpdateOfflinePages( 805 store->UpdateOfflinePages(
808 items_to_update, base::Bind(&OfflinePageMetadataStoreTest::UpdateCallback, 806 items_to_update, base::Bind(&OfflinePageMetadataStoreTest::UpdateCallback,
809 base::Unretained(this), UPDATE)); 807 base::Unretained(this), UPDATE));
810 PumpLoop(); 808 PumpLoop();
811 EXPECT_EQ(UPDATE, last_called_callback_); 809 EXPECT_EQ(UPDATE, last_called_callback_);
812 EXPECT_EQ(STATUS_TRUE, last_status_); 810 EXPECT_EQ(STATUS_TRUE, last_status_);
813 ASSERT_TRUE(last_update_result() != nullptr); 811 ASSERT_TRUE(last_update_result() != nullptr);
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
878 base::Unretained(this))); 876 base::Unretained(this)));
879 PumpLoop(); 877 PumpLoop();
880 878
881 EXPECT_EQ(LOAD, last_called_callback_); 879 EXPECT_EQ(LOAD, last_called_callback_);
882 EXPECT_EQ(STATUS_TRUE, last_status_); 880 EXPECT_EQ(STATUS_TRUE, last_status_);
883 ASSERT_EQ(0U, offline_pages_.size()); 881 ASSERT_EQ(0U, offline_pages_.size());
884 } 882 }
885 883
886 } // namespace 884 } // namespace
887 } // namespace offline_pages 885 } // namespace offline_pages
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698