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

Unified Diff: chrome/browser/android/offline_pages/recent_tab_helper_unittest.cc

Issue 2278773002: Modify RecentTabHelper to be always-on and observe the loading of the pages. (Closed)
Patch Set: Created 4 years, 4 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: chrome/browser/android/offline_pages/recent_tab_helper_unittest.cc
diff --git a/chrome/browser/android/offline_pages/recent_tab_helper_unittest.cc b/chrome/browser/android/offline_pages/recent_tab_helper_unittest.cc
index 1f76c0e1eded643b8c9e29c12bf270a1c8b37193..671a7b69f9f276e36940c9e6089bf4cb4d590c6b 100644
--- a/chrome/browser/android/offline_pages/recent_tab_helper_unittest.cc
+++ b/chrome/browser/android/offline_pages/recent_tab_helper_unittest.cc
@@ -7,11 +7,13 @@
#include "base/memory/ptr_util.h"
#include "base/run_loop.h"
#include "base/strings/string16.h"
+#include "base/test/scoped_feature_list.h"
#include "base/test/test_mock_time_task_runner.h"
#include "base/threading/thread_task_runner_handle.h"
#include "chrome/browser/android/offline_pages/offline_page_model_factory.h"
#include "chrome/browser/android/offline_pages/test_offline_page_model_builder.h"
#include "chrome/test/base/chrome_render_view_host_test_harness.h"
+#include "components/offline_pages/offline_page_feature.h"
#include "components/offline_pages/offline_page_item.h"
#include "components/offline_pages/offline_page_model.h"
#include "components/offline_pages/offline_page_test_archiver.h"
@@ -150,6 +152,7 @@ RecentTabHelperTest::RecentTabHelperTest()
void RecentTabHelperTest::SetUp() {
content::RenderViewHostTestHarness::SetUp();
+
// Sets up the factory for testing.
OfflinePageModelFactory::GetInstance()->SetTestingFactoryAndUse(
browser_context(), BuildTestOfflinePageModel);
@@ -203,9 +206,14 @@ TEST_F(RecentTabHelperTest, Basic) {
}
TEST_F(RecentTabHelperTest, SimpleCapture) {
+ base::test::ScopedFeatureList scoped_feature_list;
dewittj 2016/08/24 23:01:40 Can I suggest putting this as a member of RecentTa
Dmitry Titov 2016/08/25 00:36:09 Done.
+ scoped_feature_list.InitAndEnableFeature(kOffliningRecentPagesFeature);
+
NavigateAndCommit(kTestPageUrl);
dewittj 2016/08/24 23:01:39 may want to separate navigate / commit phases to b
Dmitry Titov 2016/08/25 00:36:09 Not sure I have a good idea what exact navigate/co
+ EXPECT_FALSE(recent_tab_helper()->is_page_ready_for_snapshot());
recent_tab_helper()->DocumentOnLoadCompletedInMainFrame();
RunUntilIdle();
+ EXPECT_TRUE(recent_tab_helper()->is_page_ready_for_snapshot());
EXPECT_TRUE(model()->is_loaded());
GetAllPages();
EXPECT_EQ(1U, all_pages().size());
@@ -213,6 +221,9 @@ TEST_F(RecentTabHelperTest, SimpleCapture) {
}
TEST_F(RecentTabHelperTest, NoTabIdNoCapture) {
+ base::test::ScopedFeatureList scoped_feature_list;
+ scoped_feature_list.InitAndEnableFeature(kOffliningRecentPagesFeature);
+
// Create delegate that returns 'false' as TabId retrieval result.
recent_tab_helper()->SetDelegate(base::MakeUnique<TestDelegate>(
this, task_runner(), kTabId, false));
@@ -222,12 +233,15 @@ TEST_F(RecentTabHelperTest, NoTabIdNoCapture) {
RunUntilIdle();
EXPECT_TRUE(model()->is_loaded());
GetAllPages();
- // No page shodul be captured.
+ // No page should be captured.
EXPECT_EQ(0U, all_pages().size());
}
// Should end up with 1 page.
TEST_F(RecentTabHelperTest, TwoCapturesSameUrl) {
+ base::test::ScopedFeatureList scoped_feature_list;
+ scoped_feature_list.InitAndEnableFeature(kOffliningRecentPagesFeature);
+
NavigateAndCommit(kTestPageUrl);
// Triggers snapshot after a time delay.
recent_tab_helper()->DocumentAvailableInMainFrame();
@@ -256,6 +270,9 @@ TEST_F(RecentTabHelperTest, TwoCapturesSameUrl) {
// Should end up with 1 page.
TEST_F(RecentTabHelperTest, TwoCapturesDifferentUrls) {
+ base::test::ScopedFeatureList scoped_feature_list;
+ scoped_feature_list.InitAndEnableFeature(kOffliningRecentPagesFeature);
+
NavigateAndCommit(kTestPageUrl);
// Triggers snapshot after a time delay.
recent_tab_helper()->DocumentAvailableInMainFrame();
@@ -284,6 +301,9 @@ TEST_F(RecentTabHelperTest, TwoCapturesDifferentUrls) {
}
TEST_F(RecentTabHelperTest, NoCaptureOnErrorPage) {
+ base::test::ScopedFeatureList scoped_feature_list;
+ scoped_feature_list.InitAndEnableFeature(kOffliningRecentPagesFeature);
+
FailLoad(kTestPageUrl);
recent_tab_helper()->DocumentOnLoadCompletedInMainFrame();
RunUntilIdle();
@@ -292,4 +312,14 @@ TEST_F(RecentTabHelperTest, NoCaptureOnErrorPage) {
EXPECT_EQ(0U, all_pages().size());
}
+TEST_F(RecentTabHelperTest, FeatureNotEnabled) {
+ NavigateAndCommit(kTestPageUrl);
+ recent_tab_helper()->DocumentOnLoadCompletedInMainFrame();
+ RunUntilIdle();
+ EXPECT_TRUE(model()->is_loaded());
+ GetAllPages();
+ // No page should be captured.
+ EXPECT_EQ(0U, all_pages().size());
+}
+
} // namespace offline_pages

Powered by Google App Engine
This is Rietveld 408576698