| 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" |
| 11 | 11 |
| 12 TEST(StartupTabProviderTest, CheckStandardOnboardingTabPolicy) { | 12 TEST(StartupTabProviderTest, CheckStandardOnboardingTabPolicy) { |
| 13 StartupTabs output = | 13 // Show welcome page to new unauthenticated profile on first run. |
| 14 StartupTabProviderImpl::CheckStandardOnboardingTabPolicy(true); | 14 StartupTabs output = StartupTabProviderImpl::CheckStandardOnboardingTabPolicy( |
| 15 true, false, false, true); |
| 15 | 16 |
| 16 ASSERT_EQ(1U, output.size()); | 17 ASSERT_EQ(1U, output.size()); |
| 17 EXPECT_EQ(StartupTabProviderImpl::GetWelcomePageUrl(), output[0].url); | 18 EXPECT_EQ(StartupTabProviderImpl::GetWelcomePageUrl(false), output[0].url); |
| 19 EXPECT_FALSE(output[0].is_pinned); |
| 20 |
| 21 // After first run, display welcome page using variant view. |
| 22 output = StartupTabProviderImpl::CheckStandardOnboardingTabPolicy( |
| 23 false, false, false, true); |
| 24 |
| 25 ASSERT_EQ(1U, output.size()); |
| 26 EXPECT_EQ(StartupTabProviderImpl::GetWelcomePageUrl(true), output[0].url); |
| 18 EXPECT_FALSE(output[0].is_pinned); | 27 EXPECT_FALSE(output[0].is_pinned); |
| 19 } | 28 } |
| 20 | 29 |
| 21 TEST(StartupTabProviderTest, CheckStandardOnboardingTabPolicy_FirstRunOnly) { | 30 TEST(StartupTabProviderTest, CheckStandardOnboardingTabPolicy_Negative) { |
| 22 StartupTabs output = | 31 // Do not show the welcome page to the same profile twice. |
| 23 StartupTabProviderImpl::CheckStandardOnboardingTabPolicy(false); | 32 StartupTabs output = StartupTabProviderImpl::CheckStandardOnboardingTabPolicy( |
| 33 true, true, false, true); |
| 34 |
| 35 EXPECT_TRUE(output.empty()); |
| 36 |
| 37 // Do not show the welcome page to authenticated users. |
| 38 output = StartupTabProviderImpl::CheckStandardOnboardingTabPolicy(true, false, |
| 39 true, true); |
| 40 |
| 41 EXPECT_TRUE(output.empty()); |
| 42 |
| 43 // Do not show the welcome page to profiles created before the page was |
| 44 // introduced. |
| 45 output = StartupTabProviderImpl::CheckStandardOnboardingTabPolicy( |
| 46 true, false, false, false); |
| 24 | 47 |
| 25 EXPECT_TRUE(output.empty()); | 48 EXPECT_TRUE(output.empty()); |
| 26 } | 49 } |
| 27 | 50 |
| 28 TEST(StartupTabProviderTest, CheckMasterPrefsTabPolicy) { | 51 TEST(StartupTabProviderTest, CheckMasterPrefsTabPolicy) { |
| 29 std::vector<GURL> input = {GURL(base::ASCIIToUTF16("https://new_tab_page")), | 52 std::vector<GURL> input = {GURL(base::ASCIIToUTF16("https://new_tab_page")), |
| 30 GURL(base::ASCIIToUTF16("https://www.google.com")), | 53 GURL(base::ASCIIToUTF16("https://www.google.com")), |
| 31 GURL(base::ASCIIToUTF16("https://welcome_page"))}; | 54 GURL(base::ASCIIToUTF16("https://welcome_page"))}; |
| 32 | 55 |
| 33 StartupTabs output = | 56 StartupTabs output = |
| 34 StartupTabProviderImpl::CheckMasterPrefsTabPolicy(true, input); | 57 StartupTabProviderImpl::CheckMasterPrefsTabPolicy(true, input); |
| 35 | 58 |
| 36 ASSERT_EQ(3U, output.size()); | 59 ASSERT_EQ(3U, output.size()); |
| 37 EXPECT_EQ(GURL(chrome::kChromeUINewTabURL), output[0].url); | 60 EXPECT_EQ(GURL(chrome::kChromeUINewTabURL), output[0].url); |
| 38 EXPECT_FALSE(output[0].is_pinned); | 61 EXPECT_FALSE(output[0].is_pinned); |
| 39 EXPECT_EQ(input[1], output[1].url); | 62 EXPECT_EQ(input[1], output[1].url); |
| 40 EXPECT_FALSE(output[1].is_pinned); | 63 EXPECT_FALSE(output[1].is_pinned); |
| 41 EXPECT_EQ(StartupTabProviderImpl::GetWelcomePageUrl(), output[2].url); | 64 EXPECT_EQ(StartupTabProviderImpl::GetWelcomePageUrl(false), output[2].url); |
| 42 EXPECT_FALSE(output[2].is_pinned); | 65 EXPECT_FALSE(output[2].is_pinned); |
| 43 } | 66 } |
| 44 | 67 |
| 45 TEST(StartupTabProviderTest, CheckMasterPrefsTabPolicy_FirstRunOnly) { | 68 TEST(StartupTabProviderTest, CheckMasterPrefsTabPolicy_FirstRunOnly) { |
| 46 std::vector<GURL> input = { | 69 std::vector<GURL> input = { |
| 47 GURL(base::ASCIIToUTF16("https://www.google.com"))}; | 70 GURL(base::ASCIIToUTF16("https://www.google.com"))}; |
| 48 | 71 |
| 49 StartupTabs output = | 72 StartupTabs output = |
| 50 StartupTabProviderImpl::CheckMasterPrefsTabPolicy(false, input); | 73 StartupTabProviderImpl::CheckMasterPrefsTabPolicy(false, input); |
| 51 | 74 |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 139 } | 162 } |
| 140 | 163 |
| 141 TEST(StartupTabProviderTest, CheckNewTabPageTabPolicy_Negative) { | 164 TEST(StartupTabProviderTest, CheckNewTabPageTabPolicy_Negative) { |
| 142 SessionStartupPref pref_last(SessionStartupPref::Type::LAST); | 165 SessionStartupPref pref_last(SessionStartupPref::Type::LAST); |
| 143 | 166 |
| 144 StartupTabs output = | 167 StartupTabs output = |
| 145 StartupTabProviderImpl::CheckNewTabPageTabPolicy(pref_last); | 168 StartupTabProviderImpl::CheckNewTabPageTabPolicy(pref_last); |
| 146 | 169 |
| 147 ASSERT_TRUE(output.empty()); | 170 ASSERT_TRUE(output.empty()); |
| 148 } | 171 } |
| OLD | NEW |