Commit 500bbc41 authored by benwells's avatar benwells Committed by Commit bot

Added test to ensure app banner settings are per-origin.

The banner engagement persisted data should be per-origin. This test
ensures that is the case.

BUG=468148

Review URL: https://codereview.chromium.org/1019763002

Cr-Commit-Position: refs/heads/master@{#321409}
parent 363750d1
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
namespace { namespace {
const char kTestURL[] = "https://www.google.com"; const char kTestURL[] = "https://www.google.com";
const char kSameOriginTestURL[] = "https://www.google.com/foo.html";
const char kTestPackageName[] = "test.package"; const char kTestPackageName[] = "test.package";
base::Time GetReferenceTime() { base::Time GetReferenceTime() {
...@@ -290,3 +291,31 @@ TEST_F(AppBannerSettingsHelperTest, ShouldNotShowAfterAdding) { ...@@ -290,3 +291,31 @@ TEST_F(AppBannerSettingsHelperTest, ShouldNotShowAfterAdding) {
EXPECT_FALSE(AppBannerSettingsHelper::ShouldShowBanner( EXPECT_FALSE(AppBannerSettingsHelper::ShouldShowBanner(
web_contents(), url, kTestPackageName, reference_time)); web_contents(), url, kTestPackageName, reference_time));
} }
TEST_F(AppBannerSettingsHelperTest, OperatesOnOrigins) {
GURL url(kTestURL);
NavigateAndCommit(url);
base::Time reference_time = GetReferenceTime();
base::Time one_day_ago = reference_time - base::TimeDelta::FromDays(1);
// By default the banner should not be shown.
EXPECT_FALSE(AppBannerSettingsHelper::ShouldShowBanner(
web_contents(), url, kTestPackageName, reference_time));
// Record events such that the banner should show.
AppBannerSettingsHelper::RecordBannerEvent(
web_contents(), url, kTestPackageName,
AppBannerSettingsHelper::APP_BANNER_EVENT_COULD_SHOW, one_day_ago);
AppBannerSettingsHelper::RecordBannerEvent(
web_contents(), url, kTestPackageName,
AppBannerSettingsHelper::APP_BANNER_EVENT_COULD_SHOW, reference_time);
// Navigate to another page on the same origin.
url = GURL(kSameOriginTestURL);
NavigateAndCommit(url);
// The banner should show as settings are per-origin.
EXPECT_TRUE(AppBannerSettingsHelper::ShouldShowBanner(
web_contents(), url, kTestPackageName, reference_time));
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment