| 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());
|
|
|