blob: 4dc2666b1366ab554826e3b46e65cd60c342882b [file] [log] [blame]
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/default_browser/default_browser_manager.h"
#include "base/test/scoped_feature_list.h"
#include "base/test/test_future.h"
#include "chrome/browser/default_browser/default_browser_controller.h"
#include "content/public/test/browser_task_environment.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace default_browser {
TEST(DefaultBrowserManagerTest, GetDefaultBrowserState) {
content::BrowserTaskEnvironment task_environment;
base::test::TestFuture<DefaultBrowserState> future;
DefaultBrowserManager::GetDefaultBrowserState(future.GetCallback());
ASSERT_TRUE(future.Wait()) << "GetDefaultBrowserState should trigger the "
"callback after fetching default browser state";
EXPECT_LT(future.Get(), DefaultBrowserState::NUM_DEFAULT_STATES);
}
TEST(DefaultBrowserManagerTest, CreateControllerForSettingsPage) {
auto controller = DefaultBrowserManager::CreateControllerFor(
DefaultBrowserEntrypointType::kSettingsPage);
ASSERT_NE(controller, nullptr);
EXPECT_EQ(controller->GetSetterType(),
DefaultBrowserSetterType::kShellIntegration);
}
TEST(DefaultBrowserManagerTest, CreateControllerForStartupInfobar) {
auto controller = DefaultBrowserManager::CreateControllerFor(
DefaultBrowserEntrypointType::kStartupInfobar);
ASSERT_NE(controller, nullptr);
EXPECT_EQ(controller->GetSetterType(),
DefaultBrowserSetterType::kShellIntegration);
}
} // namespace default_browser