Index: webrtc/p2p/quic/quicsession_unittest.cc |
diff --git a/webrtc/p2p/quic/quicsession_unittest.cc b/webrtc/p2p/quic/quicsession_unittest.cc |
index 2e2d6ae0a6af3a77bf7516d1d53fd2dd1014b3de..04b7d1ee7faa1b948844e2b8cf8d2df6ed4c89ca 100644 |
--- a/webrtc/p2p/quic/quicsession_unittest.cc |
+++ b/webrtc/p2p/quic/quicsession_unittest.cc |
@@ -450,3 +450,17 @@ TEST_F(QuicSessionTest, CannotCreateDataStreamBeforeHandshake) { |
EXPECT_EQ(nullptr, server_peer_->CreateOutgoingDynamicStream(5)); |
EXPECT_EQ(nullptr, client_peer_->CreateOutgoingDynamicStream(5)); |
} |
+ |
+// Test that closing a QUIC stream causes the QuicSession to remove it. |
+TEST_F(QuicSessionTest, CloseQuicStream) { |
+ CreateClientAndServerSessions(); |
+ StartHandshake(true, true); |
+ ASSERT_TRUE_WAIT(client_peer_->IsCryptoHandshakeConfirmed() && |
+ server_peer_->IsCryptoHandshakeConfirmed(), |
+ kTimeoutMs); |
+ ReliableQuicStream* stream = client_peer_->CreateOutgoingDynamicStream(5); |
+ ASSERT_NE(nullptr, stream); |
+ EXPECT_FALSE(client_peer_->IsClosedStream(stream->id())); |
+ stream->Close(); |
+ EXPECT_TRUE(client_peer_->IsClosedStream(stream->id())); |
+} |