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

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: 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) {
fgorski 2015/09/25 20:30:50 is there a test covering the actual deletion after
jianli 2015/09/25 20:52:36 It is hard to test this without switching to using
fgorski 2015/09/25 21:23:56 ok, please add a task for that and we can do it in
jianli 2015/10/09 23:26:26 Done.
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 }
560
538 TEST_F(OfflinePageModelTest, GetAllPagesStoreEmpty) { 561 TEST_F(OfflinePageModelTest, GetAllPagesStoreEmpty) {
539 const std::vector<OfflinePageItem>& offline_pages = model()->GetAllPages(); 562 const std::vector<OfflinePageItem>& offline_pages = model()->GetAllPages();
540 563
541 EXPECT_EQ(0UL, offline_pages.size()); 564 EXPECT_EQ(0UL, offline_pages.size());
542 } 565 }
543 566
544 TEST_F(OfflinePageModelTest, GetAllPagesStoreFailure) { 567 TEST_F(OfflinePageModelTest, GetAllPagesStoreFailure) {
545 GetStore()->set_test_scenario( 568 GetStore()->set_test_scenario(
546 OfflinePageTestStore::TestScenario::LOAD_FAILED); 569 OfflinePageTestStore::TestScenario::LOAD_FAILED);
547 const std::vector<OfflinePageItem>& offline_pages = model()->GetAllPages(); 570 const std::vector<OfflinePageItem>& offline_pages = model()->GetAllPages();
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
747 // has not been in the store long enough. 770 // has not been in the store long enough.
748 std::vector<OfflinePageItem> pages_to_clean_up = model()->GetPagesToCleanUp(); 771 std::vector<OfflinePageItem> pages_to_clean_up = model()->GetPagesToCleanUp();
749 EXPECT_EQ(2UL, pages_to_clean_up.size()); 772 EXPECT_EQ(2UL, pages_to_clean_up.size());
750 EXPECT_EQ(kTestUrl, pages_to_clean_up[0].url); 773 EXPECT_EQ(kTestUrl, pages_to_clean_up[0].url);
751 EXPECT_EQ(kTestPageBookmarkId1, pages_to_clean_up[0].bookmark_id); 774 EXPECT_EQ(kTestPageBookmarkId1, pages_to_clean_up[0].bookmark_id);
752 EXPECT_EQ(kTestUrl2, pages_to_clean_up[1].url); 775 EXPECT_EQ(kTestUrl2, pages_to_clean_up[1].url);
753 EXPECT_EQ(kTestPageBookmarkId2, pages_to_clean_up[1].bookmark_id); 776 EXPECT_EQ(kTestPageBookmarkId2, pages_to_clean_up[1].bookmark_id);
754 } 777 }
755 778
756 } // namespace offline_pages 779 } // namespace offline_pages
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698