OLD | NEW |
---|---|
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/renderer_host/media/media_devices_manager.h" | 5 #include "content/browser/renderer_host/media/media_devices_manager.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
118 public: | 118 public: |
119 MOCK_METHOD2(OnDevicesChanged, | 119 MOCK_METHOD2(OnDevicesChanged, |
120 void(MediaDeviceType, const MediaDeviceInfoArray&)); | 120 void(MediaDeviceType, const MediaDeviceInfoArray&)); |
121 }; | 121 }; |
122 | 122 |
123 } // namespace | 123 } // namespace |
124 | 124 |
125 class MediaDevicesManagerTest : public ::testing::Test { | 125 class MediaDevicesManagerTest : public ::testing::Test { |
126 public: | 126 public: |
127 MediaDevicesManagerTest() | 127 MediaDevicesManagerTest() |
128 : video_capture_device_factory_(nullptr), | 128 : thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP), |
129 thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP) {} | 129 video_capture_device_factory_(nullptr) {} |
130 ~MediaDevicesManagerTest() override {} | 130 ~MediaDevicesManagerTest() override {} |
131 | 131 |
132 MOCK_METHOD1(MockCallback, void(const MediaDeviceEnumeration&)); | 132 MOCK_METHOD1(MockCallback, void(const MediaDeviceEnumeration&)); |
133 | 133 |
134 void EnumerateCallback(base::RunLoop* run_loop, | 134 void EnumerateCallback(base::RunLoop* run_loop, |
135 const MediaDeviceEnumeration& result) { | 135 const MediaDeviceEnumeration& result) { |
136 MockCallback(result); | 136 MockCallback(result); |
137 run_loop->Quit(); | 137 run_loop->Quit(); |
138 } | 138 } |
139 | 139 |
140 protected: | 140 protected: |
141 void SetUp() override { | 141 void SetUp() override { |
142 audio_manager_.reset(new MockAudioManager()); | 142 audio_manager_.reset(new MockAudioManager()); |
143 video_capture_manager_ = new VideoCaptureManager( | 143 video_capture_manager_ = new VideoCaptureManager( |
144 std::unique_ptr<media::VideoCaptureDeviceFactory>( | 144 std::unique_ptr<media::VideoCaptureDeviceFactory>( |
145 new MockVideoCaptureDeviceFactory())); | 145 new MockVideoCaptureDeviceFactory())); |
146 video_capture_manager_->Register(nullptr, | 146 video_capture_manager_->Register(nullptr, |
147 base::ThreadTaskRunnerHandle::Get()); | 147 base::ThreadTaskRunnerHandle::Get()); |
148 video_capture_device_factory_ = static_cast<MockVideoCaptureDeviceFactory*>( | 148 video_capture_device_factory_ = static_cast<MockVideoCaptureDeviceFactory*>( |
149 video_capture_manager_->video_capture_device_factory()); | 149 video_capture_manager_->video_capture_device_factory()); |
150 media_devices_manager_.reset(new MediaDevicesManager( | 150 media_devices_manager_.reset(new MediaDevicesManager( |
151 audio_manager_.get(), video_capture_manager_, nullptr)); | 151 audio_manager_.get(), video_capture_manager_, nullptr)); |
152 } | 152 } |
153 | 153 |
154 void EnableCache(MediaDeviceType type) { | 154 void EnableCache(MediaDeviceType type) { |
155 media_devices_manager_->SetCachePolicy( | 155 media_devices_manager_->SetCachePolicy( |
156 type, MediaDevicesManager::CachePolicy::SYSTEM_MONITOR); | 156 type, MediaDevicesManager::CachePolicy::SYSTEM_MONITOR); |
157 } | 157 } |
158 | 158 |
159 TestBrowserThreadBundle thread_bundle_; | |
liberato (no reviews please)
2016/11/29 16:46:52
it's worth a comment here that destruction order i
gab
2016/11/29 18:24:50
Done.
| |
160 | |
159 std::unique_ptr<MediaDevicesManager> media_devices_manager_; | 161 std::unique_ptr<MediaDevicesManager> media_devices_manager_; |
160 scoped_refptr<VideoCaptureManager> video_capture_manager_; | 162 scoped_refptr<VideoCaptureManager> video_capture_manager_; |
161 MockVideoCaptureDeviceFactory* video_capture_device_factory_; | 163 MockVideoCaptureDeviceFactory* video_capture_device_factory_; |
162 TestBrowserThreadBundle thread_bundle_; | |
163 std::unique_ptr<MockAudioManager, media::AudioManagerDeleter> audio_manager_; | 164 std::unique_ptr<MockAudioManager, media::AudioManagerDeleter> audio_manager_; |
164 | 165 |
165 private: | 166 private: |
166 DISALLOW_COPY_AND_ASSIGN(MediaDevicesManagerTest); | 167 DISALLOW_COPY_AND_ASSIGN(MediaDevicesManagerTest); |
167 }; | 168 }; |
168 | 169 |
169 TEST_F(MediaDevicesManagerTest, EnumerateNoCacheAudioInput) { | 170 TEST_F(MediaDevicesManagerTest, EnumerateNoCacheAudioInput) { |
170 EXPECT_CALL(*audio_manager_, MockGetAudioInputDeviceNames(_)) | 171 EXPECT_CALL(*audio_manager_, MockGetAudioInputDeviceNames(_)) |
171 .Times(kNumCalls); | 172 .Times(kNumCalls); |
172 EXPECT_CALL(*video_capture_device_factory_, MockGetDeviceDescriptors()) | 173 EXPECT_CALL(*video_capture_device_factory_, MockGetDeviceDescriptors()) |
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
557 media_devices_manager_->OnDevicesChanged(base::SystemMonitor::DEVTYPE_AUDIO); | 558 media_devices_manager_->OnDevicesChanged(base::SystemMonitor::DEVTYPE_AUDIO); |
558 media_devices_manager_->OnDevicesChanged( | 559 media_devices_manager_->OnDevicesChanged( |
559 base::SystemMonitor::DEVTYPE_VIDEO_CAPTURE); | 560 base::SystemMonitor::DEVTYPE_VIDEO_CAPTURE); |
560 base::RunLoop().RunUntilIdle(); | 561 base::RunLoop().RunUntilIdle(); |
561 EXPECT_EQ(num_audio_input_devices, notification_all_audio_input.size()); | 562 EXPECT_EQ(num_audio_input_devices, notification_all_audio_input.size()); |
562 EXPECT_EQ(num_video_input_devices, notification_all_video_input.size()); | 563 EXPECT_EQ(num_video_input_devices, notification_all_video_input.size()); |
563 EXPECT_EQ(num_audio_output_devices, notification_all_audio_output.size()); | 564 EXPECT_EQ(num_audio_output_devices, notification_all_audio_output.size()); |
564 } | 565 } |
565 | 566 |
566 } // namespace content | 567 } // namespace content |
OLD | NEW |