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

Side by Side Diff: chrome/browser/extensions/apps_promo_unittest.cc

Issue 7528024: Add a policy to allow NTP promotions & default apps to be disabled. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Disable app promo tests for ChromeOS. Created 9 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/logging.h" 5 #include "base/logging.h"
6 #include "chrome/browser/extensions/apps_promo.h" 6 #include "chrome/browser/extensions/apps_promo.h"
7 #include "chrome/browser/prefs/browser_prefs.h" 7 #include "chrome/browser/prefs/browser_prefs.h"
8 #include "chrome/browser/ui/webui/ntp/shown_sections_handler.h" 8 #include "chrome/browser/ui/webui/ntp/shown_sections_handler.h"
9 #include "chrome/common/extensions/extension.h" 9 #include "chrome/common/extensions/extension.h"
10 #include "chrome/common/pref_names.h" 10 #include "chrome/common/pref_names.h"
(...skipping 17 matching lines...) Expand all
28 EXPECT_EQ(maximized, 28 EXPECT_EQ(maximized,
29 (ShownSectionsHandler::GetShownSections(prefs) & APPS) != 0); 29 (ShownSectionsHandler::GetShownSections(prefs) & APPS) != 0);
30 EXPECT_EQ(!maximized, 30 EXPECT_EQ(!maximized,
31 (ShownSectionsHandler::GetShownSections(prefs) & THUMB) != 0); 31 (ShownSectionsHandler::GetShownSections(prefs) & THUMB) != 0);
32 } 32 }
33 33
34 void ExpectAppsPromoHidden(PrefService* prefs) { 34 void ExpectAppsPromoHidden(PrefService* prefs) {
35 // Hiding the promo places the apps section in menu mode and maximizes the 35 // Hiding the promo places the apps section in menu mode and maximizes the
36 // most visited section. 36 // most visited section.
37 EXPECT_TRUE((ShownSectionsHandler::GetShownSections(prefs) & 37 EXPECT_TRUE((ShownSectionsHandler::GetShownSections(prefs) &
38 APPS) == 0);
39 EXPECT_TRUE((ShownSectionsHandler::GetShownSections(prefs) &
38 (MENU_APPS | THUMB)) != 0); 40 (MENU_APPS | THUMB)) != 0);
39 } 41 }
40 42
41 } // namespace 43 } // namespace
42 44
43 class ExtensionAppsPromo : public TestingBrowserProcessTest { 45 class ExtensionAppsPromo : public TestingBrowserProcessTest {
44 public: 46 public:
45 TestingPrefService* prefs() { return &prefs_; } 47 TestingPrefService* prefs() { return &prefs_; }
46 AppsPromo* apps_promo() { return &apps_promo_; } 48 AppsPromo* apps_promo() { return &apps_promo_; }
47 49
(...skipping 14 matching lines...) Expand all
62 apps_promo_(&prefs_) { 64 apps_promo_(&prefs_) {
63 } 65 }
64 66
65 void ExtensionAppsPromo::SetUp() { 67 void ExtensionAppsPromo::SetUp() {
66 browser::RegisterUserPrefs(&prefs_); 68 browser::RegisterUserPrefs(&prefs_);
67 } 69 }
68 70
69 // TODO(dpolukhin): On Chrome OS all apps are installed via external extensions, 71 // TODO(dpolukhin): On Chrome OS all apps are installed via external extensions,
70 // and the web store promo is never shown. 72 // and the web store promo is never shown.
71 #if !defined(OS_CHROMEOS) 73 #if !defined(OS_CHROMEOS)
74
72 TEST_F(ExtensionAppsPromo, HappyPath) { 75 TEST_F(ExtensionAppsPromo, HappyPath) {
73 const ExtensionIdSet& default_app_ids = apps_promo()->old_default_apps(); 76 const ExtensionIdSet& default_app_ids = apps_promo()->old_default_apps();
74 77
75 EXPECT_GT(default_app_ids.size(), 0u); 78 EXPECT_GT(default_app_ids.size(), 0u);
76 79
77 // The promo counter should default to the max, since we only use the counter 80 // The promo counter should default to the max, since we only use the counter
78 // if they were installed from older versions of Chrome. 81 // if they were installed from older versions of Chrome.
79 EXPECT_EQ(AppsPromo::kDefaultAppsCounterMax + 1, 82 EXPECT_EQ(AppsPromo::kDefaultAppsCounterMax + 1,
80 apps_promo()->GetPromoCounter()); 83 apps_promo()->GetPromoCounter());
81 84
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
303 ExpectAppsSectionMaximized(prefs(), false); 306 ExpectAppsSectionMaximized(prefs(), false);
304 307
305 // A promo with a new ID should maximize though. 308 // A promo with a new ID should maximize though.
306 AppsPromo::SetPromo("lkksdf", kPromoHeader, kPromoButton, 309 AppsPromo::SetPromo("lkksdf", kPromoHeader, kPromoButton,
307 GURL(kPromoLink), kPromoExpire, GURL(""), 310 GURL(kPromoLink), kPromoExpire, GURL(""),
308 AppsPromo::USERS_NEW | AppsPromo::USERS_EXISTING); 311 AppsPromo::USERS_NEW | AppsPromo::USERS_EXISTING);
309 apps_promo()->MaximizeAppsIfNecessary(); 312 apps_promo()->MaximizeAppsIfNecessary();
310 ExpectAppsSectionMaximized(prefs(), true); 313 ExpectAppsSectionMaximized(prefs(), true);
311 } 314 }
312 315
313 #endif // OS_CHROMEOS 316 TEST_F(ExtensionAppsPromo, PromoHiddenByPref) {
317 prefs()->SetInteger(prefs::kAppsPromoCounter, 0);
318 prefs()->SetBoolean(prefs::kDefaultAppsInstalled, true);
319
320 // When the "hide" pref is false, the promo should still appear.
321 prefs()->SetBoolean(prefs::kNTPHideWebStorePromo, false);
322 AppsPromo::SetPromo(kPromoId, kPromoHeader, kPromoButton,
323 GURL(kPromoLink), kPromoExpire, GURL(""),
324 AppsPromo::USERS_NEW | AppsPromo::USERS_EXISTING);
325 bool just_expired;
326 bool show_promo = apps_promo()->ShouldShowPromo(
327 apps_promo()->old_default_apps(), &just_expired);
328 EXPECT_TRUE(show_promo);
329
330 // When the "hide" pref is true, the promo should NOT appear.
331 prefs()->SetBoolean(prefs::kNTPHideWebStorePromo, true);
332 show_promo = apps_promo()->ShouldShowPromo(
333 apps_promo()->old_default_apps(), &just_expired);
334 EXPECT_FALSE(show_promo);
335 }
336
337 #endif // OS_CHROMEOS
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698