#include "chrome/browser/devtools/protocol/cast_handler.h"
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "base/memory/raw_ptr.h"
#include "chrome/browser/media/router/chrome_media_router_factory.h"
#include "chrome/test/base/chrome_render_view_host_test_harness.h"
#include "components/media_router/browser/media_sinks_observer.h"
#include "components/media_router/browser/presentation/presentation_service_delegate_impl.h"
#include "components/media_router/browser/test/mock_media_router.h"
#include "components/media_router/common/media_route_provider_helper.h"
#include "components/media_router/common/media_sink.h"
#include "components/media_router/common/media_source.h"
#include "components/media_router/common/test/test_helper.h"
#include "components/sessions/content/session_tab_helper.h"
#include "content/public/browser/presentation_request.h"
CreateCastSink;
_;
DoAll;
Return;
SaveArg;
WithArg;
namespace {
constexpr char kRouteId1[] = …;
constexpr char kSinkId1[] = …;
constexpr char kSinkId2[] = …;
constexpr char kSinkName1[] = …;
constexpr char kSinkName2[] = …;
const media_router::MediaSink sink1{ … };
const media_router::MediaSink sink2{ … };
media_router::MediaRoute Route1() { … }
class MockStartDesktopMirroringCallback
: public CastHandler::StartDesktopMirroringCallback { … };
class MockStartTabMirroringCallback
: public CastHandler::StartTabMirroringCallback { … };
}
class CastHandlerTest : public ChromeRenderViewHostTestHarness { … };
TEST_F(CastHandlerTest, SetSinkToUse) { … }
TEST_F(CastHandlerTest, StartDesktopMirroring) { … }
TEST_F(CastHandlerTest, StartDesktopMirroringWithInvalidName) { … }
TEST_F(CastHandlerTest, StartTabMirroring) { … }
TEST_F(CastHandlerTest, StartTabMirroringWithInvalidName) { … }
TEST_F(CastHandlerTest, StopCasting) { … }
TEST_F(CastHandlerTest, StopCastingWithInvalidName) { … }