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

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

Issue 1902593006: [Offline pages] Removing undoing of deleting offline pages (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@bookmarks-out
Patch Set: 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
« no previous file with comments | « components/offline_pages/offline_page_model.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 450 matching lines...) Expand 10 before | Expand all | Expand 10 after
461 461
462 const std::vector<OfflinePageItem>& offline_pages = GetAllPages(); 462 const std::vector<OfflinePageItem>& offline_pages = GetAllPages();
463 463
464 EXPECT_EQ(1UL, offline_pages.size()); 464 EXPECT_EQ(1UL, offline_pages.size());
465 EXPECT_EQ(kTestUrl, offline_pages[0].url); 465 EXPECT_EQ(kTestUrl, offline_pages[0].url);
466 EXPECT_EQ(kTestClientId1, offline_pages[0].client_id); 466 EXPECT_EQ(kTestClientId1, offline_pages[0].client_id);
467 EXPECT_EQ(kTestFileSize, offline_pages[0].file_size); 467 EXPECT_EQ(kTestFileSize, offline_pages[0].file_size);
468 EXPECT_EQ(1, offline_pages[0].access_count); 468 EXPECT_EQ(1, offline_pages[0].access_count);
469 } 469 }
470 470
471 TEST_F(OfflinePageModelTest, MarkPageForDeletion) {
472 SavePage(kTestUrl, kTestClientId1);
473
474 GURL offline_url = GetAllPages().begin()->GetOfflineURL();
475
476 // Delete the page with undo tiggerred.
477 model()->MarkPageForDeletion(
478 last_save_offline_id(),
479 base::Bind(&OfflinePageModelTest::OnDeletePageDone, AsWeakPtr()));
480 PumpLoop();
481
482 // GetAllPages will not return the page that is marked for deletion.
483 const std::vector<OfflinePageItem>& offline_pages = GetAllPages();
484 EXPECT_EQ(0UL, offline_pages.size());
485
486 EXPECT_FALSE(HasPages(kTestClientNamespace));
487 EXPECT_EQ(nullptr, model()->GetPageByOnlineURL(kTestUrl));
488 EXPECT_EQ(nullptr, model()->GetPageByOfflineId(last_save_offline_id()));
489 EXPECT_EQ(nullptr, model()->GetPageByOfflineURL(offline_url));
490
491 // Undo the deletion.
492 model()->UndoPageDeletion(last_save_offline_id());
493 PumpLoop();
494
495 // GetAllPages will now return the restored page.
496 const std::vector<OfflinePageItem>& offline_pages_after_undo = GetAllPages();
497 EXPECT_EQ(1UL, offline_pages_after_undo.size());
498 }
499
500 TEST_F(OfflinePageModelTest, FinalizePageDeletion) {
501 scoped_ptr<OfflinePageTestArchiver> archiver(BuildArchiver(
502 kTestUrl, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED));
503 model()->SavePage(
504 kTestUrl, kTestClientId1, std::move(archiver),
505 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr()));
506 PumpLoop();
507
508 // Mark the page for deletion.
509 model()->MarkPageForDeletion(
510 last_save_offline_id(),
511 base::Bind(&OfflinePageModelTest::OnDeletePageDone, AsWeakPtr()));
512 PumpLoop();
513
514 EXPECT_EQ(1UL, GetStore()->GetAllPages().size());
515
516 // Fast forward to trigger the page deletion.
517 FastForwardBy(OfflinePageModel::GetFinalDeletionDelayForTesting());
518
519 EXPECT_EQ(0UL, GetStore()->GetAllPages().size());
520 }
521
522 TEST_F(OfflinePageModelTest, SavePageAfterMarkingPageForDeletion) {
523 scoped_ptr<OfflinePageTestArchiver> archiver(BuildArchiver(
524 kTestUrl, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED));
525 model()->SavePage(
526 kTestUrl, kTestClientId1, std::move(archiver),
527 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr()));
528 PumpLoop();
529
530 // Mark the page for deletion.
531 model()->MarkPageForDeletion(
532 last_save_offline_id(),
533 base::Bind(&OfflinePageModelTest::OnDeletePageDone, AsWeakPtr()));
534 PumpLoop();
535
536 EXPECT_EQ(1UL, GetStore()->GetAllPages().size());
537
538 // Re-save the same page.
539 scoped_ptr<OfflinePageTestArchiver> archiver2(BuildArchiver(
540 kTestUrl, OfflinePageArchiver::ArchiverResult::SUCCESSFULLY_CREATED));
541 model()->SavePage(
542 kTestUrl, kTestClientId1, std::move(archiver2),
543 base::Bind(&OfflinePageModelTest::OnSavePageDone, AsWeakPtr()));
544
545 // Fast forward to trigger the page cleanup.
546 FastForwardBy(OfflinePageModel::GetFinalDeletionDelayForTesting());
547
548 // The re-saved page should still exist.
549 const std::vector<OfflinePageItem>& offline_pages = GetAllPages();
550 ASSERT_EQ(1UL, offline_pages.size());
551 EXPECT_EQ(kTestUrl, offline_pages[0].url);
552 EXPECT_EQ(kTestClientId1, offline_pages[0].client_id);
553 EXPECT_EQ(kTestFileSize, offline_pages[0].file_size);
554 EXPECT_EQ(0, offline_pages[0].access_count);
555 }
556
557 TEST_F(OfflinePageModelTest, GetAllPagesStoreEmpty) { 471 TEST_F(OfflinePageModelTest, GetAllPagesStoreEmpty) {
558 const std::vector<OfflinePageItem>& offline_pages = GetAllPages(); 472 const std::vector<OfflinePageItem>& offline_pages = GetAllPages();
559 473
560 EXPECT_EQ(0UL, offline_pages.size()); 474 EXPECT_EQ(0UL, offline_pages.size());
561 } 475 }
562 476
563 TEST_F(OfflinePageModelTest, GetAllPagesStoreFailure) { 477 TEST_F(OfflinePageModelTest, GetAllPagesStoreFailure) {
564 GetStore()->set_test_scenario( 478 GetStore()->set_test_scenario(
565 OfflinePageTestStore::TestScenario::LOAD_FAILED); 479 OfflinePageTestStore::TestScenario::LOAD_FAILED);
566 const std::vector<OfflinePageItem>& offline_pages = GetAllPages(); 480 const std::vector<OfflinePageItem>& offline_pages = GetAllPages();
(...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after
963 // Check if feature is correctly enabled by command-line flag. 877 // Check if feature is correctly enabled by command-line flag.
964 base::FeatureList::ClearInstanceForTesting(); 878 base::FeatureList::ClearInstanceForTesting();
965 scoped_ptr<base::FeatureList> feature_list(new base::FeatureList); 879 scoped_ptr<base::FeatureList> feature_list(new base::FeatureList);
966 feature_list->InitializeFromCommandLine( 880 feature_list->InitializeFromCommandLine(
967 offline_pages::kOfflinePagesBackgroundLoadingFeature.name, ""); 881 offline_pages::kOfflinePagesBackgroundLoadingFeature.name, "");
968 base::FeatureList::SetInstance(std::move(feature_list)); 882 base::FeatureList::SetInstance(std::move(feature_list));
969 EXPECT_TRUE(offline_pages::IsOfflinePagesBackgroundLoadingEnabled()); 883 EXPECT_TRUE(offline_pages::IsOfflinePagesBackgroundLoadingEnabled());
970 } 884 }
971 885
972 } // namespace offline_pages 886 } // namespace offline_pages
OLDNEW
« no previous file with comments | « components/offline_pages/offline_page_model.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698