OLD | NEW |
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 | |
9 #include <algorithm> | 8 #include <algorithm> |
| 9 #include <utility> |
10 | 10 |
11 #include "base/bind.h" | 11 #include "base/bind.h" |
12 #include "base/files/file_util.h" | 12 #include "base/files/file_util.h" |
13 #include "base/files/scoped_temp_dir.h" | 13 #include "base/files/scoped_temp_dir.h" |
14 #include "base/run_loop.h" | 14 #include "base/run_loop.h" |
15 #include "base/single_thread_task_runner.h" | 15 #include "base/single_thread_task_runner.h" |
16 #include "base/strings/utf_string_conversions.h" | 16 #include "base/strings/utf_string_conversions.h" |
17 #include "base/test/test_mock_time_task_runner.h" | 17 #include "base/test/test_mock_time_task_runner.h" |
18 #include "base/thread_task_runner_handle.h" | 18 #include "base/thread_task_runner_handle.h" |
19 #include "base/time/time.h" | 19 #include "base/time/time.h" |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
131 last_save_result_(SavePageResult::CANCELLED), | 131 last_save_result_(SavePageResult::CANCELLED), |
132 last_delete_result_(DeletePageResult::CANCELLED), | 132 last_delete_result_(DeletePageResult::CANCELLED), |
133 last_deleted_bookmark_id_(-1) { | 133 last_deleted_bookmark_id_(-1) { |
134 } | 134 } |
135 | 135 |
136 OfflinePageModelTest::~OfflinePageModelTest() { | 136 OfflinePageModelTest::~OfflinePageModelTest() { |
137 } | 137 } |
138 | 138 |
139 void OfflinePageModelTest::SetUp() { | 139 void OfflinePageModelTest::SetUp() { |
140 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); | 140 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); |
141 model_ = BuildModel(BuildStore().Pass()).Pass(); | 141 model_ = BuildModel(BuildStore()); |
142 model_->AddObserver(this); | 142 model_->AddObserver(this); |
143 PumpLoop(); | 143 PumpLoop(); |
144 } | 144 } |
145 | 145 |
146 void OfflinePageModelTest::TearDown() { | 146 void OfflinePageModelTest::TearDown() { |
147 model_->RemoveObserver(this); | 147 model_->RemoveObserver(this); |
148 model_.reset(); | 148 model_.reset(); |
149 PumpLoop(); | 149 PumpLoop(); |
150 } | 150 } |
151 | 151 |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
190 } | 190 } |
191 | 191 |
192 scoped_ptr<OfflinePageMetadataStore> OfflinePageModelTest::BuildStore() { | 192 scoped_ptr<OfflinePageMetadataStore> OfflinePageModelTest::BuildStore() { |
193 return scoped_ptr<OfflinePageMetadataStore>( | 193 return scoped_ptr<OfflinePageMetadataStore>( |
194 new OfflinePageTestStore(base::ThreadTaskRunnerHandle::Get())); | 194 new OfflinePageTestStore(base::ThreadTaskRunnerHandle::Get())); |
195 } | 195 } |
196 | 196 |
197 scoped_ptr<OfflinePageModel> OfflinePageModelTest::BuildModel( | 197 scoped_ptr<OfflinePageModel> OfflinePageModelTest::BuildModel( |
198 scoped_ptr<OfflinePageMetadataStore> store) { | 198 scoped_ptr<OfflinePageMetadataStore> store) { |
199 return scoped_ptr<OfflinePageModel>(new OfflinePageModel( | 199 return scoped_ptr<OfflinePageModel>(new OfflinePageModel( |
200 store.Pass(), temp_dir_.path(), base::ThreadTaskRunnerHandle::Get())); | 200 std::move(store), temp_dir_.path(), base::ThreadTaskRunnerHandle::Get())); |
201 } | 201 } |
202 | 202 |
203 void OfflinePageModelTest::ResetModel() { | 203 void OfflinePageModelTest::ResetModel() { |
204 model_->RemoveObserver(this); | 204 model_->RemoveObserver(this); |
205 OfflinePageTestStore* old_store = GetStore(); | 205 OfflinePageTestStore* old_store = GetStore(); |
206 scoped_ptr<OfflinePageMetadataStore> new_store( | 206 scoped_ptr<OfflinePageMetadataStore> new_store( |
207 new OfflinePageTestStore(*old_store)); | 207 new OfflinePageTestStore(*old_store)); |
208 model_ = BuildModel(new_store.Pass()).Pass(); | 208 model_ = BuildModel(std::move(new_store)); |
209 model_->AddObserver(this); | 209 model_->AddObserver(this); |
210 PumpLoop(); | 210 PumpLoop(); |
211 } | 211 } |
212 | 212 |
213 void OfflinePageModelTest::PumpLoop() { | 213 void OfflinePageModelTest::PumpLoop() { |
214 task_runner_->RunUntilIdle(); | 214 task_runner_->RunUntilIdle(); |
215 } | 215 } |
216 | 216 |
217 void OfflinePageModelTest::FastForwardBy(base::TimeDelta delta) { | 217 void OfflinePageModelTest::FastForwardBy(base::TimeDelta delta) { |
218 task_runner_->FastForwardBy(delta); | 218 task_runner_->FastForwardBy(delta); |
(...skipping 13 matching lines...) Expand all Loading... |
232 SavePageWithArchiverResult( | 232 SavePageWithArchiverResult( |
233 url, | 233 url, |
234 bookmark_id, | 234 bookmark_id, |
235 OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED); | 235 OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED); |
236 } | 236 } |
237 | 237 |
238 void OfflinePageModelTest::SavePageWithArchiverResult( | 238 void OfflinePageModelTest::SavePageWithArchiverResult( |
239 const GURL& url, | 239 const GURL& url, |
240 int64_t bookmark_id, | 240 int64_t bookmark_id, |
241 OfflinePageArchiver::ArchiverResult result) { | 241 OfflinePageArchiver::ArchiverResult result) { |
242 scoped_ptr<OfflinePageTestArchiver> archiver( | 242 scoped_ptr<OfflinePageTestArchiver> archiver(BuildArchiver(url, result)); |
243 BuildArchiver(url, result).Pass()); | |
244 model()->SavePage( | 243 model()->SavePage( |
245 url, bookmark_id, archiver.Pass(), | 244 url, bookmark_id, std::move(archiver), |
246 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr())); | 245 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr())); |
247 PumpLoop(); | 246 PumpLoop(); |
248 } | 247 } |
249 | 248 |
250 TEST_F(OfflinePageModelTest, SavePageSuccessful) { | 249 TEST_F(OfflinePageModelTest, SavePageSuccessful) { |
251 EXPECT_FALSE(model()->HasOfflinePages()); | 250 EXPECT_FALSE(model()->HasOfflinePages()); |
252 SavePage(kTestUrl, kTestPageBookmarkId1); | 251 SavePage(kTestUrl, kTestPageBookmarkId1); |
253 EXPECT_TRUE(model()->HasOfflinePages()); | 252 EXPECT_TRUE(model()->HasOfflinePages()); |
254 | 253 |
255 OfflinePageTestStore* store = GetStore(); | 254 OfflinePageTestStore* store = GetStore(); |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
301 SavePageWithArchiverResult( | 300 SavePageWithArchiverResult( |
302 kTestUrl, | 301 kTestUrl, |
303 kTestPageBookmarkId1, | 302 kTestPageBookmarkId1, |
304 OfflinePageArchiver::ArchiverResult::ERROR_ARCHIVE_CREATION_FAILED); | 303 OfflinePageArchiver::ArchiverResult::ERROR_ARCHIVE_CREATION_FAILED); |
305 EXPECT_EQ(SavePageResult::ARCHIVE_CREATION_FAILED, last_save_result()); | 304 EXPECT_EQ(SavePageResult::ARCHIVE_CREATION_FAILED, last_save_result()); |
306 } | 305 } |
307 | 306 |
308 TEST_F(OfflinePageModelTest, SavePageOfflineArchiverReturnedWrongUrl) { | 307 TEST_F(OfflinePageModelTest, SavePageOfflineArchiverReturnedWrongUrl) { |
309 scoped_ptr<OfflinePageTestArchiver> archiver( | 308 scoped_ptr<OfflinePageTestArchiver> archiver( |
310 BuildArchiver(GURL("http://other.random.url.com"), | 309 BuildArchiver(GURL("http://other.random.url.com"), |
311 OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED) | 310 OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); |
312 .Pass()); | |
313 model()->SavePage( | 311 model()->SavePage( |
314 kTestUrl, kTestPageBookmarkId1, archiver.Pass(), | 312 kTestUrl, kTestPageBookmarkId1, std::move(archiver), |
315 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr())); | 313 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr())); |
316 PumpLoop(); | 314 PumpLoop(); |
317 EXPECT_EQ(SavePageResult::ARCHIVE_CREATION_FAILED, last_save_result()); | 315 EXPECT_EQ(SavePageResult::ARCHIVE_CREATION_FAILED, last_save_result()); |
318 } | 316 } |
319 | 317 |
320 TEST_F(OfflinePageModelTest, SavePageOfflineCreationStoreWriteFailure) { | 318 TEST_F(OfflinePageModelTest, SavePageOfflineCreationStoreWriteFailure) { |
321 GetStore()->set_test_scenario( | 319 GetStore()->set_test_scenario( |
322 OfflinePageTestStore::TestScenario::WRITE_FAILED); | 320 OfflinePageTestStore::TestScenario::WRITE_FAILED); |
323 SavePage(kTestUrl, kTestPageBookmarkId1); | 321 SavePage(kTestUrl, kTestPageBookmarkId1); |
324 EXPECT_EQ(SavePageResult::STORE_FAILURE, last_save_result()); | 322 EXPECT_EQ(SavePageResult::STORE_FAILURE, last_save_result()); |
325 } | 323 } |
326 | 324 |
327 TEST_F(OfflinePageModelTest, SavePageLocalFileFailed) { | 325 TEST_F(OfflinePageModelTest, SavePageLocalFileFailed) { |
328 // Don't create archiver since it will not be needed for pages that are not | 326 // Don't create archiver since it will not be needed for pages that are not |
329 // going to be saved. | 327 // going to be saved. |
330 model()->SavePage( | 328 model()->SavePage( |
331 kFileUrl, kTestPageBookmarkId1, scoped_ptr<OfflinePageTestArchiver>(), | 329 kFileUrl, kTestPageBookmarkId1, scoped_ptr<OfflinePageTestArchiver>(), |
332 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr())); | 330 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr())); |
333 PumpLoop(); | 331 PumpLoop(); |
334 EXPECT_EQ(SavePageResult::SKIPPED, last_save_result()); | 332 EXPECT_EQ(SavePageResult::SKIPPED, last_save_result()); |
335 } | 333 } |
336 | 334 |
337 TEST_F(OfflinePageModelTest, SavePageOfflineArchiverTwoPages) { | 335 TEST_F(OfflinePageModelTest, SavePageOfflineArchiverTwoPages) { |
338 scoped_ptr<OfflinePageTestArchiver> archiver( | 336 scoped_ptr<OfflinePageTestArchiver> archiver(BuildArchiver( |
339 BuildArchiver(kTestUrl, | 337 kTestUrl, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); |
340 OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED) | |
341 .Pass()); | |
342 // archiver_ptr will be valid until after first PumpLoop() call after | 338 // archiver_ptr will be valid until after first PumpLoop() call after |
343 // CompleteCreateArchive() is called. | 339 // CompleteCreateArchive() is called. |
344 OfflinePageTestArchiver* archiver_ptr = archiver.get(); | 340 OfflinePageTestArchiver* archiver_ptr = archiver.get(); |
345 archiver_ptr->set_delayed(true); | 341 archiver_ptr->set_delayed(true); |
346 model()->SavePage( | 342 model()->SavePage( |
347 kTestUrl, kTestPageBookmarkId1, archiver.Pass(), | 343 kTestUrl, kTestPageBookmarkId1, std::move(archiver), |
348 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr())); | 344 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr())); |
349 EXPECT_TRUE(archiver_ptr->create_archive_called()); | 345 EXPECT_TRUE(archiver_ptr->create_archive_called()); |
350 | 346 |
351 // Request to save another page. | 347 // Request to save another page. |
352 SavePage(kTestUrl2, kTestPageBookmarkId2); | 348 SavePage(kTestUrl2, kTestPageBookmarkId2); |
353 | 349 |
354 OfflinePageTestStore* store = GetStore(); | 350 OfflinePageTestStore* store = GetStore(); |
355 | 351 |
356 EXPECT_EQ(kTestUrl2, store->last_saved_page().url); | 352 EXPECT_EQ(kTestUrl2, store->last_saved_page().url); |
357 EXPECT_EQ(kTestPageBookmarkId2, store->last_saved_page().bookmark_id); | 353 EXPECT_EQ(kTestPageBookmarkId2, store->last_saved_page().bookmark_id); |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
432 model()->UndoPageDeletion(kTestPageBookmarkId1); | 428 model()->UndoPageDeletion(kTestPageBookmarkId1); |
433 PumpLoop(); | 429 PumpLoop(); |
434 | 430 |
435 // GetAllPages will now return the restored page. | 431 // GetAllPages will now return the restored page. |
436 const std::vector<OfflinePageItem>& offline_pages_after_undo = | 432 const std::vector<OfflinePageItem>& offline_pages_after_undo = |
437 model()->GetAllPages(); | 433 model()->GetAllPages(); |
438 EXPECT_EQ(1UL, offline_pages_after_undo.size()); | 434 EXPECT_EQ(1UL, offline_pages_after_undo.size()); |
439 } | 435 } |
440 | 436 |
441 TEST_F(OfflinePageModelTest, FinalizePageDeletion) { | 437 TEST_F(OfflinePageModelTest, FinalizePageDeletion) { |
442 scoped_ptr<OfflinePageTestArchiver> archiver( | 438 scoped_ptr<OfflinePageTestArchiver> archiver(BuildArchiver( |
443 BuildArchiver(kTestUrl, | 439 kTestUrl, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); |
444 OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED) | |
445 .Pass()); | |
446 model()->SavePage( | 440 model()->SavePage( |
447 kTestUrl, kTestPageBookmarkId1, archiver.Pass(), | 441 kTestUrl, kTestPageBookmarkId1, std::move(archiver), |
448 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr())); | 442 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr())); |
449 PumpLoop(); | 443 PumpLoop(); |
450 | 444 |
451 // Mark the page for deletion. | 445 // Mark the page for deletion. |
452 model()->MarkPageForDeletion( | 446 model()->MarkPageForDeletion( |
453 kTestPageBookmarkId1, | 447 kTestPageBookmarkId1, |
454 base::Bind(&OfflinePageModelTest::OnDeletePageDone, AsWeakPtr())); | 448 base::Bind(&OfflinePageModelTest::OnDeletePageDone, AsWeakPtr())); |
455 PumpLoop(); | 449 PumpLoop(); |
456 | 450 |
457 EXPECT_EQ(1UL, GetStore()->GetAllPages().size()); | 451 EXPECT_EQ(1UL, GetStore()->GetAllPages().size()); |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
574 PumpLoop(); | 568 PumpLoop(); |
575 | 569 |
576 EXPECT_EQ(last_deleted_bookmark_id(), kTestPageBookmarkId1); | 570 EXPECT_EQ(last_deleted_bookmark_id(), kTestPageBookmarkId1); |
577 EXPECT_EQ(0UL, model()->GetAllPages().size()); | 571 EXPECT_EQ(0UL, model()->GetAllPages().size()); |
578 } | 572 } |
579 | 573 |
580 TEST_F(OfflinePageModelTest, DeleteMultiplePages) { | 574 TEST_F(OfflinePageModelTest, DeleteMultiplePages) { |
581 OfflinePageTestStore* store = GetStore(); | 575 OfflinePageTestStore* store = GetStore(); |
582 | 576 |
583 // Save 3 pages. | 577 // Save 3 pages. |
584 scoped_ptr<OfflinePageTestArchiver> archiver( | 578 scoped_ptr<OfflinePageTestArchiver> archiver(BuildArchiver( |
585 BuildArchiver(kTestUrl, | 579 kTestUrl, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); |
586 OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED) | |
587 .Pass()); | |
588 model()->SavePage( | 580 model()->SavePage( |
589 kTestUrl, kTestPageBookmarkId1, archiver.Pass(), | 581 kTestUrl, kTestPageBookmarkId1, std::move(archiver), |
590 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr())); | 582 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr())); |
591 PumpLoop(); | 583 PumpLoop(); |
592 | 584 |
593 scoped_ptr<OfflinePageTestArchiver> archiver2( | 585 scoped_ptr<OfflinePageTestArchiver> archiver2(BuildArchiver( |
594 BuildArchiver(kTestUrl2, | 586 kTestUrl2, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); |
595 OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED) | |
596 .Pass()); | |
597 model()->SavePage( | 587 model()->SavePage( |
598 kTestUrl2, kTestPageBookmarkId2, archiver2.Pass(), | 588 kTestUrl2, kTestPageBookmarkId2, std::move(archiver2), |
599 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr())); | 589 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr())); |
600 PumpLoop(); | 590 PumpLoop(); |
601 | 591 |
602 scoped_ptr<OfflinePageTestArchiver> archiver3( | 592 scoped_ptr<OfflinePageTestArchiver> archiver3(BuildArchiver( |
603 BuildArchiver(kTestUrl3, | 593 kTestUrl3, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)); |
604 OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED) | |
605 .Pass()); | |
606 model()->SavePage( | 594 model()->SavePage( |
607 kTestUrl3, kTestPageBookmarkId3, archiver3.Pass(), | 595 kTestUrl3, kTestPageBookmarkId3, std::move(archiver3), |
608 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr())); | 596 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr())); |
609 PumpLoop(); | 597 PumpLoop(); |
610 | 598 |
611 EXPECT_EQ(3u, store->GetAllPages().size()); | 599 EXPECT_EQ(3u, store->GetAllPages().size()); |
612 | 600 |
613 // Delete multiple pages. | 601 // Delete multiple pages. |
614 std::vector<int64_t> ids_to_delete; | 602 std::vector<int64_t> ids_to_delete; |
615 ids_to_delete.push_back(kTestPageBookmarkId2); | 603 ids_to_delete.push_back(kTestPageBookmarkId2); |
616 ids_to_delete.push_back(kTestPageBookmarkId1); | 604 ids_to_delete.push_back(kTestPageBookmarkId1); |
617 ids_to_delete.push_back(23434LL); // Non-existent ID. | 605 ids_to_delete.push_back(23434LL); // Non-existent ID. |
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
810 bookmark_undo_provider_ = provider; | 798 bookmark_undo_provider_ = provider; |
811 } | 799 } |
812 | 800 |
813 void OfflinePageModelBookmarkChangeTest::OnBookmarkNodeRemoved( | 801 void OfflinePageModelBookmarkChangeTest::OnBookmarkNodeRemoved( |
814 bookmarks::BookmarkModel* model, | 802 bookmarks::BookmarkModel* model, |
815 const bookmarks::BookmarkNode* parent, | 803 const bookmarks::BookmarkNode* parent, |
816 int index, | 804 int index, |
817 scoped_ptr<bookmarks::BookmarkNode> node) { | 805 scoped_ptr<bookmarks::BookmarkNode> node) { |
818 removed_bookmark_parent_ = parent; | 806 removed_bookmark_parent_ = parent; |
819 removed_bookmark_index_ = index; | 807 removed_bookmark_index_ = index; |
820 removed_bookmark_node_ = node.Pass(); | 808 removed_bookmark_node_ = std::move(node); |
821 } | 809 } |
822 | 810 |
823 const bookmarks::BookmarkNode* | 811 const bookmarks::BookmarkNode* |
824 OfflinePageModelBookmarkChangeTest::CreateBookmarkNode(const GURL& url) { | 812 OfflinePageModelBookmarkChangeTest::CreateBookmarkNode(const GURL& url) { |
825 const bookmarks::BookmarkNode* bookmark_root = | 813 const bookmarks::BookmarkNode* bookmark_root = |
826 bookmark_model()->bookmark_bar_node(); | 814 bookmark_model()->bookmark_bar_node(); |
827 return bookmark_model()->AddURL(bookmark_root, 0, base::string16(), url); | 815 return bookmark_model()->AddURL(bookmark_root, 0, base::string16(), url); |
828 } | 816 } |
829 | 817 |
830 void OfflinePageModelBookmarkChangeTest::UndoBookmarkRemoval() { | 818 void OfflinePageModelBookmarkChangeTest::UndoBookmarkRemoval() { |
831 bookmark_undo_provider_->RestoreRemovedNode(removed_bookmark_parent_, | 819 bookmark_undo_provider_->RestoreRemovedNode( |
832 removed_bookmark_index_, | 820 removed_bookmark_parent_, removed_bookmark_index_, |
833 removed_bookmark_node_.Pass()); | 821 std::move(removed_bookmark_node_)); |
834 removed_bookmark_parent_ = nullptr; | 822 removed_bookmark_parent_ = nullptr; |
835 removed_bookmark_index_ = -1; | 823 removed_bookmark_index_ = -1; |
836 } | 824 } |
837 | 825 |
838 TEST_F(OfflinePageModelBookmarkChangeTest, ChangeBookmakeTitle) { | 826 TEST_F(OfflinePageModelBookmarkChangeTest, ChangeBookmakeTitle) { |
839 // Creates a bookmark without offline copy. | 827 // Creates a bookmark without offline copy. |
840 const bookmarks::BookmarkNode* bookmark_node = CreateBookmarkNode(kTestUrl); | 828 const bookmarks::BookmarkNode* bookmark_node = CreateBookmarkNode(kTestUrl); |
841 EXPECT_EQ(0UL, model()->GetAllPages().size()); | 829 EXPECT_EQ(0UL, model()->GetAllPages().size()); |
842 | 830 |
843 // Changing the bookmark title should have no effect. | 831 // Changing the bookmark title should have no effect. |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
925 PumpLoop(); | 913 PumpLoop(); |
926 EXPECT_EQ(0UL, model()->GetAllPages().size()); | 914 EXPECT_EQ(0UL, model()->GetAllPages().size()); |
927 | 915 |
928 // The offline copy should be restored upon the bookmark restore. | 916 // The offline copy should be restored upon the bookmark restore. |
929 UndoBookmarkRemoval(); | 917 UndoBookmarkRemoval(); |
930 PumpLoop(); | 918 PumpLoop(); |
931 EXPECT_EQ(1UL, model()->GetAllPages().size()); | 919 EXPECT_EQ(1UL, model()->GetAllPages().size()); |
932 } | 920 } |
933 | 921 |
934 } // namespace offline_pages | 922 } // namespace offline_pages |
OLD | NEW |