Index: content/renderer/media/peer_connection_tracker_unittest.cc |
diff --git a/content/renderer/media/peer_connection_tracker_unittest.cc b/content/renderer/media/peer_connection_tracker_unittest.cc |
index ca5ff796c8c65c4d53da7b5b38f54a4d7d904cb8..32a496fd32f2eee09840d12d94d9f5d3d02a9f5a 100644 |
--- a/content/renderer/media/peer_connection_tracker_unittest.cc |
+++ b/content/renderer/media/peer_connection_tracker_unittest.cc |
@@ -44,6 +44,7 @@ bool MockSendTargetThread::OnMessageReceived(const IPC::Message& msg) { |
class MockPeerConnectionHandler : public RTCPeerConnectionHandler { |
public: |
MockPeerConnectionHandler() : RTCPeerConnectionHandler(&client_, nullptr) {} |
+ MOCK_METHOD0(CloseClientPeerConnection, void()); |
private: |
MockWebRTCPeerConnectionHandlerClient client_; |
@@ -77,6 +78,26 @@ TEST(PeerConnectionTrackerTest, TrackCreateOffer) { |
tracker.TrackCreateOffer(&pc_handler, options); |
} |
+TEST(PeerConnectionTrackerTest, OnSuspend) { |
+ PeerConnectionTracker tracker; |
+ // Initialization stuff. |
+ MockPeerConnectionHandler pc_handler; |
+ MockSendTargetThread target_thread; |
+ webrtc::PeerConnectionInterface::RTCConfiguration config; |
+ blink::WebMediaConstraints constraints; |
+ tracker.OverrideSendTargetForTesting(&target_thread); |
+ EXPECT_CALL(target_thread, OnAddPeerConnection(_)); |
+ tracker.RegisterPeerConnection(&pc_handler, config, constraints, nullptr); |
+// Back to the test. |
+#if defined(OS_ANDROID) |
+ EXPECT_CALL(pc_handler, CloseClientPeerConnection()).Times(0); |
+#else |
+ EXPECT_CALL(pc_handler, CloseClientPeerConnection()); |
+#endif |
+ std::unique_ptr<IPC::Message> message(new PeerConnectionTracker_OnSuspend()); |
+ tracker.OnControlMessageReceived(*message.get()); |
+} |
+ |
// TODO(hta): Write tests for the other tracking functions. |
} // namespace |