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

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

Issue 1367063004: Support undoing offline page deletion (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rework based on undoing bookmark deletion without new ID Created 5 years, 2 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 <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/files/file_util.h" 10 #include "base/files/file_util.h"
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 ResetResults(); 364 ResetResults();
365 365
366 const std::vector<OfflinePageItem>& offline_pages = model()->GetAllPages(); 366 const std::vector<OfflinePageItem>& offline_pages = model()->GetAllPages();
367 367
368 EXPECT_EQ(1UL, offline_pages.size()); 368 EXPECT_EQ(1UL, offline_pages.size());
369 EXPECT_EQ(kTestUrl, offline_pages[0].url); 369 EXPECT_EQ(kTestUrl, offline_pages[0].url);
370 EXPECT_EQ(kTestPageBookmarkId1, offline_pages[0].bookmark_id); 370 EXPECT_EQ(kTestPageBookmarkId1, offline_pages[0].bookmark_id);
371 EXPECT_EQ(archiver_path, offline_pages[0].file_path); 371 EXPECT_EQ(archiver_path, offline_pages[0].file_path);
372 EXPECT_EQ(kTestFileSize, offline_pages[0].file_size); 372 EXPECT_EQ(kTestFileSize, offline_pages[0].file_size);
373 EXPECT_EQ(0, offline_pages[0].access_count); 373 EXPECT_EQ(0, offline_pages[0].access_count);
374 EXPECT_EQ(0, offline_pages[0].flags);
374 } 375 }
375 376
376 TEST_F(OfflinePageModelTest, SavePageOfflineArchiverCancelled) { 377 TEST_F(OfflinePageModelTest, SavePageOfflineArchiverCancelled) {
377 scoped_ptr<OfflinePageTestArchiver> archiver( 378 scoped_ptr<OfflinePageTestArchiver> archiver(
378 BuildArchiver(kTestUrl, 379 BuildArchiver(kTestUrl,
379 OfflinePageArchiver::ArchiverResult::ERROR_CANCELED) 380 OfflinePageArchiver::ArchiverResult::ERROR_CANCELED)
380 .Pass()); 381 .Pass());
381 model()->SavePage( 382 model()->SavePage(
382 kTestUrl, kTestPageBookmarkId1, archiver.Pass(), 383 kTestUrl, kTestPageBookmarkId1, archiver.Pass(),
383 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr())); 384 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr()));
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
498 ResetResults(); 499 ResetResults();
499 500
500 const std::vector<OfflinePageItem>& offline_pages = model()->GetAllPages(); 501 const std::vector<OfflinePageItem>& offline_pages = model()->GetAllPages();
501 502
502 EXPECT_EQ(2UL, offline_pages.size()); 503 EXPECT_EQ(2UL, offline_pages.size());
503 EXPECT_EQ(kTestUrl, offline_pages[0].url); 504 EXPECT_EQ(kTestUrl, offline_pages[0].url);
504 EXPECT_EQ(kTestPageBookmarkId1, offline_pages[0].bookmark_id); 505 EXPECT_EQ(kTestPageBookmarkId1, offline_pages[0].bookmark_id);
505 EXPECT_EQ(archiver_path, offline_pages[0].file_path); 506 EXPECT_EQ(archiver_path, offline_pages[0].file_path);
506 EXPECT_EQ(kTestFileSize, offline_pages[0].file_size); 507 EXPECT_EQ(kTestFileSize, offline_pages[0].file_size);
507 EXPECT_EQ(0, offline_pages[0].access_count); 508 EXPECT_EQ(0, offline_pages[0].access_count);
509 EXPECT_EQ(0, offline_pages[0].flags);
508 EXPECT_EQ(kTestUrl2, offline_pages[1].url); 510 EXPECT_EQ(kTestUrl2, offline_pages[1].url);
509 EXPECT_EQ(kTestPageBookmarkId2, offline_pages[1].bookmark_id); 511 EXPECT_EQ(kTestPageBookmarkId2, offline_pages[1].bookmark_id);
510 EXPECT_EQ(archiver_path2, offline_pages[1].file_path); 512 EXPECT_EQ(archiver_path2, offline_pages[1].file_path);
511 EXPECT_EQ(kTestFileSize, offline_pages[1].file_size); 513 EXPECT_EQ(kTestFileSize, offline_pages[1].file_size);
512 EXPECT_EQ(0, offline_pages[1].access_count); 514 EXPECT_EQ(0, offline_pages[1].access_count);
515 EXPECT_EQ(0, offline_pages[1].flags);
513 } 516 }
514 517
515 TEST_F(OfflinePageModelTest, MarkPageAccessed) { 518 TEST_F(OfflinePageModelTest, MarkPageAccessed) {
516 scoped_ptr<OfflinePageTestArchiver> archiver( 519 scoped_ptr<OfflinePageTestArchiver> archiver(
517 BuildArchiver(kTestUrl, 520 BuildArchiver(kTestUrl,
518 OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED) 521 OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)
519 .Pass()); 522 .Pass());
520 model()->SavePage( 523 model()->SavePage(
521 kTestUrl, kTestPageBookmarkId1, archiver.Pass(), 524 kTestUrl, kTestPageBookmarkId1, archiver.Pass(),
522 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr())); 525 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr()));
523 PumpLoop(); 526 PumpLoop();
524 527
525 // This will increase access_count by one. 528 // This will increase access_count by one.
526 model()->MarkPageAccessed(kTestPageBookmarkId1); 529 model()->MarkPageAccessed(kTestPageBookmarkId1);
527 base::RunLoop().RunUntilIdle(); 530 base::RunLoop().RunUntilIdle();
528 531
529 const std::vector<OfflinePageItem>& offline_pages = model()->GetAllPages(); 532 const std::vector<OfflinePageItem>& offline_pages = model()->GetAllPages();
530 533
531 EXPECT_EQ(1UL, offline_pages.size()); 534 EXPECT_EQ(1UL, offline_pages.size());
532 EXPECT_EQ(kTestUrl, offline_pages[0].url); 535 EXPECT_EQ(kTestUrl, offline_pages[0].url);
533 EXPECT_EQ(kTestPageBookmarkId1, offline_pages[0].bookmark_id); 536 EXPECT_EQ(kTestPageBookmarkId1, offline_pages[0].bookmark_id);
534 EXPECT_EQ(kTestFileSize, offline_pages[0].file_size); 537 EXPECT_EQ(kTestFileSize, offline_pages[0].file_size);
535 EXPECT_EQ(1, offline_pages[0].access_count); 538 EXPECT_EQ(1, offline_pages[0].access_count);
536 } 539 }
537 540
541 TEST_F(OfflinePageModelTest, MarkPageForDeletion) {
542 scoped_ptr<OfflinePageTestArchiver> archiver(
543 BuildArchiver(kTestUrl,
544 OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED)
545 .Pass());
546 model()->SavePage(
547 kTestUrl, kTestPageBookmarkId1, archiver.Pass(),
548 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr()));
549 PumpLoop();
550
551 // This will increase access_count by one.
552 model()->MarkPageForDeletion(
553 kTestPageBookmarkId1,
554 base::Bind(&OfflinePageModelTest::OnDeletePageDone, AsWeakPtr()));
555 PumpLoop();
556
557 // GetAllPages will not return the page that is marked for deletion.
558 const std::vector<OfflinePageItem>& offline_pages = model()->GetAllPages();
559 EXPECT_EQ(0UL, offline_pages.size());
fgorski 2015/10/12 20:59:52 Can you add a piece of test for when the bookmark
jianli 2015/10/12 23:33:34 Done.
560 }
561
538 TEST_F(OfflinePageModelTest, GetAllPagesStoreEmpty) { 562 TEST_F(OfflinePageModelTest, GetAllPagesStoreEmpty) {
539 const std::vector<OfflinePageItem>& offline_pages = model()->GetAllPages(); 563 const std::vector<OfflinePageItem>& offline_pages = model()->GetAllPages();
540 564
541 EXPECT_EQ(0UL, offline_pages.size()); 565 EXPECT_EQ(0UL, offline_pages.size());
542 } 566 }
543 567
544 TEST_F(OfflinePageModelTest, GetAllPagesStoreFailure) { 568 TEST_F(OfflinePageModelTest, GetAllPagesStoreFailure) {
545 GetStore()->set_test_scenario( 569 GetStore()->set_test_scenario(
546 OfflinePageTestStore::TestScenario::LOAD_FAILED); 570 OfflinePageTestStore::TestScenario::LOAD_FAILED);
547 const std::vector<OfflinePageItem>& offline_pages = model()->GetAllPages(); 571 const std::vector<OfflinePageItem>& offline_pages = model()->GetAllPages();
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
750 // has not been in the store long enough. 774 // has not been in the store long enough.
751 std::vector<OfflinePageItem> pages_to_clean_up = model()->GetPagesToCleanUp(); 775 std::vector<OfflinePageItem> pages_to_clean_up = model()->GetPagesToCleanUp();
752 EXPECT_EQ(2UL, pages_to_clean_up.size()); 776 EXPECT_EQ(2UL, pages_to_clean_up.size());
753 EXPECT_EQ(kTestUrl, pages_to_clean_up[0].url); 777 EXPECT_EQ(kTestUrl, pages_to_clean_up[0].url);
754 EXPECT_EQ(kTestPageBookmarkId1, pages_to_clean_up[0].bookmark_id); 778 EXPECT_EQ(kTestPageBookmarkId1, pages_to_clean_up[0].bookmark_id);
755 EXPECT_EQ(kTestUrl2, pages_to_clean_up[1].url); 779 EXPECT_EQ(kTestUrl2, pages_to_clean_up[1].url);
756 EXPECT_EQ(kTestPageBookmarkId2, pages_to_clean_up[1].bookmark_id); 780 EXPECT_EQ(kTestPageBookmarkId2, pages_to_clean_up[1].bookmark_id);
757 } 781 }
758 782
759 } // namespace offline_pages 783 } // namespace offline_pages
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698