blob: 6b9bb1287917f546ea97cefdab1d17c8cbf9735f [file] [log] [blame]
// Copyright 2015 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/media/router/mojo/media_router_mojo_test.h"
#include <utility>
#include "base/run_loop.h"
#include "extensions/common/test_util.h"
namespace media_router {
namespace {
const char kInstanceId[] = "instance123";
void ExpectEqualStrings(const std::string& expected,
const std::string& actual) {
EXPECT_EQ(expected, actual);
}
} // namespace
MockMediaRouteProvider::MockMediaRouteProvider() {}
MockMediaRouteProvider::~MockMediaRouteProvider() {}
MockEventPageTracker::MockEventPageTracker() {}
MockEventPageTracker::~MockEventPageTracker() {}
MediaRouterMojoTest::MediaRouterMojoTest()
: mock_media_router_(new MediaRouterMojoImpl(&mock_event_page_tracker_)) {
mock_media_router_->Initialize();
mock_media_router_->set_instance_id_for_test(kInstanceId);
extension_ = extensions::test_util::CreateEmptyExtension();
}
MediaRouterMojoTest::~MediaRouterMojoTest() {}
void MediaRouterMojoTest::ConnectProviderManagerService() {
// Bind the |media_route_provider| interface to |media_route_provider_|.
auto request = mojo::GetProxy(&media_router_proxy_);
mock_media_router_->BindToMojoRequest(std::move(request), *extension_);
// Bind the Mojo MediaRouter interface used by |mock_media_router_| to
// |mock_media_route_provider_service_|.
mojom::MediaRouteProviderPtr mojo_media_router;
binding_.reset(new mojo::Binding<mojom::MediaRouteProvider>(
&mock_media_route_provider_, mojo::GetProxy(&mojo_media_router)));
media_router_proxy_->RegisterMediaRouteProvider(
std::move(mojo_media_router),
base::Bind(&ExpectEqualStrings, kInstanceId));
}
void MediaRouterMojoTest::SetUp() {
ON_CALL(mock_event_page_tracker_, IsEventPageSuspended(extension_id()))
.WillByDefault(testing::Return(false));
ConnectProviderManagerService();
base::RunLoop().RunUntilIdle();
}
void MediaRouterMojoTest::TearDown() {
mock_media_router_->Shutdown();
}
void MediaRouterMojoTest::ProcessEventLoop() {
base::RunLoop().RunUntilIdle();
}
} // namespace media_router