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

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

Issue 2679893002: [Media Router] Add ProvideSinks() Mojo API (Closed)
Patch Set: merge with https://codereview.chromium.org/2675033002/ Created 3 years, 10 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/mojo/media_router_mojo_impl_unittest.cc
diff --git a/chrome/browser/media/router/mojo/media_router_mojo_impl_unittest.cc b/chrome/browser/media/router/mojo/media_router_mojo_impl_unittest.cc
index 1cb5c080ee98ee285406f0328f5f33810225f8e2..633e7635a4c5ac5f59aef3f9b80d57a6902436e3 100644
--- a/chrome/browser/media/router/mojo/media_router_mojo_impl_unittest.cc
+++ b/chrome/browser/media/router/mojo/media_router_mojo_impl_unittest.cc
@@ -1145,6 +1145,43 @@ TEST_F(MediaRouterMojoImplTest, SearchSinks) {
run_loop.RunUntilIdle();
}
+TEST_F(MediaRouterMojoImplTest, ProvideSinks) {
+ MediaRouter::MediaSinkList sinks;
+ MediaSink sink(kSinkId, kSinkName, MediaSink::IconType::CAST);
+ CastSinkExtraData extra_data;
+ extra_data.capabilities = 2;
+ extra_data.cast_channel_id = 3;
+ MediaSinkInternal expected_sink(sink, extra_data);
+ sinks.push_back(expected_sink);
+ std::string provider_name = "cast";
+
+ EXPECT_CALL(mock_media_route_provider_, ProvideSinks(_, _))
+ .WillOnce(Invoke([&](const std::string& actual_provider_name,
+ const MediaRouter::MediaSinkList& actual_sinks) {
mark a. foltz 2017/03/01 06:31:43 Does MediaSink implement == and a copy constructor
zhaobin 2017/03/02 20:24:04 Done.
+ EXPECT_EQ(provider_name, actual_provider_name);
+ EXPECT_EQ(size_t(1), actual_sinks.size());
+
+ MediaSinkInternal actual_sink(actual_sinks[0]);
+ EXPECT_EQ(kSinkId, actual_sink.sink().id());
+ EXPECT_EQ(kSinkName, actual_sink.sink().name());
+ EXPECT_EQ(MediaSink::IconType::CAST, actual_sink.sink().icon_type());
+ EXPECT_FALSE(actual_sink.sink().description());
+ EXPECT_FALSE(actual_sink.sink().domain());
+
+ EXPECT_TRUE(actual_sink.is_cast_sink());
+ EXPECT_FALSE(actual_sink.cast_data().model_name);
+ EXPECT_EQ(extra_data.capabilities,
+ actual_sink.cast_data().capabilities);
+ EXPECT_EQ(extra_data.cast_channel_id,
+ actual_sink.cast_data().cast_channel_id);
+ }));
+
+ router()->ProvideSinks(provider_name, sinks);
+
+ base::RunLoop run_loop;
+ run_loop.RunUntilIdle();
+}
+
class MediaRouterMojoExtensionTest : public ::testing::Test {
public:
MediaRouterMojoExtensionTest() : process_manager_(nullptr) {}

Powered by Google App Engine
This is Rietveld 408576698