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

Side by Side Diff: content/browser/renderer_host/media/media_devices_manager_unittest.cc

Issue 2535043003: Fix MediaDevices* tests dependency on BrowserThread globals after ~BrowserThreadImpl(). (Closed)
Patch Set: Created 4 years 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 unified diff | Download patch
OLDNEW
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698