OLD | NEW |
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 // Unit test for VideoCaptureController. | 5 // Unit test for VideoCaptureController. |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
11 #include "base/memory/scoped_ptr.h" | 11 #include "base/memory/scoped_ptr.h" |
12 #include "base/message_loop.h" | 12 #include "base/message_loop.h" |
13 #include "base/process_util.h" | 13 #include "base/process_util.h" |
14 #include "content/browser/browser_thread_impl.h" | 14 #include "content/browser/browser_thread_impl.h" |
15 #include "content/browser/renderer_host/media/media_stream_provider.h" | 15 #include "content/browser/renderer_host/media/media_stream_provider.h" |
16 #include "content/browser/renderer_host/media/video_capture_controller.h" | 16 #include "content/browser/renderer_host/media/video_capture_controller.h" |
17 #include "content/browser/renderer_host/media/video_capture_manager.h" | 17 #include "content/browser/renderer_host/media/video_capture_manager.h" |
18 #include "content/common/media/media_stream_options.h" | 18 #include "content/common/media/media_stream_options.h" |
19 #include "media/video/capture/fake_video_capture_device.h" | 19 #include "media/video/capture/fake_video_capture_device.h" |
20 #include "media/video/capture/video_capture_device.h" | 20 #include "media/video/capture/video_capture_device.h" |
21 #include "testing/gmock/include/gmock/gmock.h" | 21 #include "testing/gmock/include/gmock/gmock.h" |
22 #include "testing/gtest/include/gtest/gtest.h" | 22 #include "testing/gtest/include/gtest/gtest.h" |
23 | 23 |
24 using ::testing::_; | 24 using ::testing::_; |
25 using ::testing::AnyNumber; | 25 using ::testing::AnyNumber; |
26 using ::testing::AtLeast; | 26 using ::testing::AtLeast; |
27 using ::testing::InSequence; | 27 using ::testing::InSequence; |
28 using ::testing::Return; | 28 using ::testing::Return; |
29 using content::BrowserThread; | 29 |
30 using content::BrowserThreadImpl; | 30 namespace content { |
31 | 31 |
32 enum { kDeviceId = 1 }; | 32 enum { kDeviceId = 1 }; |
33 | 33 |
34 ACTION_P4(StopCapture, controller, controller_id, controller_handler, | 34 ACTION_P4(StopCapture, controller, controller_id, controller_handler, |
35 message_loop) { | 35 message_loop) { |
36 message_loop->PostTask(FROM_HERE, | 36 message_loop->PostTask(FROM_HERE, |
37 base::Bind(&VideoCaptureController::StopCapture, | 37 base::Bind(&VideoCaptureController::StopCapture, |
38 controller, controller_id, controller_handler)); | 38 controller, controller_id, controller_handler)); |
39 message_loop->PostTask(FROM_HERE, MessageLoop::QuitClosure()); | 39 message_loop->PostTask(FROM_HERE, MessageLoop::QuitClosure()); |
40 } | 40 } |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
90 EXPECT_EQ(id, controller_id_); | 90 EXPECT_EQ(id, controller_id_); |
91 DoPaused(id); | 91 DoPaused(id); |
92 } | 92 } |
93 | 93 |
94 scoped_refptr<VideoCaptureController> controller_; | 94 scoped_refptr<VideoCaptureController> controller_; |
95 MessageLoop* message_loop_; | 95 MessageLoop* message_loop_; |
96 VideoCaptureControllerID controller_id_; | 96 VideoCaptureControllerID controller_id_; |
97 base::ProcessHandle process_handle_; | 97 base::ProcessHandle process_handle_; |
98 }; | 98 }; |
99 | 99 |
100 class MockVideoCaptureManager | 100 class MockVideoCaptureManager : public VideoCaptureManager { |
101 : public media_stream::VideoCaptureManager { | |
102 public: | 101 public: |
103 MockVideoCaptureManager() | 102 MockVideoCaptureManager() |
104 : video_session_id_(kStartOpenSessionId) {} | 103 : video_session_id_(kStartOpenSessionId) {} |
105 | 104 |
106 void Init() { | 105 void Init() { |
107 device_name_.unique_id = "/dev/video0"; | 106 device_name_.unique_id = "/dev/video0"; |
108 device_name_.device_name = "fake_device_0"; | 107 device_name_.device_name = "fake_device_0"; |
109 | 108 |
110 video_capture_device_.reset( | 109 video_capture_device_.reset( |
111 media::FakeVideoCaptureDevice::Create(device_name_)); | 110 media::FakeVideoCaptureDevice::Create(device_name_)); |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
258 message_loop_->PostDelayedTask( | 257 message_loop_->PostDelayedTask( |
259 FROM_HERE, MessageLoop::QuitClosure(), base::TimeDelta::FromSeconds(1)); | 258 FROM_HERE, MessageLoop::QuitClosure(), base::TimeDelta::FromSeconds(1)); |
260 message_loop_->Run(); | 259 message_loop_->Run(); |
261 | 260 |
262 EXPECT_CALL(*vcm_, | 261 EXPECT_CALL(*vcm_, |
263 StopCapture(vcm_->video_session_id_)) | 262 StopCapture(vcm_->video_session_id_)) |
264 .Times(1); | 263 .Times(1); |
265 controller_->StopCapture(controller_handler_->controller_id_, | 264 controller_->StopCapture(controller_handler_->controller_id_, |
266 controller_handler_.get()); | 265 controller_handler_.get()); |
267 } | 266 } |
| 267 |
| 268 } // namespace content |
OLD | NEW |