| 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 |