| Index: webrtc/p2p/base/jseptransport_unittest.cc | 
| diff --git a/webrtc/p2p/base/jseptransport_unittest.cc b/webrtc/p2p/base/jseptransport_unittest.cc | 
| index 2f2510c476e6a922f3575a64c0fd1a405589273a..f882a5de6d54266c3814ac0a5963d22d48292279 100644 | 
| --- a/webrtc/p2p/base/jseptransport_unittest.cc | 
| +++ b/webrtc/p2p/base/jseptransport_unittest.cc | 
| @@ -73,6 +73,41 @@ TEST_F(JsepTransportTest, TestIceCredentialsChanged) { | 
| EXPECT_FALSE(cricket::IceCredentialsChanged("u1", "p1", "u1", "p1")); | 
| } | 
|  | 
| +// Tests SetNeedsIceRestartFlag and NeedsIceRestart, ensuring NeedsIceRestart | 
| +// only starts returning "false" once an ICE restart has been initiated. | 
| +TEST_F(JsepTransportTest, NeedsIceRestart) { | 
| +  // Do initial offer/answer so there's something to restart. | 
| +  cricket::TransportDescription local_desc(kIceUfrag1, kIcePwd1); | 
| +  cricket::TransportDescription remote_desc(kIceUfrag1, kIcePwd1); | 
| +  ASSERT_TRUE(transport_->SetLocalTransportDescription( | 
| +      local_desc, cricket::CA_OFFER, nullptr)); | 
| +  ASSERT_TRUE(transport_->SetRemoteTransportDescription( | 
| +      remote_desc, cricket::CA_ANSWER, nullptr)); | 
| + | 
| +  // Flag initially should be false. | 
| +  EXPECT_FALSE(transport_->NeedsIceRestart()); | 
| + | 
| +  // After setting flag, it should be true. | 
| +  transport_->SetNeedsIceRestartFlag(); | 
| +  EXPECT_TRUE(transport_->NeedsIceRestart()); | 
| + | 
| +  // Doing an identical offer/answer shouldn't clear the flag. | 
| +  ASSERT_TRUE(transport_->SetLocalTransportDescription( | 
| +      local_desc, cricket::CA_OFFER, nullptr)); | 
| +  ASSERT_TRUE(transport_->SetRemoteTransportDescription( | 
| +      remote_desc, cricket::CA_ANSWER, nullptr)); | 
| +  EXPECT_TRUE(transport_->NeedsIceRestart()); | 
| + | 
| +  // Doing an offer/answer that restarts ICE should clear the flag. | 
| +  cricket::TransportDescription ice_restart_local_desc(kIceUfrag2, kIcePwd2); | 
| +  cricket::TransportDescription ice_restart_remote_desc(kIceUfrag2, kIcePwd2); | 
| +  ASSERT_TRUE(transport_->SetLocalTransportDescription( | 
| +      ice_restart_local_desc, cricket::CA_OFFER, nullptr)); | 
| +  ASSERT_TRUE(transport_->SetRemoteTransportDescription( | 
| +      ice_restart_remote_desc, cricket::CA_ANSWER, nullptr)); | 
| +  EXPECT_FALSE(transport_->NeedsIceRestart()); | 
| +} | 
| + | 
| TEST_F(JsepTransportTest, TestGetStats) { | 
| EXPECT_TRUE(SetupChannel()); | 
| cricket::TransportStats stats; | 
|  |