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

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

Issue 2869733005: Convert some audio code to OnceCallback. (Closed)
Patch Set: Rebase, comments on unretained. Created 3 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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_stream_dispatcher_host.h" 5 #include "content/browser/renderer_host/media/media_stream_dispatcher_host.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <memory> 8 #include <memory>
9 #include <queue> 9 #include <queue>
10 #include <string> 10 #include <string>
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 opened_device_ = device; 226 opened_device_ = device;
227 } 227 }
228 228
229 const scoped_refptr<base::SingleThreadTaskRunner> task_runner_; 229 const scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
230 IPC::Message* current_ipc_; 230 IPC::Message* current_ipc_;
231 std::queue<base::Closure> quit_closures_; 231 std::queue<base::Closure> quit_closures_;
232 }; 232 };
233 233
234 class MockMediaStreamUIProxy : public FakeMediaStreamUIProxy { 234 class MockMediaStreamUIProxy : public FakeMediaStreamUIProxy {
235 public: 235 public:
236 MOCK_METHOD2( 236 void OnStarted(
237 OnStarted, 237 base::OnceClosure stop,
238 void(const base::Closure& stop, 238 MediaStreamUIProxy::WindowIdCallback window_id_callback) override {
239 const MediaStreamUIProxy::WindowIdCallback& window_id_callback)); 239 // gmock cannot handle move-only types:
240 MockOnStarted(base::AdaptCallbackForRepeating(std::move(stop)));
241 }
242
243 MOCK_METHOD1(MockOnStarted, void(base::Closure stop));
240 }; 244 };
241 245
242 class MediaStreamDispatcherHostTest : public testing::Test { 246 class MediaStreamDispatcherHostTest : public testing::Test {
243 public: 247 public:
244 MediaStreamDispatcherHostTest() 248 MediaStreamDispatcherHostTest()
245 : thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP), 249 : thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP),
246 old_browser_client_(NULL), 250 old_browser_client_(NULL),
247 origin_(GURL("https://test.com")) { 251 origin_(GURL("https://test.com")) {
248 audio_manager_.reset(new media::MockAudioManager( 252 audio_manager_.reset(new media::MockAudioManager(
249 base::MakeUnique<media::TestAudioThread>())); 253 base::MakeUnique<media::TestAudioThread>()));
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 322
319 ASSERT_GT(audio_device_descriptions_.size(), 0u); 323 ASSERT_GT(audio_device_descriptions_.size(), 0u);
320 } 324 }
321 325
322 void TearDown() override { host_->OnChannelClosing(); } 326 void TearDown() override { host_->OnChannelClosing(); }
323 327
324 protected: 328 protected:
325 virtual void SetupFakeUI(bool expect_started) { 329 virtual void SetupFakeUI(bool expect_started) {
326 stream_ui_ = new MockMediaStreamUIProxy(); 330 stream_ui_ = new MockMediaStreamUIProxy();
327 if (expect_started) { 331 if (expect_started) {
328 EXPECT_CALL(*stream_ui_, OnStarted(_, _)); 332 EXPECT_CALL(*stream_ui_, MockOnStarted(_));
329 } 333 }
330 media_stream_manager_->UseFakeUIForTests( 334 media_stream_manager_->UseFakeUIForTests(
331 std::unique_ptr<FakeMediaStreamUIProxy>(stream_ui_)); 335 std::unique_ptr<FakeMediaStreamUIProxy>(stream_ui_));
332 } 336 }
333 337
334 void GenerateStreamAndWaitForResult(int render_frame_id, 338 void GenerateStreamAndWaitForResult(int render_frame_id,
335 int page_request_id, 339 int page_request_id,
336 const StreamControls& controls) { 340 const StreamControls& controls) {
337 base::RunLoop run_loop; 341 base::RunLoop run_loop;
338 int expected_audio_array_size = 342 int expected_audio_array_size =
(...skipping 485 matching lines...) Expand 10 before | Expand all | Expand 10 after
824 host_->OnChannelClosing(); 828 host_->OnChannelClosing();
825 base::RunLoop().RunUntilIdle(); 829 base::RunLoop().RunUntilIdle();
826 } 830 }
827 831
828 TEST_F(MediaStreamDispatcherHostTest, CloseFromUI) { 832 TEST_F(MediaStreamDispatcherHostTest, CloseFromUI) {
829 StreamControls controls(false, true); 833 StreamControls controls(false, true);
830 834
831 base::Closure close_callback; 835 base::Closure close_callback;
832 std::unique_ptr<MockMediaStreamUIProxy> stream_ui( 836 std::unique_ptr<MockMediaStreamUIProxy> stream_ui(
833 new MockMediaStreamUIProxy()); 837 new MockMediaStreamUIProxy());
834 EXPECT_CALL(*stream_ui, OnStarted(_, _)) 838 EXPECT_CALL(*stream_ui, MockOnStarted(_))
835 .WillOnce(SaveArg<0>(&close_callback)); 839 .WillOnce(SaveArg<0>(&close_callback));
836 media_stream_manager_->UseFakeUIForTests(std::move(stream_ui)); 840 media_stream_manager_->UseFakeUIForTests(std::move(stream_ui));
837 841
838 GenerateStreamAndWaitForResult(kRenderId, kPageRequestId, controls); 842 GenerateStreamAndWaitForResult(kRenderId, kPageRequestId, controls);
839 843
840 EXPECT_EQ(host_->audio_devices_.size(), 0u); 844 EXPECT_EQ(host_->audio_devices_.size(), 0u);
841 EXPECT_EQ(host_->video_devices_.size(), 1u); 845 EXPECT_EQ(host_->video_devices_.size(), 1u);
842 846
843 ASSERT_FALSE(close_callback.is_null()); 847 ASSERT_FALSE(close_callback.is_null());
844 EXPECT_CALL(*host_.get(), OnDeviceStopped(kRenderId)); 848 EXPECT_CALL(*host_.get(), OnDeviceStopped(kRenderId));
(...skipping 15 matching lines...) Expand all
860 base::RunLoop run_loop; 864 base::RunLoop run_loop;
861 EXPECT_CALL(*host_.get(), OnDeviceStopped(kRenderId)) 865 EXPECT_CALL(*host_.get(), OnDeviceStopped(kRenderId))
862 .WillOnce(testing::InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit)); 866 .WillOnce(testing::InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit));
863 media_stream_manager_->media_devices_manager()->OnDevicesChanged( 867 media_stream_manager_->media_devices_manager()->OnDevicesChanged(
864 base::SystemMonitor::DEVTYPE_VIDEO_CAPTURE); 868 base::SystemMonitor::DEVTYPE_VIDEO_CAPTURE);
865 869
866 run_loop.Run(); 870 run_loop.Run();
867 } 871 }
868 872
869 }; // namespace content 873 }; // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698