Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(132)

Unified Diff: chrome/browser/media/router/media_router_mojo_impl_unittest.cc

Issue 1173753003: [Media Router] Implement JoinRoute + update CreateRoute API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Compile fix again x2 Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/media/router/media_router_mojo_impl_unittest.cc
diff --git a/chrome/browser/media/router/media_router_mojo_impl_unittest.cc b/chrome/browser/media/router/media_router_mojo_impl_unittest.cc
index 87ad51158da4710b433d59723189fc4eec830117..7576f5061f7f48d1188693a15b2a88d6ce27e30b 100644
--- a/chrome/browser/media/router/media_router_mojo_impl_unittest.cc
+++ b/chrome/browser/media/router/media_router_mojo_impl_unittest.cc
@@ -45,6 +45,9 @@ const char kRouteId2[] = "routeId2";
const char kSink[] = "sink";
const char kSink2[] = "sink2";
const char kSinkName[] = "sinkName";
+const char kPresentationId[] = "presentationId";
+const char kOrigin[] = "http://origin/";
+const int kTabId = 123;
} // namespace
@@ -123,16 +126,18 @@ TEST_F(MediaRouterMojoImplTest, CreateRoute) {
// a limitation with GMock::Invoke that prevents it from using move-only types
// in runnable parameter lists.
EXPECT_CALL(mock_mojo_media_router_service_,
- CreateRoute(mojo::String(kSource), mojo::String(kSink), _))
- .WillOnce(Invoke(
- [&route](const mojo::String& source, const mojo::String& sink,
- const interfaces::MediaRouter::CreateRouteCallback& cb) {
- cb.Run(route.Pass(), mojo::String());
- }));
+ CreateRoute(mojo::String(kSource), mojo::String(kSink), _,
+ mojo::String(kOrigin), kTabId, _))
+ .WillOnce(Invoke([&route](
+ const mojo::String& source, const mojo::String& sink,
+ const mojo::String& presentation_id, const mojo::String& origin,
+ int tab_id, const interfaces::MediaRouter::CreateRouteCallback& cb) {
+ cb.Run(route.Pass(), mojo::String());
+ }));
RouteResponseCallbackHandler handler;
EXPECT_CALL(handler, InvokeObserver(Pointee(Equals(expected_route)), ""));
- router()->CreateRoute(kSource, kSink,
+ router()->CreateRoute(kSource, kSink, GURL(kOrigin), kTabId,
base::Bind(&RouteResponseCallbackHandler::Invoke,
base::Unretained(&handler)));
ProcessEventLoop();
@@ -140,21 +145,74 @@ TEST_F(MediaRouterMojoImplTest, CreateRoute) {
TEST_F(MediaRouterMojoImplTest, CreateRouteFails) {
EXPECT_CALL(mock_mojo_media_router_service_,
- CreateRoute(mojo::String(kSource), mojo::String(kSink), _))
- .WillOnce(
- Invoke([](const mojo::String& source, const mojo::String& sink,
- const interfaces::MediaRouter::CreateRouteCallback& cb) {
- cb.Run(interfaces::MediaRoutePtr(), mojo::String(kError));
- }));
+ CreateRoute(mojo::String(kSource), mojo::String(kSink), _,
+ mojo::String(kOrigin), kTabId, _))
+ .WillOnce(Invoke([](
+ const mojo::String& source, const mojo::String& sink,
+ const mojo::String& presentation_id, const mojo::String& origin,
+ int tab_id, const interfaces::MediaRouter::CreateRouteCallback& cb) {
+ cb.Run(interfaces::MediaRoutePtr(), mojo::String(kError));
+ }));
RouteResponseCallbackHandler handler;
EXPECT_CALL(handler, InvokeObserver(nullptr, kError));
- router()->CreateRoute(kSource, kSink,
+ router()->CreateRoute(kSource, kSink, GURL(kOrigin), kTabId,
base::Bind(&RouteResponseCallbackHandler::Invoke,
base::Unretained(&handler)));
ProcessEventLoop();
}
+TEST_F(MediaRouterMojoImplTest, JoinRoute) {
+ MediaRoute expected_route(kRouteId, MediaSource(std::string(kSource)),
+ MediaSink(kSink, kSinkName), "", false);
+ interfaces::MediaRoutePtr route = interfaces::MediaRoute::New();
+ route->media_source = kSource;
+ route->media_sink = interfaces::MediaSink::New();
+ route->media_sink->sink_id = kSink;
+ route->media_sink->name = kSinkName;
+ route->media_route_id = kRouteId;
+ route->description = kDescription;
+
+ // Use a lambda function as an invocation target here to work around
+ // a limitation with GMock::Invoke that prevents it from using move-only types
+ // in runnable parameter lists.
+ EXPECT_CALL(mock_mojo_media_router_service_,
+ JoinRoute(mojo::String(kSource), mojo::String(kPresentationId),
+ mojo::String(kOrigin), kTabId, _))
+ .WillOnce(Invoke([&route](
+ const mojo::String& source, const mojo::String& presentation_id,
+ const mojo::String& origin, int tab_id,
+ const interfaces::MediaRouter::JoinRouteCallback& cb) {
+ cb.Run(route.Pass(), mojo::String());
+ }));
+
+ RouteResponseCallbackHandler handler;
+ EXPECT_CALL(handler, InvokeObserver(Pointee(Equals(expected_route)), ""));
+ router()->JoinRoute(kSource, kPresentationId, GURL(kOrigin), kTabId,
+ base::Bind(&RouteResponseCallbackHandler::Invoke,
+ base::Unretained(&handler)));
+ ProcessEventLoop();
+}
+
+TEST_F(MediaRouterMojoImplTest, JoinRouteFails) {
+ EXPECT_CALL(mock_mojo_media_router_service_,
+ JoinRoute(mojo::String(kSource), mojo::String(kPresentationId),
+ mojo::String(kOrigin), kTabId, _))
+ .WillOnce(Invoke(
+ [](const mojo::String& source, const mojo::String& presentation_id,
+ const mojo::String& origin, int tab_id,
+ const interfaces::MediaRouter::JoinRouteCallback& cb) {
+ cb.Run(interfaces::MediaRoutePtr(), mojo::String(kError));
+ }));
+
+ RouteResponseCallbackHandler handler;
+ EXPECT_CALL(handler, InvokeObserver(nullptr, kError));
+ router()->JoinRoute(kSource, kPresentationId, GURL(kOrigin), kTabId,
+ base::Bind(&RouteResponseCallbackHandler::Invoke,
+ base::Unretained(&handler)));
+ ProcessEventLoop();
+}
+
TEST_F(MediaRouterMojoImplTest, CloseRoute) {
EXPECT_CALL(mock_mojo_media_router_service_,
CloseRoute(mojo::String(kRouteId)));
« no previous file with comments | « chrome/browser/media/router/media_router_mojo_impl.cc ('k') | chrome/browser/media/router/mock_media_router.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698