Chromium Code Reviews| Index: content/renderer/media/media_stream_dispatcher_unittest.cc |
| diff --git a/content/renderer/media/media_stream_dispatcher_unittest.cc b/content/renderer/media/media_stream_dispatcher_unittest.cc |
| index 5ed18dfd173ccd9101a903881bb06b7820be2b9f..29e73b2949533f4028b9fad701df0e70bb1b1f73 100644 |
| --- a/content/renderer/media/media_stream_dispatcher_unittest.cc |
| +++ b/content/renderer/media/media_stream_dispatcher_unittest.cc |
| @@ -38,7 +38,7 @@ class MockMediaStreamDispatcherEventHandler |
| public base::SupportsWeakPtr<MockMediaStreamDispatcherEventHandler> { |
| public: |
| MockMediaStreamDispatcherEventHandler() |
| - : request_id_(-1) {} |
| + : request_id_(-1), did_receive_devices_changed_(false) {} |
| void OnStreamGenerated( |
| int request_id, |
| @@ -88,6 +88,8 @@ class MockMediaStreamDispatcherEventHandler |
| void OnDeviceOpenFailed(int request_id) override { request_id_ = request_id; } |
| + void OnDevicesChanged() override { did_receive_devices_changed_ = true; } |
| + |
| void ResetStoredParameters() { |
| request_id_ = -1; |
| label_ = ""; |
| @@ -101,6 +103,7 @@ class MockMediaStreamDispatcherEventHandler |
| std::string device_stopped_label_; |
| StreamDeviceInfo audio_device_; |
| StreamDeviceInfo video_device_; |
| + bool did_receive_devices_changed_; |
| }; |
| class MediaStreamDispatcherUnderTest : public MediaStreamDispatcher { |
| @@ -409,4 +412,23 @@ TEST_F(MediaStreamDispatcherTest, DeviceClosed) { |
| StreamDeviceInfo::kNoId); |
| } |
| +// Test that the MediaStreamDispatcherEventHandler is notified when the message |
| +// MediaStreamMsg_DevicesChanged is received. |
| +TEST_F(MediaStreamDispatcherTest, DevicesChanged) { |
| + std::unique_ptr<MockMediaStreamDispatcherEventHandler> handler1( |
| + new MockMediaStreamDispatcherEventHandler); |
| + std::unique_ptr<MockMediaStreamDispatcherEventHandler> handler2( |
| + new MockMediaStreamDispatcherEventHandler); |
| + dispatcher_->SubscribeToDeviceChangeNotifications(handler1->AsWeakPtr(), |
| + security_origin_); |
| + dispatcher_->SubscribeToDeviceChangeNotifications(handler2->AsWeakPtr(), |
| + security_origin_); |
| + dispatcher_->OnMessageReceived(MediaStreamMsg_DevicesChanged(kRouteId)); |
| + dispatcher_->CancelDeviceChangeNotifications(handler1->AsWeakPtr()); |
| + dispatcher_->CancelDeviceChangeNotifications(handler2->AsWeakPtr()); |
|
hta - Chromium
2016/04/26 12:31:00
Do you check the error cases of adding a handler t
Guido Urdaneta
2016/04/26 13:04:19
Done.
|
| + |
| + EXPECT_EQ(true, handler1->did_receive_devices_changed_); |
| + EXPECT_EQ(true, handler2->did_receive_devices_changed_); |
|
hta - Chromium
2016/04/26 12:31:00
Any reason to not EXPECT_TRUE? Seems more readable
Guido Urdaneta
2016/04/26 13:04:18
Done.
|
| +} |
| + |
| } // namespace content |