| Index: chrome/browser/ui/startup/startup_tab_provider_unittest.cc
|
| diff --git a/chrome/browser/ui/startup/startup_tab_provider_unittest.cc b/chrome/browser/ui/startup/startup_tab_provider_unittest.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..db6b6c5588cd462a8a69bb16c24a726b79c9f84f
|
| --- /dev/null
|
| +++ b/chrome/browser/ui/startup/startup_tab_provider_unittest.cc
|
| @@ -0,0 +1,83 @@
|
| +// Copyright 2016 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "chrome/browser/ui/startup/startup_tab_provider.h"
|
| +
|
| +#include "base/strings/utf_string_conversions.h"
|
| +#include "chrome/common/url_constants.h"
|
| +#include "testing/gtest/include/gtest/gtest.h"
|
| +#include "url/gurl.h"
|
| +
|
| +class StartupTabProviderTest : public testing::Test {};
|
| +
|
| +TEST(StartupTabProviderTest, CheckStandardOnboardingTabPolicy) {
|
| + StartupTabs output;
|
| + bool retval =
|
| + StartupTabProviderImpl::CheckStandardOnboardingTabPolicy(true, &output);
|
| +
|
| + ASSERT_EQ(1U, output.size());
|
| + EXPECT_EQ(GetWelcomePageUrl().host(), output[0].url.host());
|
| + EXPECT_FALSE(output[0].is_pinned);
|
| + EXPECT_TRUE(retval);
|
| +}
|
| +
|
| +TEST(StartupTabProviderTest, CheckStandardOnboardingTabPolicy_FirstRunOnly) {
|
| + StartupTabs output;
|
| + bool retval =
|
| + StartupTabProviderImpl::CheckStandardOnboardingTabPolicy(false, &output);
|
| +
|
| + EXPECT_TRUE(output.empty());
|
| + EXPECT_FALSE(retval);
|
| +}
|
| +
|
| +TEST(StartupTabProviderTest, CheckMasterPrefsTabPolicy) {
|
| + std::vector<GURL> input;
|
| + input.push_back(GURL(base::ASCIIToUTF16("https://new_tab_page")));
|
| + input.push_back(GURL(base::ASCIIToUTF16("https://www.google.com")));
|
| + input.push_back(GURL(base::ASCIIToUTF16("https://welcome_page")));
|
| +
|
| + StartupTabs output;
|
| + bool retval =
|
| + StartupTabProviderImpl::CheckMasterPrefsTabPolicy(true, input, &output);
|
| +
|
| + ASSERT_EQ(3U, output.size());
|
| + EXPECT_EQ(GURL(chrome::kChromeUINewTabURL).host(), output[0].url.host());
|
| + EXPECT_FALSE(output[0].is_pinned);
|
| + EXPECT_EQ("www.google.com", output[1].url.host());
|
| + EXPECT_FALSE(output[1].is_pinned);
|
| + EXPECT_EQ(GetWelcomePageUrl().host(), output[2].url.host());
|
| + EXPECT_FALSE(output[2].is_pinned);
|
| + EXPECT_TRUE(retval);
|
| +}
|
| +
|
| +TEST(StartupTabProviderTest, CheckMasterPrefsTabPolicy_FirstRunOnly) {
|
| + std::vector<GURL> input;
|
| + input.push_back(GURL(base::ASCIIToUTF16("https://www.google.com")));
|
| +
|
| + StartupTabs output;
|
| + bool retval =
|
| + StartupTabProviderImpl::CheckMasterPrefsTabPolicy(false, input, &output);
|
| +
|
| + EXPECT_TRUE(output.empty());
|
| + EXPECT_FALSE(retval);
|
| +}
|
| +
|
| +TEST(StartupTabProviderTest, CheckResetTriggerTabPolicy) {
|
| + StartupTabs output;
|
| + bool retval =
|
| + StartupTabProviderImpl::CheckResetTriggerTabPolicy(true, &output);
|
| +
|
| + ASSERT_EQ(1U, output.size());
|
| + EXPECT_EQ(GetTriggeredResetSettingsUrl().host(), output[0].url.host());
|
| + EXPECT_FALSE(output[0].is_pinned);
|
| + EXPECT_TRUE(retval);
|
| +}
|
| +
|
| +TEST(StartupTabProviderTest, CheckResetTriggerTabPolicy_Negative) {
|
| + StartupTabs output;
|
| + bool retval =
|
| + StartupTabProviderImpl::CheckResetTriggerTabPolicy(false, &output);
|
| + ASSERT_TRUE(output.empty());
|
| + ASSERT_FALSE(retval);
|
| +}
|
|
|