OLD | NEW |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |