| Index: net/quic/quic_reliable_client_stream_test.cc
|
| diff --git a/net/quic/quic_reliable_client_stream_test.cc b/net/quic/quic_reliable_client_stream_test.cc
|
| index 79579e42c5d3131e8ecdd121736835c833786e90..7155090dd02e4a3a6cb7b238dd747cb5bf914b9e 100644
|
| --- a/net/quic/quic_reliable_client_stream_test.cc
|
| +++ b/net/quic/quic_reliable_client_stream_test.cc
|
| @@ -41,9 +41,10 @@ class QuicReliableClientStreamTest
|
| : public ::testing::TestWithParam<QuicVersion> {
|
| public:
|
| QuicReliableClientStreamTest()
|
| - : session_(new MockConnection(false, SupportedVersions(GetParam()))),
|
| - stream_(kStreamId, &session_, BoundNetLog()) {
|
| - stream_.SetDelegate(&delegate_);
|
| + : session_(new MockConnection(false, SupportedVersions(GetParam()))) {
|
| + stream_ = new QuicReliableClientStream(kStreamId, &session_, BoundNetLog());
|
| + session_.ActivateStream(stream_);
|
| + stream_->SetDelegate(&delegate_);
|
| }
|
|
|
| void InitializeHeaders() {
|
| @@ -78,7 +79,7 @@ class QuicReliableClientStreamTest
|
|
|
| testing::StrictMock<MockDelegate> delegate_;
|
| MockSession session_;
|
| - QuicReliableClientStream stream_;
|
| + QuicReliableClientStream* stream_;
|
| QuicCryptoClientConfig crypto_config_;
|
| SpdyHeaderBlock headers_;
|
| };
|
| @@ -94,21 +95,21 @@ TEST_P(QuicReliableClientStreamTest, OnFinRead) {
|
| uncompressed_headers.size()));
|
| QuicStreamOffset offset = 0;
|
| if (GetParam() > QUIC_VERSION_12) {
|
| - stream_.OnStreamHeaders(uncompressed_headers);
|
| - stream_.OnStreamHeadersComplete(false, uncompressed_headers.length());
|
| + stream_->OnStreamHeaders(uncompressed_headers);
|
| + stream_->OnStreamHeadersComplete(false, uncompressed_headers.length());
|
| } else {
|
| QuicSpdyCompressor compressor;
|
| string compressed_headers = compressor.CompressHeaders(headers_);
|
| QuicStreamFrame frame1(kStreamId, false, 0,
|
| MakeIOVector(compressed_headers));
|
| - stream_.OnStreamFrame(frame1);
|
| + stream_->OnStreamFrame(frame1);
|
| offset = compressed_headers.length();
|
| }
|
|
|
| IOVector iov;
|
| QuicStreamFrame frame2(kStreamId, true, offset, iov);
|
| EXPECT_CALL(delegate_, OnClose(QUIC_NO_ERROR));
|
| - stream_.OnStreamFrame(frame2);
|
| + stream_->OnStreamFrame(frame2);
|
| }
|
|
|
| TEST_P(QuicReliableClientStreamTest, ProcessData) {
|
| @@ -116,7 +117,7 @@ TEST_P(QuicReliableClientStreamTest, ProcessData) {
|
| EXPECT_CALL(delegate_, OnDataReceived(StrEq(data), arraysize(data)));
|
| EXPECT_CALL(delegate_, OnClose(QUIC_NO_ERROR));
|
|
|
| - EXPECT_EQ(arraysize(data), stream_.ProcessData(data, arraysize(data)));
|
| + EXPECT_EQ(arraysize(data), stream_->ProcessData(data, arraysize(data)));
|
| }
|
|
|
| TEST_P(QuicReliableClientStreamTest, ProcessDataWithError) {
|
| @@ -127,14 +128,14 @@ TEST_P(QuicReliableClientStreamTest, ProcessDataWithError) {
|
| EXPECT_CALL(delegate_, OnClose(QUIC_NO_ERROR));
|
|
|
|
|
| - EXPECT_EQ(0u, stream_.ProcessData(data, arraysize(data)));
|
| + EXPECT_EQ(0u, stream_->ProcessData(data, arraysize(data)));
|
| }
|
|
|
| TEST_P(QuicReliableClientStreamTest, OnError) {
|
| EXPECT_CALL(delegate_, OnError(ERR_INTERNET_DISCONNECTED));
|
|
|
| - stream_.OnError(ERR_INTERNET_DISCONNECTED);
|
| - EXPECT_FALSE(stream_.GetDelegate());
|
| + stream_->OnError(ERR_INTERNET_DISCONNECTED);
|
| + EXPECT_FALSE(stream_->GetDelegate());
|
| }
|
|
|
| TEST_P(QuicReliableClientStreamTest, WriteStreamData) {
|
| @@ -144,33 +145,37 @@ TEST_P(QuicReliableClientStreamTest, WriteStreamData) {
|
| const size_t kDataLen = arraysize(kData1);
|
|
|
| // All data written.
|
| - EXPECT_CALL(session_, WritevData(stream_.id(), _, _, _, _, _)).WillOnce(
|
| + EXPECT_CALL(session_, WritevData(stream_->id(), _, _, _, _, _)).WillOnce(
|
| Return(QuicConsumedData(kDataLen, true)));
|
| TestCompletionCallback callback;
|
| - EXPECT_EQ(OK, stream_.WriteStreamData(base::StringPiece(kData1, kDataLen),
|
| - true, callback.callback()));
|
| + EXPECT_EQ(OK, stream_->WriteStreamData(base::StringPiece(kData1, kDataLen),
|
| + true, callback.callback()));
|
| }
|
|
|
| TEST_P(QuicReliableClientStreamTest, WriteStreamDataAsync) {
|
| - EXPECT_CALL(delegate_, HasSendHeadersComplete());
|
| + if (GetParam() > QUIC_VERSION_12) {
|
| + EXPECT_CALL(delegate_, HasSendHeadersComplete()).Times(1);
|
| + } else {
|
| + EXPECT_CALL(delegate_, HasSendHeadersComplete()).Times(2);
|
| + }
|
| EXPECT_CALL(delegate_, OnClose(QUIC_NO_ERROR));
|
|
|
| const char kData1[] = "hello world";
|
| const size_t kDataLen = arraysize(kData1);
|
|
|
| // No data written.
|
| - EXPECT_CALL(session_, WritevData(stream_.id(), _, _, _, _, _)).WillOnce(
|
| + EXPECT_CALL(session_, WritevData(stream_->id(), _, _, _, _, _)).WillOnce(
|
| Return(QuicConsumedData(0, false)));
|
| TestCompletionCallback callback;
|
| EXPECT_EQ(ERR_IO_PENDING,
|
| - stream_.WriteStreamData(base::StringPiece(kData1, kDataLen),
|
| - true, callback.callback()));
|
| + stream_->WriteStreamData(base::StringPiece(kData1, kDataLen),
|
| + true, callback.callback()));
|
| ASSERT_FALSE(callback.have_result());
|
|
|
| // All data written.
|
| - EXPECT_CALL(session_, WritevData(stream_.id(), _, _, _, _, _)).WillOnce(
|
| + EXPECT_CALL(session_, WritevData(stream_->id(), _, _, _, _, _)).WillOnce(
|
| Return(QuicConsumedData(kDataLen, true)));
|
| - stream_.OnCanWrite();
|
| + stream_->OnCanWrite();
|
| ASSERT_TRUE(callback.have_result());
|
| EXPECT_EQ(OK, callback.WaitForResult());
|
| }
|
|
|