| Index: net/quic/core/quic_session_test.cc
|
| diff --git a/net/quic/core/quic_session_test.cc b/net/quic/core/quic_session_test.cc
|
| index a5025626fb99d3bf2a228eb55515006a4c0a4537..6df385124f464e504fca021871faae42a3e7b0df 100644
|
| --- a/net/quic/core/quic_session_test.cc
|
| +++ b/net/quic/core/quic_session_test.cc
|
| @@ -93,6 +93,7 @@ class TestStream : public QuicSpdyStream {
|
| : QuicSpdyStream(id, session) {}
|
|
|
| using QuicStream::CloseWriteSide;
|
| + using QuicStream::SetIsDeletable;
|
|
|
| void OnDataAvailable() override {}
|
|
|
| @@ -228,6 +229,8 @@ class TestSession : public QuicSpdySession {
|
| }
|
|
|
| using QuicSession::PostProcessAfterData;
|
| + using QuicSession::closed_streams;
|
| + using QuicSession::zombie_streams;
|
|
|
| private:
|
| StrictMock<TestCryptoStream> crypto_stream_;
|
| @@ -1346,6 +1349,23 @@ TEST_P(QuicSessionTestClient, EnableFHOLThroughConfigOption) {
|
| }
|
| }
|
|
|
| +TEST_P(QuicSessionTestServer, ZombieStreams) {
|
| + if (!session_.use_stream_notifier()) {
|
| + return;
|
| + }
|
| + TestStream* stream2 = session_.CreateOutgoingDynamicStream(kDefaultPriority);
|
| + stream2->SetIsDeletable(false);
|
| +
|
| + EXPECT_CALL(*connection_, SendRstStream(2, _, _));
|
| + session_.CloseStream(2);
|
| + EXPECT_TRUE(ContainsKey(session_.zombie_streams(), 2));
|
| + EXPECT_TRUE(session_.closed_streams()->empty());
|
| + stream2->SetIsDeletable(true);
|
| + EXPECT_FALSE(ContainsKey(session_.zombie_streams(), 2));
|
| + EXPECT_EQ(1u, session_.closed_streams()->size());
|
| + EXPECT_EQ(2u, session_.closed_streams()->front()->id());
|
| +}
|
| +
|
| } // namespace
|
| } // namespace test
|
| } // namespace net
|
|
|