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

Side by Side Diff: chrome/browser/ui/startup/startup_tab_provider_unittest.cc

Issue 2625793002: Fix the logic that determines when to show the Win 10 promo page. (Closed)
Patch Set: Rebase comments add braces Created 3 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 unified diff | Download patch
« no previous file with comments | « chrome/browser/ui/startup/startup_tab_provider.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "chrome/browser/ui/startup/startup_tab_provider.h" 5 #include "chrome/browser/ui/startup/startup_tab_provider.h"
6 6
7 #include "base/strings/utf_string_conversions.h" 7 #include "base/strings/utf_string_conversions.h"
8 #include "chrome/common/url_constants.h" 8 #include "chrome/common/url_constants.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 #include "url/gurl.h" 10 #include "url/gurl.h"
(...skipping 28 matching lines...) Expand all
39 true); 39 true);
40 40
41 EXPECT_TRUE(output.empty()); 41 EXPECT_TRUE(output.empty());
42 } 42 }
43 43
44 #if defined(OS_WIN) 44 #if defined(OS_WIN)
45 TEST(StartupTabProviderTest, CheckWin10OnboardingTabPolicy) { 45 TEST(StartupTabProviderTest, CheckWin10OnboardingTabPolicy) {
46 // Show Win 10 Welcome page if it has not been seen, but the standard page 46 // Show Win 10 Welcome page if it has not been seen, but the standard page
47 // has. 47 // has.
48 StartupTabs output = StartupTabProviderImpl::CheckWin10OnboardingTabPolicy( 48 StartupTabs output = StartupTabProviderImpl::CheckWin10OnboardingTabPolicy(
49 true, true, false, false, false); 49 true, true, false, false, true, false);
50 50
51 ASSERT_EQ(1U, output.size()); 51 ASSERT_EQ(1U, output.size());
52 EXPECT_EQ(StartupTabProviderImpl::GetWin10WelcomePageUrl(false), 52 EXPECT_EQ(StartupTabProviderImpl::GetWin10WelcomePageUrl(false),
53 output[0].url); 53 output[0].url);
54 EXPECT_FALSE(output[0].is_pinned); 54 EXPECT_FALSE(output[0].is_pinned);
55 55
56 // Show standard Welcome page if the Win 10 Welcome page has been seen, but 56 // Show standard Welcome page if the Win 10 Welcome page has been seen, but
57 // the standard page has not. 57 // the standard page has not.
58 output = StartupTabProviderImpl::CheckWin10OnboardingTabPolicy( 58 output = StartupTabProviderImpl::CheckWin10OnboardingTabPolicy(
59 true, false, true, false, false); 59 true, false, true, false, true, false);
60 60
61 ASSERT_EQ(1U, output.size()); 61 ASSERT_EQ(1U, output.size());
62 EXPECT_EQ(StartupTabProviderImpl::GetWelcomePageUrl(false), output[0].url); 62 EXPECT_EQ(StartupTabProviderImpl::GetWelcomePageUrl(false), output[0].url);
63 EXPECT_FALSE(output[0].is_pinned); 63 EXPECT_FALSE(output[0].is_pinned);
64 64
65 // If neither page has been seen, the Win 10 Welcome page takes precedence 65 // If neither page has been seen, the Win 10 Welcome page takes precedence
66 // this launch. 66 // this launch.
67 output = StartupTabProviderImpl::CheckWin10OnboardingTabPolicy( 67 output = StartupTabProviderImpl::CheckWin10OnboardingTabPolicy(
68 true, false, false, false, false); 68 true, false, false, false, true, false);
69 69
70 ASSERT_EQ(1U, output.size()); 70 ASSERT_EQ(1U, output.size());
71 EXPECT_EQ(StartupTabProviderImpl::GetWin10WelcomePageUrl(false), 71 EXPECT_EQ(StartupTabProviderImpl::GetWin10WelcomePageUrl(false),
72 output[0].url); 72 output[0].url);
73 EXPECT_FALSE(output[0].is_pinned); 73 EXPECT_FALSE(output[0].is_pinned);
74 } 74 }
75 75
76 TEST(StartupTabProviderTest, CheckWin10OnboardingTabPolicy_LaterRunVariant) { 76 TEST(StartupTabProviderTest, CheckWin10OnboardingTabPolicy_LaterRunVariant) {
77 // Show a variant of the Win 10 Welcome page after first run, if it has not 77 // Show a variant of the Win 10 Welcome page after first run, if it has not
78 // been seen. 78 // been seen.
79 StartupTabs output = StartupTabProviderImpl::CheckWin10OnboardingTabPolicy( 79 StartupTabs output = StartupTabProviderImpl::CheckWin10OnboardingTabPolicy(
80 false, false, false, false, false); 80 false, false, false, false, true, false);
81 81
82 ASSERT_EQ(1U, output.size()); 82 ASSERT_EQ(1U, output.size());
83 EXPECT_EQ(StartupTabProviderImpl::GetWin10WelcomePageUrl(true), 83 EXPECT_EQ(StartupTabProviderImpl::GetWin10WelcomePageUrl(true),
84 output[0].url); 84 output[0].url);
85 EXPECT_FALSE(output[0].is_pinned); 85 EXPECT_FALSE(output[0].is_pinned);
86 86
87 // Show a variant of the standard Welcome page after first run, if the Win 10 87 // Show a variant of the standard Welcome page after first run, if the Win 10
88 // Welcome page has already been seen but the standard has not. 88 // Welcome page has already been seen but the standard has not.
89 output = StartupTabProviderImpl::CheckWin10OnboardingTabPolicy( 89 output = StartupTabProviderImpl::CheckWin10OnboardingTabPolicy(
90 false, false, true, false, false); 90 false, false, true, false, true, false);
91 91
92 ASSERT_EQ(1U, output.size()); 92 ASSERT_EQ(1U, output.size());
93 EXPECT_EQ(StartupTabProviderImpl::GetWelcomePageUrl(true), output[0].url); 93 EXPECT_EQ(StartupTabProviderImpl::GetWelcomePageUrl(true), output[0].url);
94 EXPECT_FALSE(output[0].is_pinned); 94 EXPECT_FALSE(output[0].is_pinned);
95 } 95 }
96 96
97 TEST(StartupTabProviderTest, CheckWin10OnboardingTabPolicy_Negative) { 97 TEST(StartupTabProviderTest, CheckWin10OnboardingTabPolicy_Negative) {
98 // Do not show either page if it has already been shown. 98 // Do not show either page if it has already been shown.
99 StartupTabs output = StartupTabProviderImpl::CheckWin10OnboardingTabPolicy( 99 StartupTabs output = StartupTabProviderImpl::CheckWin10OnboardingTabPolicy(
100 true, true, true, false, false); 100 true, true, true, false, true, false);
101 101
102 EXPECT_TRUE(output.empty()); 102 EXPECT_TRUE(output.empty());
103 103
104 // If Chrome is already the default browser, don't show the Win 10 Welcome 104 // If Chrome is already the default browser, don't show the Win 10 Welcome
105 // page, and don't preempt the standard Welcome page. 105 // page, and don't preempt the standard Welcome page.
106 output = StartupTabProviderImpl::CheckWin10OnboardingTabPolicy( 106 output = StartupTabProviderImpl::CheckWin10OnboardingTabPolicy(
107 true, false, false, false, true); 107 true, false, false, false, true, true);
108 108
109 ASSERT_EQ(1U, output.size()); 109 ASSERT_EQ(1U, output.size());
110 EXPECT_EQ(StartupTabProviderImpl::GetWelcomePageUrl(false), output[0].url); 110 EXPECT_EQ(StartupTabProviderImpl::GetWelcomePageUrl(false), output[0].url);
111 EXPECT_FALSE(output[0].is_pinned); 111 EXPECT_FALSE(output[0].is_pinned);
112 112
113 // If the user is signed in, block showing the standard Welcome page. 113 // If the user is signed in, block showing the standard Welcome page.
114 output = StartupTabProviderImpl::CheckWin10OnboardingTabPolicy( 114 output = StartupTabProviderImpl::CheckWin10OnboardingTabPolicy(
115 true, false, true, true, false); 115 true, false, true, true, true, false);
116 116
117 EXPECT_TRUE(output.empty()); 117 EXPECT_TRUE(output.empty());
118 } 118 }
119
120 TEST(StartupTabProviderTest,
121 CheckWin10OnboardingTabPolicy_SetDefaultBrowserNotAllowed) {
122 // Skip the Win 10 promo if setting the default browser is not allowed.
123 StartupTabs output = StartupTabProviderImpl::CheckWin10OnboardingTabPolicy(
124 true, false, false, false, false, false);
125
126 ASSERT_EQ(1U, output.size());
127 EXPECT_EQ(StartupTabProviderImpl::GetWelcomePageUrl(false), output[0].url);
128
129 // After first run, no onboarding content is displayed when setting the
130 // default browser is not allowed.
131 output = StartupTabProviderImpl::CheckWin10OnboardingTabPolicy(
132 true, true, false, false, false, false);
133
134 EXPECT_TRUE(output.empty());
135 }
136
119 #endif 137 #endif
120 138
121 TEST(StartupTabProviderTest, CheckMasterPrefsTabPolicy) { 139 TEST(StartupTabProviderTest, CheckMasterPrefsTabPolicy) {
122 std::vector<GURL> input = {GURL(base::ASCIIToUTF16("https://new_tab_page")), 140 std::vector<GURL> input = {GURL(base::ASCIIToUTF16("https://new_tab_page")),
123 GURL(base::ASCIIToUTF16("https://www.google.com")), 141 GURL(base::ASCIIToUTF16("https://www.google.com")),
124 GURL(base::ASCIIToUTF16("https://welcome_page"))}; 142 GURL(base::ASCIIToUTF16("https://welcome_page"))};
125 143
126 StartupTabs output = 144 StartupTabs output =
127 StartupTabProviderImpl::CheckMasterPrefsTabPolicy(true, input); 145 StartupTabProviderImpl::CheckMasterPrefsTabPolicy(true, input);
128 146
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 } 261 }
244 262
245 TEST(StartupTabProviderTest, CheckNewTabPageTabPolicy_Negative) { 263 TEST(StartupTabProviderTest, CheckNewTabPageTabPolicy_Negative) {
246 SessionStartupPref pref_last(SessionStartupPref::Type::LAST); 264 SessionStartupPref pref_last(SessionStartupPref::Type::LAST);
247 265
248 StartupTabs output = 266 StartupTabs output =
249 StartupTabProviderImpl::CheckNewTabPageTabPolicy(pref_last); 267 StartupTabProviderImpl::CheckNewTabPageTabPolicy(pref_last);
250 268
251 ASSERT_TRUE(output.empty()); 269 ASSERT_TRUE(output.empty());
252 } 270 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/startup/startup_tab_provider.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698