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

Unified Diff: chrome/browser/extensions/default_apps_unittest.cc

Issue 6162006: Changes to default apps promo per ui leads: (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review comments Created 9 years, 11 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/extensions/default_apps.cc ('k') | chrome/browser/resources/new_new_tab.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/default_apps_unittest.cc
diff --git a/chrome/browser/extensions/default_apps_unittest.cc b/chrome/browser/extensions/default_apps_unittest.cc
index fd87d58e39b75d4234a4b0fcf6dd7383c1e8bb1e..316568d0ae154444fdfc3a61daa222d09cef7c01 100644
--- a/chrome/browser/extensions/default_apps_unittest.cc
+++ b/chrome/browser/extensions/default_apps_unittest.cc
@@ -30,7 +30,10 @@ TEST(ExtensionDefaultApps, HappyPath) {
EXPECT_FALSE(default_apps.ShouldShowAppLauncher(installed_app_ids));
// The promo should not be shown until the default apps have been installed.
- EXPECT_FALSE(default_apps.ShouldShowPromo(installed_app_ids));
+ bool promo_just_expired = false;
+ EXPECT_FALSE(default_apps.ShouldShowPromo(installed_app_ids,
+ &promo_just_expired));
+ EXPECT_FALSE(promo_just_expired);
// Simulate installing the apps one by one and notifying default_apps after
// each intallation. Nothing should change until we have installed all the
@@ -44,7 +47,9 @@ TEST(ExtensionDefaultApps, HappyPath) {
EXPECT_FALSE(default_apps.GetDefaultAppsInstalled());
EXPECT_TRUE(default_apps.ShouldInstallDefaultApps(installed_app_ids));
EXPECT_FALSE(default_apps.ShouldShowAppLauncher(installed_app_ids));
- EXPECT_FALSE(default_apps.ShouldShowPromo(installed_app_ids));
+ EXPECT_FALSE(default_apps.ShouldShowPromo(installed_app_ids,
+ &promo_just_expired));
+ EXPECT_FALSE(promo_just_expired);
}
// Simulate all the default apps being installed. Now we should stop getting
@@ -56,23 +61,36 @@ TEST(ExtensionDefaultApps, HappyPath) {
// And the promo and launcher should become available.
EXPECT_TRUE(default_apps.ShouldShowAppLauncher(installed_app_ids));
- EXPECT_TRUE(default_apps.ShouldShowPromo(installed_app_ids));
+ EXPECT_TRUE(default_apps.ShouldShowPromo(installed_app_ids,
+ &promo_just_expired));
+ EXPECT_FALSE(promo_just_expired);
// The promo should be available up to the max allowed times, then stop.
- for (int i = 0; i < DefaultApps::kAppsPromoCounterMax; ++i) {
- EXPECT_TRUE(default_apps.ShouldShowPromo(installed_app_ids));
- default_apps.DidShowPromo();
+ // We start counting at 1 because of the call to ShouldShowPromo() above.
+ for (int i = 1; i < DefaultApps::kAppsPromoCounterMax; ++i) {
+ EXPECT_TRUE(default_apps.ShouldShowPromo(installed_app_ids,
+ &promo_just_expired));
+ EXPECT_FALSE(promo_just_expired);
EXPECT_EQ(i + 1, default_apps.GetPromoCounter());
}
- EXPECT_FALSE(default_apps.ShouldShowPromo(installed_app_ids));
- EXPECT_EQ(DefaultApps::kAppsPromoCounterMax, default_apps.GetPromoCounter());
+
+ // The first time, should_show_promo should flip to true, then back to false.
+ EXPECT_FALSE(default_apps.ShouldShowPromo(installed_app_ids,
+ &promo_just_expired));
+ EXPECT_TRUE(promo_just_expired);
+ EXPECT_EQ(DefaultApps::kAppsPromoCounterMax + 1,
+ default_apps.GetPromoCounter());
// Even if all the apps are subsequently removed, the apps section should
// remain.
installed_app_ids.clear();
EXPECT_FALSE(default_apps.ShouldInstallDefaultApps(installed_app_ids));
EXPECT_TRUE(default_apps.ShouldShowAppLauncher(installed_app_ids));
- EXPECT_FALSE(default_apps.ShouldShowPromo(installed_app_ids));
+ EXPECT_FALSE(default_apps.ShouldShowPromo(installed_app_ids,
+ &promo_just_expired));
+ EXPECT_FALSE(promo_just_expired);
+ EXPECT_EQ(DefaultApps::kAppsPromoCounterMax + 1,
+ default_apps.GetPromoCounter());
}
TEST(ExtensionDefaultApps, UnsupportedLocale) {
@@ -88,28 +106,38 @@ TEST(ExtensionDefaultApps, UnsupportedLocale) {
ExtensionIdSet installed_ids;
EXPECT_FALSE(default_apps.ShouldInstallDefaultApps(installed_ids));
EXPECT_FALSE(default_apps.ShouldShowAppLauncher(installed_ids));
- EXPECT_FALSE(default_apps.ShouldShowPromo(installed_ids));
+
+ bool promo_just_expired = false;
+ EXPECT_FALSE(default_apps.ShouldShowPromo(installed_ids,
+ &promo_just_expired));
+ EXPECT_FALSE(promo_just_expired);
// If the user installs an app manually, then we show the apps section, but
// no promotion or default apps.
installed_ids.insert(*(default_app_ids.begin()));
EXPECT_FALSE(default_apps.ShouldInstallDefaultApps(installed_ids));
EXPECT_TRUE(default_apps.ShouldShowAppLauncher(installed_ids));
- EXPECT_FALSE(default_apps.ShouldShowPromo(installed_ids));
+ EXPECT_FALSE(default_apps.ShouldShowPromo(installed_ids,
+ &promo_just_expired));
+ EXPECT_FALSE(promo_just_expired);
// Even if the user installs the exact set of default apps, we don't show the
// promo.
installed_ids = default_app_ids;
EXPECT_FALSE(default_apps.ShouldInstallDefaultApps(installed_ids));
EXPECT_TRUE(default_apps.ShouldShowAppLauncher(installed_ids));
- EXPECT_FALSE(default_apps.ShouldShowPromo(installed_ids));
+ EXPECT_FALSE(default_apps.ShouldShowPromo(installed_ids,
+ &promo_just_expired));
+ EXPECT_FALSE(promo_just_expired);
// If the user uninstalls the apps again, we go back to not showing the
// apps section.
installed_ids.clear();
EXPECT_FALSE(default_apps.ShouldInstallDefaultApps(installed_ids));
EXPECT_FALSE(default_apps.ShouldShowAppLauncher(installed_ids));
- EXPECT_FALSE(default_apps.ShouldShowPromo(installed_ids));
+ EXPECT_FALSE(default_apps.ShouldShowPromo(installed_ids,
+ &promo_just_expired));
+ EXPECT_FALSE(promo_just_expired);
}
TEST(ExtensionDefaultApps, HidePromo) {
@@ -120,13 +148,18 @@ TEST(ExtensionDefaultApps, HidePromo) {
const ExtensionIdSet& default_app_ids = default_apps.default_apps();
default_apps.DidInstallApp(default_app_ids);
- EXPECT_TRUE(default_apps.ShouldShowPromo(default_app_ids));
- default_apps.DidShowPromo();
+ bool promo_just_expired = false;
+ EXPECT_TRUE(default_apps.ShouldShowPromo(default_app_ids,
+ &promo_just_expired));
+ EXPECT_FALSE(promo_just_expired);
EXPECT_EQ(1, default_apps.GetPromoCounter());
default_apps.SetPromoHidden();
- EXPECT_FALSE(default_apps.ShouldShowPromo(default_app_ids));
- EXPECT_EQ(DefaultApps::kAppsPromoCounterMax, default_apps.GetPromoCounter());
+ EXPECT_FALSE(default_apps.ShouldShowPromo(default_app_ids,
+ &promo_just_expired));
+ EXPECT_FALSE(promo_just_expired);
+ EXPECT_EQ(DefaultApps::kAppsPromoCounterMax + 1,
+ default_apps.GetPromoCounter());
}
TEST(ExtensionDefaultApps, InstallingAnAppHidesPromo) {
@@ -138,15 +171,20 @@ TEST(ExtensionDefaultApps, InstallingAnAppHidesPromo) {
ExtensionIdSet installed_app_ids = default_app_ids;
default_apps.DidInstallApp(installed_app_ids);
- EXPECT_TRUE(default_apps.ShouldShowPromo(installed_app_ids));
- default_apps.DidShowPromo();
+ bool promo_just_expired = false;
+ EXPECT_TRUE(default_apps.ShouldShowPromo(installed_app_ids,
+ &promo_just_expired));
+ EXPECT_FALSE(promo_just_expired);
EXPECT_EQ(1, default_apps.GetPromoCounter());
// Now simulate a new extension being installed. This should cause the promo
// to be hidden.
installed_app_ids.insert("foo");
- EXPECT_FALSE(default_apps.ShouldShowPromo(installed_app_ids));
- EXPECT_EQ(DefaultApps::kAppsPromoCounterMax, default_apps.GetPromoCounter());
+ EXPECT_FALSE(default_apps.ShouldShowPromo(installed_app_ids,
+ &promo_just_expired));
+ EXPECT_FALSE(promo_just_expired);
+ EXPECT_EQ(DefaultApps::kAppsPromoCounterMax + 1,
+ default_apps.GetPromoCounter());
}
TEST(ExtensionDefaultApps, ManualAppInstalledWhileInstallingDefaultApps) {
@@ -173,8 +211,12 @@ TEST(ExtensionDefaultApps, ManualAppInstalledWhileInstallingDefaultApps) {
// The promo shouldn't turn on though, because it would look weird with the
// user's extra, manually installed extensions.
- EXPECT_FALSE(default_apps.ShouldShowPromo(installed_ids));
- EXPECT_EQ(DefaultApps::kAppsPromoCounterMax, default_apps.GetPromoCounter());
+ bool promo_just_expired = false;
+ EXPECT_FALSE(default_apps.ShouldShowPromo(installed_ids,
+ &promo_just_expired));
+ EXPECT_FALSE(promo_just_expired);
+ EXPECT_EQ(DefaultApps::kAppsPromoCounterMax + 1,
+ default_apps.GetPromoCounter());
// Going back to a subset of the default apps shouldn't allow the default app
// install to continue.
@@ -182,9 +224,13 @@ TEST(ExtensionDefaultApps, ManualAppInstalledWhileInstallingDefaultApps) {
EXPECT_FALSE(default_apps.ShouldInstallDefaultApps(installed_ids));
EXPECT_TRUE(default_apps.GetDefaultAppsInstalled());
EXPECT_TRUE(default_apps.ShouldShowAppLauncher(installed_ids));
- EXPECT_FALSE(default_apps.ShouldShowPromo(installed_ids));
+ EXPECT_FALSE(default_apps.ShouldShowPromo(installed_ids,
+ &promo_just_expired));
+ EXPECT_FALSE(promo_just_expired);
// Going to the exact set of default apps shouldn't show the promo.
- EXPECT_FALSE(default_apps.ShouldShowPromo(default_apps.default_apps()));
+ EXPECT_FALSE(default_apps.ShouldShowPromo(default_apps.default_apps(),
+ &promo_just_expired));
+ EXPECT_FALSE(promo_just_expired);
}
#endif // OS_CHROMEOS
« no previous file with comments | « chrome/browser/extensions/default_apps.cc ('k') | chrome/browser/resources/new_new_tab.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698