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 #include "base/memory/scoped_ptr.h" | 5 #include "base/memory/scoped_ptr.h" |
6 #include "base/message_loop.h" | 6 #include "base/message_loop.h" |
7 #include "content/renderer/media/media_stream_impl.h" | 7 #include "content/renderer/media/media_stream_impl.h" |
8 #include "content/renderer/media/mock_media_stream_dependency_factory.h" | 8 #include "content/renderer/media/mock_media_stream_dependency_factory.h" |
9 #include "content/renderer/media/mock_media_stream_dispatcher.h" | 9 #include "content/renderer/media/mock_media_stream_dispatcher.h" |
10 #include "content/renderer/media/mock_web_peer_connection_00_handler_client.h" | 10 #include "content/renderer/media/mock_web_peer_connection_00_handler_client.h" |
(...skipping 16 matching lines...) Expand all Loading... |
27 new VideoCaptureImplManager()); | 27 new VideoCaptureImplManager()); |
28 MockMediaStreamDependencyFactory* dependency_factory = | 28 MockMediaStreamDependencyFactory* dependency_factory = |
29 new MockMediaStreamDependencyFactory(); | 29 new MockMediaStreamDependencyFactory(); |
30 ms_impl_.reset(new MediaStreamImpl(NULL, | 30 ms_impl_.reset(new MediaStreamImpl(NULL, |
31 ms_dispatcher_.get(), | 31 ms_dispatcher_.get(), |
32 p2p_socket_dispatcher_.get(), | 32 p2p_socket_dispatcher_.get(), |
33 vc_manager.get(), | 33 vc_manager.get(), |
34 dependency_factory)); | 34 dependency_factory)); |
35 } | 35 } |
36 | 36 |
| 37 void TearDown() { |
| 38 // Make sure the message created by |
| 39 // P2PSocketDispatcher::AsyncMessageSender::Send is handled before |
| 40 // tear down to avoid a memory leak. |
| 41 loop_.RunAllPending(); |
| 42 } |
| 43 |
37 protected: | 44 protected: |
38 MessageLoop loop_; | 45 MessageLoop loop_; |
39 scoped_ptr<MockMediaStreamDispatcher> ms_dispatcher_; | 46 scoped_ptr<MockMediaStreamDispatcher> ms_dispatcher_; |
40 scoped_ptr<content::P2PSocketDispatcher> p2p_socket_dispatcher_; | 47 scoped_ptr<content::P2PSocketDispatcher> p2p_socket_dispatcher_; |
41 scoped_ptr<MediaStreamImpl> ms_impl_; | 48 scoped_ptr<MediaStreamImpl> ms_impl_; |
42 }; | 49 }; |
43 | 50 |
44 TEST_F(MediaStreamImplTest, Basic) { | 51 TEST_F(MediaStreamImplTest, Basic) { |
45 // TODO(grunell): Add tests for WebKit::WebUserMediaClient and | 52 // TODO(grunell): Add tests for WebKit::WebUserMediaClient and |
46 // MediaStreamDispatcherEventHandler implementations. | 53 // MediaStreamDispatcherEventHandler implementations. |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 static_cast<PeerConnectionHandler*>(pc_handler)); | 94 static_cast<PeerConnectionHandler*>(pc_handler)); |
88 EXPECT_EQ(1u, ms_impl_->peer_connection_handlers_.size()); | 95 EXPECT_EQ(1u, ms_impl_->peer_connection_handlers_.size()); |
89 delete pc_handler; | 96 delete pc_handler; |
90 | 97 |
91 // Delete PC handler explicitly after closing to mimic WebKit behavior. | 98 // Delete PC handler explicitly after closing to mimic WebKit behavior. |
92 ms_impl_->ClosePeerConnection( | 99 ms_impl_->ClosePeerConnection( |
93 static_cast<PeerConnectionHandlerJsep*>(pc_handler_jsep)); | 100 static_cast<PeerConnectionHandlerJsep*>(pc_handler_jsep)); |
94 EXPECT_TRUE(ms_impl_->peer_connection_handlers_.empty()); | 101 EXPECT_TRUE(ms_impl_->peer_connection_handlers_.empty()); |
95 delete pc_handler_jsep; | 102 delete pc_handler_jsep; |
96 } | 103 } |
OLD | NEW |