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" |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 : controller_(controller), | 54 : controller_(controller), |
55 message_loop_(message_loop), | 55 message_loop_(message_loop), |
56 controller_id_(kDeviceId), | 56 controller_id_(kDeviceId), |
57 process_handle_(base::kNullProcessHandle) { | 57 process_handle_(base::kNullProcessHandle) { |
58 } | 58 } |
59 virtual ~MockVideoCaptureControllerEventHandler() {} | 59 virtual ~MockVideoCaptureControllerEventHandler() {} |
60 | 60 |
61 MOCK_METHOD1(DoBufferCreated, void(const VideoCaptureControllerID&)); | 61 MOCK_METHOD1(DoBufferCreated, void(const VideoCaptureControllerID&)); |
62 MOCK_METHOD1(DoBufferReady, void(const VideoCaptureControllerID&)); | 62 MOCK_METHOD1(DoBufferReady, void(const VideoCaptureControllerID&)); |
63 MOCK_METHOD1(DoFrameInfo, void(const VideoCaptureControllerID&)); | 63 MOCK_METHOD1(DoFrameInfo, void(const VideoCaptureControllerID&)); |
64 MOCK_METHOD1(DoPaused, void(const VideoCaptureControllerID&)); | 64 MOCK_METHOD1(DoEnded, void(const VideoCaptureControllerID&)); |
65 | 65 |
66 virtual void OnError(const VideoCaptureControllerID& id) OVERRIDE {} | 66 virtual void OnError(const VideoCaptureControllerID& id) OVERRIDE {} |
67 virtual void OnBufferCreated(const VideoCaptureControllerID& id, | 67 virtual void OnBufferCreated(const VideoCaptureControllerID& id, |
68 base::SharedMemoryHandle handle, | 68 base::SharedMemoryHandle handle, |
69 int length, int buffer_id) OVERRIDE { | 69 int length, int buffer_id) OVERRIDE { |
70 EXPECT_EQ(id, controller_id_); | 70 EXPECT_EQ(id, controller_id_); |
71 DoBufferCreated(id); | 71 DoBufferCreated(id); |
72 } | 72 } |
73 virtual void OnBufferReady(const VideoCaptureControllerID& id, | 73 virtual void OnBufferReady(const VideoCaptureControllerID& id, |
74 int buffer_id, | 74 int buffer_id, |
75 base::Time timestamp) OVERRIDE { | 75 base::Time timestamp) OVERRIDE { |
76 EXPECT_EQ(id, controller_id_); | 76 EXPECT_EQ(id, controller_id_); |
77 DoBufferReady(id); | 77 DoBufferReady(id); |
78 message_loop_->PostTask(FROM_HERE, | 78 message_loop_->PostTask(FROM_HERE, |
79 base::Bind(&VideoCaptureController::ReturnBuffer, | 79 base::Bind(&VideoCaptureController::ReturnBuffer, |
80 controller_, controller_id_, this, buffer_id)); | 80 controller_, controller_id_, this, buffer_id)); |
81 } | 81 } |
82 virtual void OnFrameInfo(const VideoCaptureControllerID& id, | 82 virtual void OnFrameInfo(const VideoCaptureControllerID& id, |
83 int width, | 83 int width, |
84 int height, | 84 int height, |
85 int frame_per_second) OVERRIDE { | 85 int frame_per_second) OVERRIDE { |
86 EXPECT_EQ(id, controller_id_); | 86 EXPECT_EQ(id, controller_id_); |
87 DoFrameInfo(id); | 87 DoFrameInfo(id); |
88 } | 88 } |
89 virtual void OnPaused(const VideoCaptureControllerID& id) OVERRIDE { | 89 virtual void OnEnded(const VideoCaptureControllerID& id) OVERRIDE { |
90 EXPECT_EQ(id, controller_id_); | 90 EXPECT_EQ(id, controller_id_); |
91 DoPaused(id); | 91 DoEnded(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 : public VideoCaptureManager { | 100 class MockVideoCaptureManager : public VideoCaptureManager { |
101 public: | 101 public: |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
233 EXPECT_CALL(*controller_handler_, | 233 EXPECT_CALL(*controller_handler_, |
234 DoBufferCreated(controller_handler_->controller_id_)) | 234 DoBufferCreated(controller_handler_->controller_id_)) |
235 .Times(AtLeast(1)); | 235 .Times(AtLeast(1)); |
236 EXPECT_CALL(*controller_handler_, | 236 EXPECT_CALL(*controller_handler_, |
237 DoBufferReady(controller_handler_->controller_id_)) | 237 DoBufferReady(controller_handler_->controller_id_)) |
238 .Times(AtLeast(1)) | 238 .Times(AtLeast(1)) |
239 .WillOnce(StopSession(controller_.get(), | 239 .WillOnce(StopSession(controller_.get(), |
240 vcm_->video_session_id_, | 240 vcm_->video_session_id_, |
241 message_loop_.get())); | 241 message_loop_.get())); |
242 EXPECT_CALL(*controller_handler_, | 242 EXPECT_CALL(*controller_handler_, |
243 DoPaused(controller_handler_->controller_id_)) | 243 DoEnded(controller_handler_->controller_id_)) |
244 .Times(1); | 244 .Times(1); |
245 | 245 |
246 controller_->StartCapture(controller_handler_->controller_id_, | 246 controller_->StartCapture(controller_handler_->controller_id_, |
247 controller_handler_.get(), | 247 controller_handler_.get(), |
248 controller_handler_->process_handle_, | 248 controller_handler_->process_handle_, |
249 capture_params); | 249 capture_params); |
250 message_loop_->Run(); | 250 message_loop_->Run(); |
251 | 251 |
252 // The session is stopped now. There should be no buffer coming from | 252 // The session is stopped now. There should be no buffer coming from |
253 // controller. | 253 // controller. |
254 EXPECT_CALL(*controller_handler_, | 254 EXPECT_CALL(*controller_handler_, |
255 DoBufferReady(controller_handler_->controller_id_)) | 255 DoBufferReady(controller_handler_->controller_id_)) |
256 .Times(0); | 256 .Times(0); |
257 message_loop_->PostDelayedTask( | 257 message_loop_->PostDelayedTask( |
258 FROM_HERE, MessageLoop::QuitClosure(), base::TimeDelta::FromSeconds(1)); | 258 FROM_HERE, MessageLoop::QuitClosure(), base::TimeDelta::FromSeconds(1)); |
259 message_loop_->Run(); | 259 message_loop_->Run(); |
260 | 260 |
261 EXPECT_CALL(*vcm_, | 261 EXPECT_CALL(*vcm_, |
262 StopCapture(vcm_->video_session_id_)) | 262 StopCapture(vcm_->video_session_id_)) |
263 .Times(1); | 263 .Times(1); |
264 controller_->StopCapture(controller_handler_->controller_id_, | 264 controller_->StopCapture(controller_handler_->controller_id_, |
265 controller_handler_.get()); | 265 controller_handler_.get()); |
266 } | 266 } |
267 | 267 |
268 } // namespace content | 268 } // namespace content |
OLD | NEW |