Chromium Code Reviews| 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) {} |