#include "chrome/browser/media/router/providers/cast/cast_media_controller.h"
#include <memory>
#include <utility>
#include <vector>
#include "base/json/json_reader.h"
#include "base/test/values_test_util.h"
#include "base/time/time.h"
#include "base/values.h"
#include "chrome/browser/media/router/providers/cast/app_activity.h"
#include "chrome/browser/media/router/providers/cast/mock_app_activity.h"
#include "chrome/browser/media/router/test/media_router_mojo_test.h"
#include "components/media_router/common/media_route.h"
#include "components/media_router/common/test/test_helper.h"
#include "content/public/test/browser_task_environment.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/abseil-cpp/absl/utility/utility.h"
Value;
_;
Invoke;
NiceMock;
WithArg;
namespace media_router {
namespace {
constexpr char kMediaTitle[] = …;
constexpr char kSessionId[] = …;
constexpr int kMediaSessionId = …;
void VerifySessionId(const Value::Dict& v2_message_body) { … }
void VerifySessionAndMediaSessionIds(const Value::Dict& v2_message_body) { … }
Value GetPlayerStateValue(const mojom::MediaStatus& status) { … }
base::Value::List GetSupportedMediaCommandsValue(
const mojom::MediaStatus& status) { … }
Value::List CreateImagesValue(const std::vector<mojom::MediaImagePtr>& images) { … }
Value::Dict CreateMediaStatus(const mojom::MediaStatus& status) { … }
mojom::MediaStatusPtr CreateSampleMediaStatus() { … }
std::unique_ptr<CastSession> CreateSampleSession() { … }
}
class CastMediaControllerTest : public testing::Test { … };
TEST_F(CastMediaControllerTest, SendPlayRequest) { … }
TEST_F(CastMediaControllerTest, SendPauseRequest) { … }
TEST_F(CastMediaControllerTest, SendMuteRequests) { … }
TEST_F(CastMediaControllerTest, SendVolumeRequest) { … }
TEST_F(CastMediaControllerTest, SendSeekRequest) { … }
TEST_F(CastMediaControllerTest, SendNextTrackRequest) { … }
TEST_F(CastMediaControllerTest, SendPreviousTrackRequest) { … }
TEST_F(CastMediaControllerTest, UpdateMediaStatus) { … }
TEST_F(CastMediaControllerTest, UpdateMediaStatusWithDoubleDurations) { … }
TEST_F(CastMediaControllerTest, IgnoreInvalidUpdate) { … }
TEST_F(CastMediaControllerTest, UpdateMediaImages) { … }
TEST_F(CastMediaControllerTest, IgnoreInvalidImage) { … }
TEST_F(CastMediaControllerTest, UpdateVolumeStatus) { … }
}