Index: talk/app/webrtc/webrtcsession_unittest.cc |
diff --git a/talk/app/webrtc/webrtcsession_unittest.cc b/talk/app/webrtc/webrtcsession_unittest.cc |
index e81b8b5b545cb57ad7c84f2e56d38fddd2f19ae5..0319b21b0695cadf6cb02d35a0c9eb006766ef99 100644 |
--- a/talk/app/webrtc/webrtcsession_unittest.cc |
+++ b/talk/app/webrtc/webrtcsession_unittest.cc |
@@ -410,6 +410,8 @@ class WebRtcSessionTest |
allocator_.get(), &observer_)); |
session_->SignalDataChannelOpenMessage.connect( |
this, &WebRtcSessionTest::OnDataChannelOpenMessage); |
+ session_->GetOnDestroyedSignal()->connect( |
+ this, &WebRtcSessionTest::OnSessionDestroyed); |
EXPECT_EQ(PeerConnectionInterface::kIceConnectionNew, |
observer_.ice_connection_state_); |
@@ -428,6 +430,8 @@ class WebRtcSessionTest |
last_data_channel_config_ = config; |
} |
+ void OnSessionDestroyed() { session_destroyed_ = true; } |
+ |
void Init() { |
PeerConnectionInterface::RTCConfiguration configuration; |
Init(nullptr, configuration); |
@@ -1473,6 +1477,7 @@ class WebRtcSessionTest |
// Last values received from data channel creation signal. |
std::string last_data_channel_label_; |
InternalDataChannelInit last_data_channel_config_; |
+ bool session_destroyed_; |
joachim
2016/01/21 13:10:54
Just driving by, this should IMHO be initialized t
Taylor Brandstetter
2016/01/21 18:21:07
Good catch, thanks!
|
}; |
TEST_P(WebRtcSessionTest, TestInitializeWithDtls) { |
@@ -4313,6 +4318,14 @@ TEST_F(WebRtcSessionTest, TestPacketOptionsAndOnPacketSent) { |
TestPacketOptions(); |
} |
+// Make sure the signal from "GetOnDestroyedSignal()" fires when the session |
+// is destroyed. |
+TEST_F(WebRtcSessionTest, TestOnDestroyedSignal) { |
+ Init(); |
+ session_.reset(); |
+ EXPECT_TRUE(session_destroyed_); |
+} |
+ |
// TODO(bemasc): Add a TestIceStatesBundle with BUNDLE enabled. That test |
// currently fails because upon disconnection and reconnection OnIceComplete is |
// called more than once without returning to IceGatheringGathering. |