| Index: chrome/browser/extensions/apps_promo_unittest.cc
|
| diff --git a/chrome/browser/extensions/apps_promo_unittest.cc b/chrome/browser/extensions/apps_promo_unittest.cc
|
| index 607da43b01086ab9b6552b488d0cdf2565235e4e..77d40ea02fccc80d5b7d6432f84d679e427ded6e 100644
|
| --- a/chrome/browser/extensions/apps_promo_unittest.cc
|
| +++ b/chrome/browser/extensions/apps_promo_unittest.cc
|
| @@ -108,9 +108,10 @@ TEST_F(ExtensionAppsPromo, HappyPath) {
|
| &promo_just_expired));
|
|
|
| // Once the promo is set, we show both the promo and app launcher.
|
| - AppsPromo::SetPromo(kPromoId, kPromoHeader, kPromoButton,
|
| - GURL(kPromoLink), kPromoExpire, GURL(""),
|
| - kPromoUserGroup);
|
| + AppsPromo::PromoData promo_data(kPromoId, kPromoHeader, kPromoButton,
|
| + GURL(kPromoLink), kPromoExpire, GURL(""),
|
| + kPromoUserGroup);
|
| + AppsPromo::SetPromo(promo_data);
|
| AppsPromo::SetWebStoreSupportedForLocale(true);
|
| EXPECT_TRUE(AppsPromo::IsPromoSupportedForLocale());
|
| EXPECT_TRUE(apps_promo()->ShouldShowAppLauncher(installed_ids));
|
| @@ -148,60 +149,56 @@ TEST_F(ExtensionAppsPromo, HappyPath) {
|
| // Tests get and set of promo content.
|
| TEST_F(ExtensionAppsPromo, PromoPrefs) {
|
| // Store a promo....
|
| - AppsPromo::SetPromo(kPromoId, kPromoHeader, kPromoButton,
|
| - GURL(kPromoLink), kPromoExpire, GURL(""),
|
| - kPromoUserGroup);
|
| + AppsPromo::PromoData promo_data(kPromoId, kPromoHeader, kPromoButton,
|
| + GURL(kPromoLink), kPromoExpire, GURL(""),
|
| + kPromoUserGroup);
|
| + AppsPromo::SetPromo(promo_data);
|
|
|
| // ... then make sure AppsPromo can access it.
|
| - EXPECT_EQ(kPromoId, AppsPromo::GetPromoId());
|
| - EXPECT_EQ(kPromoHeader, AppsPromo::GetPromoHeaderText());
|
| - EXPECT_EQ(kPromoButton, AppsPromo::GetPromoButtonText());
|
| - EXPECT_EQ(GURL(kPromoLink), AppsPromo::GetPromoLink());
|
| - EXPECT_EQ(kPromoExpire, AppsPromo::GetPromoExpireText());
|
| - EXPECT_EQ(kPromoUserGroup, AppsPromo::GetPromoUserGroup());
|
| + AppsPromo::PromoData actual_data = AppsPromo::GetPromo();
|
| + EXPECT_EQ(kPromoId, actual_data.id);
|
| + EXPECT_EQ(kPromoHeader, actual_data.header);
|
| + EXPECT_EQ(kPromoButton, actual_data.button);
|
| + EXPECT_EQ(GURL(kPromoLink), actual_data.link);
|
| + EXPECT_EQ(kPromoExpire, actual_data.expire);
|
| + EXPECT_EQ(kPromoUserGroup, actual_data.user_group);
|
| // The promo logo should be the default value.
|
| - EXPECT_EQ(GURL(kPromoLogo), AppsPromo::GetPromoLogo());
|
| + EXPECT_EQ(GURL(kPromoLogo), actual_data.logo);
|
| EXPECT_TRUE(AppsPromo::IsPromoSupportedForLocale());
|
|
|
| AppsPromo::ClearPromo();
|
| - EXPECT_EQ("", AppsPromo::GetPromoId());
|
| - EXPECT_EQ("", AppsPromo::GetPromoHeaderText());
|
| - EXPECT_EQ("", AppsPromo::GetPromoButtonText());
|
| - EXPECT_EQ(GURL(""), AppsPromo::GetPromoLink());
|
| - EXPECT_EQ("", AppsPromo::GetPromoExpireText());
|
| - EXPECT_EQ(AppsPromo::USERS_NONE, AppsPromo::GetPromoUserGroup());
|
| - EXPECT_EQ(GURL(kPromoLogo), AppsPromo::GetPromoLogo());
|
| + actual_data = AppsPromo::GetPromo();
|
| + EXPECT_EQ("", actual_data.id);
|
| + EXPECT_EQ("", actual_data.header);
|
| + EXPECT_EQ("", actual_data.button);
|
| + EXPECT_EQ(GURL(""), actual_data.link);
|
| + EXPECT_EQ("", actual_data.expire);
|
| + EXPECT_EQ(AppsPromo::USERS_NONE, actual_data.user_group);
|
| + EXPECT_EQ(GURL(kPromoLogo), actual_data.logo);
|
| EXPECT_FALSE(AppsPromo::IsPromoSupportedForLocale());
|
|
|
| // Make sure we can set the logo to something other than the default.
|
| std::string promo_logo = "data:image/png;base64,iVBORw0kGgoAAAN";
|
| - AppsPromo::SetPromo(kPromoId, kPromoHeader, kPromoButton,
|
| - GURL(kPromoLink), kPromoExpire, GURL(promo_logo),
|
| - kPromoUserGroup);
|
| - EXPECT_EQ(GURL(promo_logo), AppsPromo::GetPromoLogo());
|
| + promo_data.logo = GURL(promo_logo);
|
| + AppsPromo::SetPromo(promo_data);
|
| + EXPECT_EQ(GURL(promo_logo), AppsPromo::GetPromo().logo);
|
| EXPECT_TRUE(AppsPromo::IsPromoSupportedForLocale());
|
|
|
| - // Verify that the default is returned instead of http or https URLs.
|
| - promo_logo = "http://google.com/logo.png";
|
| - AppsPromo::SetPromo(kPromoId, kPromoHeader, kPromoButton,
|
| - GURL(kPromoLink), kPromoExpire, GURL(promo_logo),
|
| - kPromoUserGroup);
|
| - EXPECT_EQ(GURL(kPromoLogo), AppsPromo::GetPromoLogo());
|
| + // Verify that the default is returned instead of HTTP or HTTPS URLs.
|
| + promo_data.logo = GURL("http://google.com/logo.png");
|
| + AppsPromo::SetPromo(promo_data);
|
| + EXPECT_EQ(GURL(kPromoLogo), AppsPromo::GetPromo().logo);
|
| EXPECT_TRUE(AppsPromo::IsPromoSupportedForLocale());
|
|
|
| - promo_logo = "https://google.com/logo.png";
|
| - AppsPromo::SetPromo(kPromoId, kPromoHeader, kPromoButton,
|
| - GURL(kPromoLink), kPromoExpire, GURL(promo_logo),
|
| - kPromoUserGroup);
|
| - EXPECT_EQ(GURL(kPromoLogo), AppsPromo::GetPromoLogo());
|
| + promo_data.logo = GURL("https://google.com/logo.png");
|
| + AppsPromo::SetPromo(promo_data);
|
| + EXPECT_EQ(GURL(kPromoLogo), AppsPromo::GetPromo().logo);
|
| EXPECT_TRUE(AppsPromo::IsPromoSupportedForLocale());
|
|
|
| // Try an invalid URL.
|
| - promo_logo = "sldkfjlsdn";
|
| - AppsPromo::SetPromo(kPromoId, kPromoHeader, kPromoButton,
|
| - GURL(kPromoLink), kPromoExpire, GURL(promo_logo),
|
| - kPromoUserGroup);
|
| - EXPECT_EQ(GURL(kPromoLogo), AppsPromo::GetPromoLogo());
|
| + promo_data.logo = GURL("sldkfjlsdn");
|
| + AppsPromo::SetPromo(promo_data);
|
| + EXPECT_EQ(GURL(kPromoLogo), AppsPromo::GetPromo().logo);
|
| EXPECT_TRUE(AppsPromo::IsPromoSupportedForLocale());
|
|
|
| // Try the web store supported flag.
|
| @@ -210,6 +207,11 @@ TEST_F(ExtensionAppsPromo, PromoPrefs) {
|
| EXPECT_TRUE(AppsPromo::IsWebStoreSupportedForLocale());
|
| AppsPromo::SetWebStoreSupportedForLocale(false);
|
| EXPECT_FALSE(AppsPromo::IsWebStoreSupportedForLocale());
|
| +
|
| + // Try setting and getting the source logo URL.
|
| + GURL expected_source("https://www.google.com/images/test.png");
|
| + AppsPromo::SetSourcePromoLogoURL(expected_source);
|
| + EXPECT_EQ(expected_source, AppsPromo::GetSourcePromoLogoURL());
|
| }
|
|
|
| // Tests maximizing the promo for USERS_NONE.
|
| @@ -218,16 +220,16 @@ TEST_F(ExtensionAppsPromo, UpdatePromoFocus_UsersNone) {
|
| ExpectAppsSectionMaximized(prefs(), false);
|
|
|
| // The promo shouldn't maximize for anyone.
|
| - AppsPromo::SetPromo(kPromoId, kPromoHeader, kPromoButton,
|
| - GURL(kPromoLink), kPromoExpire, GURL(""),
|
| - AppsPromo::USERS_NONE);
|
| + AppsPromo::PromoData promo_data(kPromoId, kPromoHeader, kPromoButton,
|
| + GURL(kPromoLink), kPromoExpire, GURL(""),
|
| + AppsPromo::USERS_NONE);
|
| + AppsPromo::SetPromo(promo_data);
|
| apps_promo()->MaximizeAppsIfNecessary();
|
| ExpectAppsSectionMaximized(prefs(), false);
|
|
|
| // The promo still shouldn't maximize if we change it's ID.
|
| - AppsPromo::SetPromo("lkksdf", kPromoHeader, kPromoButton,
|
| - GURL(kPromoLink), kPromoExpire, GURL(""),
|
| - AppsPromo::USERS_NONE);
|
| + promo_data.id = "lkksdf";
|
| + AppsPromo::SetPromo(promo_data);
|
| apps_promo()->MaximizeAppsIfNecessary();
|
| ExpectAppsSectionMaximized(prefs(), false);
|
| }
|
| @@ -238,19 +240,17 @@ TEST_F(ExtensionAppsPromo, UpdatePromoFocus_UsersExisting) {
|
| ExpectAppsSectionMaximized(prefs(), false);
|
|
|
| // Set the promo content.
|
| - AppsPromo::SetPromo(kPromoId, kPromoHeader, kPromoButton,
|
| - GURL(kPromoLink), kPromoExpire, GURL(""),
|
| - AppsPromo::USERS_EXISTING);
|
| -
|
| + AppsPromo::PromoData promo_data(kPromoId, kPromoHeader, kPromoButton,
|
| + GURL(kPromoLink), kPromoExpire, GURL(""),
|
| + AppsPromo::USERS_EXISTING);
|
| + AppsPromo::SetPromo(promo_data);
|
| // This is a new user so the apps section shouldn't maximize.
|
| apps_promo()->MaximizeAppsIfNecessary();
|
| ExpectAppsSectionMaximized(prefs(), false);
|
|
|
| -
|
| // Set a new promo and now it should maximize.
|
| - AppsPromo::SetPromo("lksdf", kPromoHeader, kPromoButton,
|
| - GURL(kPromoLink), kPromoExpire, GURL(""),
|
| - AppsPromo::USERS_EXISTING);
|
| + promo_data.id = "lksdf";
|
| + AppsPromo::SetPromo(promo_data);
|
|
|
| apps_promo()->MaximizeAppsIfNecessary();
|
| ExpectAppsSectionMaximized(prefs(), true);
|
| @@ -265,9 +265,10 @@ TEST_F(ExtensionAppsPromo, UpdatePromoFocus_UsersNew) {
|
| ExpectAppsSectionMaximized(prefs(), false);
|
|
|
| // The promo should maximize for new users.
|
| - AppsPromo::SetPromo(kPromoId, kPromoHeader, kPromoButton,
|
| - GURL(kPromoLink), kPromoExpire, GURL(""),
|
| - AppsPromo::USERS_NEW);
|
| + AppsPromo::PromoData promo_data(kPromoId, kPromoHeader, kPromoButton,
|
| + GURL(kPromoLink), kPromoExpire, GURL(""),
|
| + AppsPromo::USERS_NEW);
|
| + AppsPromo::SetPromo(promo_data);
|
| apps_promo()->MaximizeAppsIfNecessary();
|
| ExpectAppsSectionMaximized(prefs(), true);
|
|
|
| @@ -280,9 +281,8 @@ TEST_F(ExtensionAppsPromo, UpdatePromoFocus_UsersNew) {
|
| ExpectAppsSectionMaximized(prefs(), false);
|
|
|
| // Another promo targetting new users should not maximize.
|
| - AppsPromo::SetPromo("lksdf", kPromoHeader, kPromoButton,
|
| - GURL(kPromoLink), kPromoExpire, GURL(""),
|
| - AppsPromo::USERS_NEW);
|
| + promo_data.id = "lksdf";
|
| + AppsPromo::SetPromo(promo_data);
|
| apps_promo()->MaximizeAppsIfNecessary();
|
| ExpectAppsSectionMaximized(prefs(), false);
|
| }
|
| @@ -293,9 +293,10 @@ TEST_F(ExtensionAppsPromo, UpdatePromoFocus_UsersAll) {
|
| ExpectAppsSectionMaximized(prefs(), false);
|
|
|
| // The apps section should maximize for all users.
|
| - AppsPromo::SetPromo(kPromoId, kPromoHeader, kPromoButton,
|
| - GURL(kPromoLink), kPromoExpire, GURL(""),
|
| - AppsPromo::USERS_NEW | AppsPromo::USERS_EXISTING);
|
| + AppsPromo::PromoData promo_data(
|
| + kPromoId, kPromoHeader, kPromoButton, GURL(kPromoLink), kPromoExpire,
|
| + GURL(""), AppsPromo::USERS_NEW | AppsPromo::USERS_EXISTING);
|
| + AppsPromo::SetPromo(promo_data);
|
| apps_promo()->MaximizeAppsIfNecessary();
|
| ExpectAppsSectionMaximized(prefs(), true);
|
|
|
| @@ -307,9 +308,8 @@ TEST_F(ExtensionAppsPromo, UpdatePromoFocus_UsersAll) {
|
| ExpectAppsSectionMaximized(prefs(), false);
|
|
|
| // A promo with a new ID should maximize though.
|
| - AppsPromo::SetPromo("lkksdf", kPromoHeader, kPromoButton,
|
| - GURL(kPromoLink), kPromoExpire, GURL(""),
|
| - AppsPromo::USERS_NEW | AppsPromo::USERS_EXISTING);
|
| + promo_data.id = "lkksdf";
|
| + AppsPromo::SetPromo(promo_data);
|
| apps_promo()->MaximizeAppsIfNecessary();
|
| ExpectAppsSectionMaximized(prefs(), true);
|
| }
|
| @@ -320,9 +320,10 @@ TEST_F(ExtensionAppsPromo, PromoHiddenByPref) {
|
|
|
| // When the "hide" pref is false, the promo should still appear.
|
| prefs()->SetBoolean(prefs::kNTPHideWebStorePromo, false);
|
| - AppsPromo::SetPromo(kPromoId, kPromoHeader, kPromoButton,
|
| - GURL(kPromoLink), kPromoExpire, GURL(""),
|
| - AppsPromo::USERS_NEW | AppsPromo::USERS_EXISTING);
|
| + AppsPromo::PromoData promo_data(
|
| + kPromoId, kPromoHeader, kPromoButton, GURL(kPromoLink), kPromoExpire,
|
| + GURL(""), AppsPromo::USERS_NEW | AppsPromo::USERS_EXISTING);
|
| + AppsPromo::SetPromo(promo_data);
|
| bool just_expired;
|
| bool show_promo = apps_promo()->ShouldShowPromo(
|
| apps_promo()->old_default_apps(), &just_expired);
|
|
|