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

Unified Diff: components/offline_pages/core/offline_page_model_impl_unittest.cc

Issue 2889663004: [DO NOT COMMIT][Offline Pages] Moving Offline Page Cache to cache directory.
Patch Set: again? Created 3 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: components/offline_pages/core/offline_page_model_impl_unittest.cc
diff --git a/components/offline_pages/core/offline_page_model_impl_unittest.cc b/components/offline_pages/core/offline_page_model_impl_unittest.cc
index 826638232cae804ab86532093384c83f1d170924..ad812a828465bb032fd4863b36aa46ea432dcf58 100644
--- a/components/offline_pages/core/offline_page_model_impl_unittest.cc
+++ b/components/offline_pages/core/offline_page_model_impl_unittest.cc
@@ -38,6 +38,8 @@
namespace offline_pages {
+using LifetimeType = LifetimePolicy::LifetimeType;
+
namespace {
const char kOriginalTabNamespace[] = "original_tab_testing_namespace";
const char kTestClientNamespace[] = "default";
@@ -192,10 +194,18 @@ class OfflinePageModelImplTest
const base::HistogramTester& histograms() const { return histogram_tester_; }
+ base::FilePath temp_dir_path() const { return temp_dir_.GetPath(); }
+
+ base::FilePath persistent_dir_path() const {
+ return persistent_dir_.GetPath();
+ }
+
private:
scoped_refptr<base::TestMockTimeTaskRunner> task_runner_;
base::ThreadTaskRunnerHandle task_runner_handle_;
base::ScopedTempDir temp_dir_;
+ base::ScopedTempDir persistent_dir_;
+ ArchiveDirectories archive_dirs_;
std::unique_ptr<OfflinePageModelImpl> model_;
SavePageResult last_save_result_;
@@ -224,14 +234,15 @@ OfflinePageModelImplTest::~OfflinePageModelImplTest() {}
void OfflinePageModelImplTest::SetUp() {
ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
+ ASSERT_TRUE(persistent_dir_.CreateUniqueTempDir());
+ archive_dirs_[LifetimeType::TEMPORARY] = temp_dir_.GetPath();
+ archive_dirs_[LifetimeType::PERSISTENT] = persistent_dir_.GetPath();
model_ = BuildModel(BuildStore());
model_->GetPolicyController()->AddPolicyForTest(
- kOriginalTabNamespace,
- OfflinePageClientPolicyBuilder(
- kOriginalTabNamespace,
- offline_pages::LifetimePolicy::LifetimeType::TEMPORARY,
- kUnlimitedPages, kUnlimitedPages)
- .SetIsOnlyShownInOriginalTab(true));
+ kOriginalTabNamespace, OfflinePageClientPolicyBuilder(
+ kOriginalTabNamespace, LifetimeType::TEMPORARY,
+ kUnlimitedPages, kUnlimitedPages)
+ .SetIsOnlyShownInOriginalTab(true));
model_->AddObserver(this);
PumpLoop();
@@ -299,9 +310,8 @@ OfflinePageModelImplTest::BuildStore() {
std::unique_ptr<OfflinePageModelImpl> OfflinePageModelImplTest::BuildModel(
std::unique_ptr<OfflinePageMetadataStore> store) {
- return std::unique_ptr<OfflinePageModelImpl>(
- new OfflinePageModelImpl(std::move(store), temp_dir_.GetPath(),
- base::ThreadTaskRunnerHandle::Get()));
+ return std::unique_ptr<OfflinePageModelImpl>(new OfflinePageModelImpl(
+ std::move(store), archive_dirs_, base::ThreadTaskRunnerHandle::Get()));
}
void OfflinePageModelImplTest::ResetModel() {
@@ -1295,6 +1305,42 @@ TEST_F(OfflinePageModelImplTest, GetPagesMatchingQuery) {
EXPECT_EQ(kTestUrl2, offline_pages[0].original_url);
}
+TEST_F(OfflinePageModelImplTest, CheckPagesSavedInSeparateDirs) {
+ // Save a temporary page.
+ SavePage(kTestUrl, kTestClientId1);
+ int64_t temp_id = last_save_offline_id();
+ // Save a persistent page.
+ SavePage(kTestUrl2, kTestUserRequestedClientId);
+ int64_t persistent_id = last_save_offline_id();
+
+ std::unique_ptr<OfflinePageItem> temp_page = GetPageByOfflineId(temp_id);
+ std::unique_ptr<OfflinePageItem> persistent_page =
+ GetPageByOfflineId(persistent_id);
+
+ ASSERT_TRUE(temp_page);
+ ASSERT_TRUE(persistent_page);
+
+ base::FilePath temp_page_path = temp_page->file_path;
+ base::FilePath persistent_page_path = persistent_page->file_path;
+
+ LOG(ERROR) << "TESTLOG! temp_dir_path: " << temp_dir_path().value();
+ LOG(ERROR) << "TESTLOG! pers_dir_path: " << persistent_dir_path().value();
+ LOG(ERROR) << "TESTLOG! temp_page_path: " << temp_page_path.value();
+ LOG(ERROR) << "TESTLOG! pers_page_path: " << persistent_page_path.value();
+ LOG(ERROR) << "TESTLOG! temp_page_dir: " << temp_page_path.DirName().value();
+ LOG(ERROR) << "TESTLOG! pers_page_dir: "
+ << persistent_page_path.DirName().value();
+ LOG(ERROR) << "TESTLOG! temp_is_parent: "
+ << temp_dir_path().IsParent(temp_page_path);
+ LOG(ERROR) << "TESTLOG! pers_is_parent: "
+ << persistent_dir_path().IsParent(persistent_page_path);
+ LOG(ERROR) << "TESTLOG! Ids: " << temp_id << ", " << persistent_id;
+
+ EXPECT_TRUE(temp_dir_path().IsParent(temp_page_path));
+ EXPECT_TRUE(persistent_dir_path().IsParent(persistent_page_path));
+ EXPECT_FALSE(temp_page_path.DirName() == persistent_page_path.DirName());
+}
+
TEST(CommandLineFlagsTest, OfflineBookmarks) {
// Disabled by default.
EXPECT_FALSE(offline_pages::IsOfflineBookmarksEnabled());
« no previous file with comments | « components/offline_pages/core/offline_page_model_impl.cc ('k') | components/offline_pages/core/offline_page_storage_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698