#include "chrome/browser/ui/views/media_router/cast_toolbar_button.h"
#include "base/functional/bind.h"
#include "base/memory/raw_ptr.h"
#include "base/test/scoped_feature_list.h"
#include "chrome/browser/media/router/chrome_media_router_factory.h"
#include "chrome/browser/media/router/discovery/access_code/access_code_cast_feature.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/color/chrome_color_id.h"
#include "chrome/browser/ui/media_router/media_router_ui_service.h"
#include "chrome/browser/ui/media_router/media_router_ui_service_factory.h"
#include "chrome/browser/ui/toolbar/cast/cast_contextual_menu.h"
#include "chrome/browser/ui/toolbar/cast/mock_cast_toolbar_button_controller.h"
#include "chrome/test/base/test_browser_window.h"
#include "chrome/test/base/testing_profile.h"
#include "chrome/test/views/chrome_views_test_base.h"
#include "components/media_router/browser/media_router_factory.h"
#include "components/media_router/browser/mirroring_media_controller_host_impl.h"
#include "components/media_router/browser/test/mock_media_router.h"
#include "components/vector_icons/vector_icons.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/color/color_id.h"
#include "ui/color/color_provider.h"
#include "ui/gfx/color_palette.h"
#include "ui/gfx/image/image_unittest_util.h"
#include "ui/gfx/paint_vector_icon.h"
_;
WithArg;
namespace media_router {
namespace {
std::unique_ptr<KeyedService> BuildUIService(content::BrowserContext* context) { … }
MediaRoute CreateLocalDisplayRoute() { … }
MediaRoute CreateNonLocalDisplayRoute() { … }
class MockContextMenuObserver : public CastContextualMenu::Observer { … };
}
class CastToolbarButtonTest : public ChromeViewsTestBase { … };
TEST_F(CastToolbarButtonTest, ShowAndHideButton) { … }
TEST_F(CastToolbarButtonTest, UpdateIssues) { … }
TEST_F(CastToolbarButtonTest, UpdateRoutes) { … }
TEST_F(CastToolbarButtonTest, PausedIcon) { … }
}