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

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

Issue 1739503002: Makes the OfflinePageBridge.getAllPages method asynchronous. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Wait for model load in new async method. Created 4 years, 8 months 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_model.h" 5 #include "components/offline_pages/offline_page_model.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 #include <algorithm> 8 #include <algorithm>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 void FastForwardBy(base::TimeDelta delta); 99 void FastForwardBy(base::TimeDelta delta);
100 void ResetResults(); 100 void ResetResults();
101 101
102 OfflinePageTestStore* GetStore(); 102 OfflinePageTestStore* GetStore();
103 103
104 void SavePage(const GURL& url, ClientId client_id); 104 void SavePage(const GURL& url, ClientId client_id);
105 void SavePageWithArchiverResult(const GURL& url, 105 void SavePageWithArchiverResult(const GURL& url,
106 ClientId client_id, 106 ClientId client_id,
107 OfflinePageArchiver::ArchiverResult result); 107 OfflinePageArchiver::ArchiverResult result);
108 108
109 void DeletePage(int64_t bookmark_id,
110 const OfflinePageModel::DeletePageCallback& callback) {
111 std::vector<int64_t> bookmark_ids;
fgorski 2016/03/28 17:58:46 offline_ids ?
dewittj 2016/03/31 18:43:18 Done.
112 bookmark_ids.push_back(bookmark_id);
113 model()->DeletePagesByOfflineId(bookmark_ids, callback);
114 }
115
109 OfflinePageModel* model() { return model_.get(); } 116 OfflinePageModel* model() { return model_.get(); }
110 117
111 int64_t last_save_offline_id() const { return last_save_offline_id_; } 118 int64_t last_save_offline_id() const { return last_save_offline_id_; }
112 119
113 SavePageResult last_save_result() const { 120 SavePageResult last_save_result() const {
114 return last_save_result_; 121 return last_save_result_;
115 } 122 }
116 123
117 DeletePageResult last_delete_result() const { 124 DeletePageResult last_delete_result() const {
118 return last_delete_result_; 125 return last_delete_result_;
(...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after
515 522
516 // Save another page. 523 // Save another page.
517 SavePage(kTestUrl2, kTestPageBookmarkId2); 524 SavePage(kTestUrl2, kTestPageBookmarkId2);
518 int64_t offline2 = last_save_offline_id(); 525 int64_t offline2 = last_save_offline_id();
519 EXPECT_EQ(SavePageResult::SUCCESS, last_save_result()); 526 EXPECT_EQ(SavePageResult::SUCCESS, last_save_result());
520 EXPECT_EQ(2u, store->GetAllPages().size()); 527 EXPECT_EQ(2u, store->GetAllPages().size());
521 528
522 ResetResults(); 529 ResetResults();
523 530
524 // Delete one page. 531 // Delete one page.
525 model()->DeletePageByOfflineId( 532 DeletePage(offline1,
526 offline1, 533 base::Bind(&OfflinePageModelTest::OnDeletePageDone, AsWeakPtr()));
527 base::Bind(&OfflinePageModelTest::OnDeletePageDone, AsWeakPtr()));
528 534
529 PumpLoop(); 535 PumpLoop();
530 536
531 EXPECT_EQ(last_deleted_offline_id(), offline1); 537 EXPECT_EQ(last_deleted_offline_id(), offline1);
532 EXPECT_EQ(last_deleted_client_id(), kTestPageBookmarkId1); 538 EXPECT_EQ(last_deleted_client_id(), kTestPageBookmarkId1);
533 EXPECT_EQ(DeletePageResult::SUCCESS, last_delete_result()); 539 EXPECT_EQ(DeletePageResult::SUCCESS, last_delete_result());
534 ASSERT_EQ(1u, store->GetAllPages().size()); 540 ASSERT_EQ(1u, store->GetAllPages().size());
535 EXPECT_EQ(kTestUrl2, store->GetAllPages()[0].url); 541 EXPECT_EQ(kTestUrl2, store->GetAllPages()[0].url);
536 542
537 // Delete another page. 543 // Delete another page.
538 model()->DeletePageByOfflineId( 544 DeletePage(offline2,
539 offline2, 545 base::Bind(&OfflinePageModelTest::OnDeletePageDone, AsWeakPtr()));
540 base::Bind(&OfflinePageModelTest::OnDeletePageDone, AsWeakPtr()));
541 546
542 ResetResults(); 547 ResetResults();
543 548
544 PumpLoop(); 549 PumpLoop();
545 550
546 EXPECT_EQ(last_deleted_offline_id(), offline2); 551 EXPECT_EQ(last_deleted_offline_id(), offline2);
547 EXPECT_EQ(last_deleted_client_id(), kTestPageBookmarkId2); 552 EXPECT_EQ(last_deleted_client_id(), kTestPageBookmarkId2);
548 EXPECT_EQ(DeletePageResult::SUCCESS, last_delete_result()); 553 EXPECT_EQ(DeletePageResult::SUCCESS, last_delete_result());
549 EXPECT_EQ(0u, store->GetAllPages().size()); 554 EXPECT_EQ(0u, store->GetAllPages().size());
550 } 555 }
551 556
552 TEST_F(OfflinePageModelTest, DeletePageNotFound) { 557 TEST_F(OfflinePageModelTest, DeletePageNotFound) {
553 model()->DeletePageByOfflineId( 558 DeletePage(1234LL,
554 1234LL, base::Bind(&OfflinePageModelTest::OnDeletePageDone, AsWeakPtr())); 559 base::Bind(&OfflinePageModelTest::OnDeletePageDone, AsWeakPtr()));
555 EXPECT_EQ(DeletePageResult::NOT_FOUND, last_delete_result()); 560 EXPECT_EQ(DeletePageResult::NOT_FOUND, last_delete_result());
556 } 561 }
557 562
558 TEST_F(OfflinePageModelTest, DeletePageStoreFailureOnRemove) { 563 TEST_F(OfflinePageModelTest, DeletePageStoreFailureOnRemove) {
559 // Save a page. 564 // Save a page.
560 SavePage(kTestUrl, kTestPageBookmarkId1); 565 SavePage(kTestUrl, kTestPageBookmarkId1);
561 int64_t offline_id = last_save_offline_id(); 566 int64_t offline_id = last_save_offline_id();
562 ResetResults(); 567 ResetResults();
563 568
564 // Try to delete this page. 569 // Try to delete this page.
565 GetStore()->set_test_scenario( 570 GetStore()->set_test_scenario(
566 OfflinePageTestStore::TestScenario::REMOVE_FAILED); 571 OfflinePageTestStore::TestScenario::REMOVE_FAILED);
567 model()->DeletePageByOfflineId( 572 DeletePage(offline_id,
568 offline_id, 573 base::Bind(&OfflinePageModelTest::OnDeletePageDone, AsWeakPtr()));
569 base::Bind(&OfflinePageModelTest::OnDeletePageDone, AsWeakPtr()));
570 PumpLoop(); 574 PumpLoop();
571 EXPECT_EQ(DeletePageResult::STORE_FAILURE, last_delete_result()); 575 EXPECT_EQ(DeletePageResult::STORE_FAILURE, last_delete_result());
572 } 576 }
573 577
574 TEST_F(OfflinePageModelTest, DetectThatOfflineCopyIsMissing) { 578 TEST_F(OfflinePageModelTest, DetectThatOfflineCopyIsMissing) {
575 // Save a page. 579 // Save a page.
576 SavePage(kTestUrl, kTestPageBookmarkId1); 580 SavePage(kTestUrl, kTestPageBookmarkId1);
577 int64_t offline_id = last_save_offline_id(); 581 int64_t offline_id = last_save_offline_id();
578 582
579 ResetResults(); 583 ResetResults();
(...skipping 452 matching lines...) Expand 10 before | Expand all | Expand 10 after
1032 // Check if feature is correctly enabled by command-line flag. 1036 // Check if feature is correctly enabled by command-line flag.
1033 base::FeatureList::ClearInstanceForTesting(); 1037 base::FeatureList::ClearInstanceForTesting();
1034 scoped_ptr<base::FeatureList> feature_list(new base::FeatureList); 1038 scoped_ptr<base::FeatureList> feature_list(new base::FeatureList);
1035 feature_list->InitializeFromCommandLine( 1039 feature_list->InitializeFromCommandLine(
1036 offline_pages::kOfflinePagesBackgroundLoadingFeature.name, ""); 1040 offline_pages::kOfflinePagesBackgroundLoadingFeature.name, "");
1037 base::FeatureList::SetInstance(std::move(feature_list)); 1041 base::FeatureList::SetInstance(std::move(feature_list));
1038 EXPECT_TRUE(offline_pages::IsOfflinePagesBackgroundLoadingEnabled()); 1042 EXPECT_TRUE(offline_pages::IsOfflinePagesBackgroundLoadingEnabled());
1039 } 1043 }
1040 1044
1041 } // namespace offline_pages 1045 } // namespace offline_pages
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698