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

Unified Diff: chrome/browser/banners/app_banner_settings_helper_unittest.cc

Issue 2185453003: Expose a WasLaunchedRecently method using the app banner content setting. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Nits Created 4 years, 5 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
« no previous file with comments | « chrome/browser/banners/app_banner_settings_helper.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/banners/app_banner_settings_helper_unittest.cc
diff --git a/chrome/browser/banners/app_banner_settings_helper_unittest.cc b/chrome/browser/banners/app_banner_settings_helper_unittest.cc
index 8f9acd5881027540d164376dd4cc6b811ab249f8..46ed446c7e24c13b1e27b5ae44705140605db931 100644
--- a/chrome/browser/banners/app_banner_settings_helper_unittest.cc
+++ b/chrome/browser/banners/app_banner_settings_helper_unittest.cc
@@ -17,6 +17,7 @@ namespace {
const char kTestURL[] = "https://www.google.com";
const char kSameOriginTestURL[] = "https://www.google.com/foo.html";
+const char kDifferentOriginTestURL[] = "https://www.example.com";
const char kTestPackageName[] = "test.package";
base::Time GetReferenceTime() {
@@ -47,12 +48,10 @@ bool IsWithinHour(base::Time time1, base::Time time2) {
}
class AppBannerSettingsHelperTest : public ChromeRenderViewHostTestHarness {
-
void SetUp() override {
ChromeRenderViewHostTestHarness::SetUp();
AppBannerSettingsHelper::SetDefaultParameters();
}
-
};
} // namespace
@@ -451,8 +450,8 @@ TEST_F(AppBannerSettingsHelperTest, CouldShowEventReplacedWithHigherWeight) {
// Record a direct engagement type. This should override the previous value.
AppBannerSettingsHelper::RecordBannerCouldShowEvent(
- web_contents(), url, kTestPackageName,
- later_same_day, ui::PAGE_TRANSITION_TYPED);
+ web_contents(), url, kTestPackageName, later_same_day,
+ ui::PAGE_TRANSITION_TYPED);
events = AppBannerSettingsHelper::GetCouldShowBannerEvents(
web_contents(), url, kTestPackageName);
@@ -463,8 +462,8 @@ TEST_F(AppBannerSettingsHelperTest, CouldShowEventReplacedWithHigherWeight) {
// Record an indirect engagement type. This should be ignored.
AppBannerSettingsHelper::RecordBannerCouldShowEvent(
- web_contents(), url, kTestPackageName,
- later_again_same_day, ui::PAGE_TRANSITION_RELOAD);
+ web_contents(), url, kTestPackageName, later_again_same_day,
+ ui::PAGE_TRANSITION_RELOAD);
events = AppBannerSettingsHelper::GetCouldShowBannerEvents(
web_contents(), url, kTestPackageName);
@@ -779,3 +778,73 @@ TEST_F(AppBannerSettingsHelperTest, ShouldShowWithHigherTotal) {
EXPECT_TRUE(AppBannerSettingsHelper::ShouldShowBanner(
web_contents(), url, kTestPackageName, fifth_day));
}
+
+TEST_F(AppBannerSettingsHelperTest, WasLaunchedRecently) {
+ GURL url(kTestURL);
+ GURL url_same_origin(kSameOriginTestURL);
+ GURL url2(kDifferentOriginTestURL);
+ NavigateAndCommit(url);
+
+ base::Time reference_time = GetReferenceTime();
+ base::Time first_day = reference_time + base::TimeDelta::FromDays(1);
+ base::Time ninth_day = reference_time + base::TimeDelta::FromDays(9);
+ base::Time tenth_day = reference_time + base::TimeDelta::FromDays(10);
+ base::Time eleventh_day = reference_time + base::TimeDelta::FromDays(11);
+
+ EXPECT_FALSE(AppBannerSettingsHelper::WasLaunchedRecently(web_contents(), url,
+ reference_time));
+
+ AppBannerSettingsHelper::RecordBannerEvent(
+ web_contents(), url, kTestPackageName,
+ AppBannerSettingsHelper::APP_BANNER_EVENT_DID_ADD_TO_HOMESCREEN,
+ reference_time);
+ EXPECT_TRUE(AppBannerSettingsHelper::WasLaunchedRecently(web_contents(), url,
+ reference_time));
+ EXPECT_TRUE(AppBannerSettingsHelper::WasLaunchedRecently(web_contents(), url,
+ first_day));
+ EXPECT_TRUE(AppBannerSettingsHelper::WasLaunchedRecently(web_contents(), url,
+ ninth_day));
+ EXPECT_TRUE(AppBannerSettingsHelper::WasLaunchedRecently(web_contents(), url,
+ tenth_day));
+ EXPECT_FALSE(AppBannerSettingsHelper::WasLaunchedRecently(web_contents(), url,
+ eleventh_day));
+
+ // Make sure a different path under the same origin also returns true.
+ EXPECT_TRUE(AppBannerSettingsHelper::WasLaunchedRecently(
+ web_contents(), url_same_origin, reference_time));
+ EXPECT_TRUE(AppBannerSettingsHelper::WasLaunchedRecently(
+ web_contents(), url_same_origin, first_day));
+ EXPECT_TRUE(AppBannerSettingsHelper::WasLaunchedRecently(
+ web_contents(), url_same_origin, ninth_day));
+ EXPECT_TRUE(AppBannerSettingsHelper::WasLaunchedRecently(
+ web_contents(), url_same_origin, tenth_day));
+ EXPECT_FALSE(AppBannerSettingsHelper::WasLaunchedRecently(
+ web_contents(), url_same_origin, eleventh_day));
+
+ // Check a different event type.
+ AppBannerSettingsHelper::RecordBannerEvent(
+ web_contents(), url2, kTestPackageName,
+ AppBannerSettingsHelper::APP_BANNER_EVENT_DID_SHOW, reference_time);
+
+ EXPECT_FALSE(AppBannerSettingsHelper::WasLaunchedRecently(
+ web_contents(), url2, reference_time));
+ EXPECT_FALSE(AppBannerSettingsHelper::WasLaunchedRecently(
+ web_contents(), url2, first_day));
+ EXPECT_FALSE(AppBannerSettingsHelper::WasLaunchedRecently(
+ web_contents(), url2, ninth_day));
+
+ // Make sure that the most recent time the event is recorded is used.
+ AppBannerSettingsHelper::RecordBannerEvent(
+ web_contents(), url, kTestPackageName,
+ AppBannerSettingsHelper::APP_BANNER_EVENT_DID_ADD_TO_HOMESCREEN,
+ first_day);
+ EXPECT_TRUE(AppBannerSettingsHelper::WasLaunchedRecently(web_contents(), url,
+ first_day));
+ EXPECT_TRUE(AppBannerSettingsHelper::WasLaunchedRecently(web_contents(), url,
+ ninth_day));
+ EXPECT_TRUE(AppBannerSettingsHelper::WasLaunchedRecently(web_contents(), url,
+ tenth_day));
+ EXPECT_TRUE(AppBannerSettingsHelper::WasLaunchedRecently(web_contents(), url,
+ eleventh_day));
+
+}
« no previous file with comments | « chrome/browser/banners/app_banner_settings_helper.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698