| Index: net/quic/quic_headers_stream_test.cc
|
| diff --git a/net/quic/quic_headers_stream_test.cc b/net/quic/quic_headers_stream_test.cc
|
| index 99b4948fa33203aa1f4fc9b7cbd5f3cadb9bcfa8..469d70edece493ab588a9b3aae59a1e590e6c34c 100644
|
| --- a/net/quic/quic_headers_stream_test.cc
|
| +++ b/net/quic/quic_headers_stream_test.cc
|
| @@ -23,7 +23,6 @@
|
| using testing::ElementsAre;
|
| using testing::InSequence;
|
| using testing::Invoke;
|
| -using testing::Return;
|
| using testing::StrictMock;
|
| using testing::WithArgs;
|
| using testing::_;
|
| @@ -163,29 +162,6 @@
|
| saved_header_data_.append(data.data(), data.length());
|
| }
|
|
|
| - void SavePromiseHeaderList(QuicStreamId /* stream_id */,
|
| - QuicStreamId /* promised_stream_id */,
|
| - size_t size,
|
| - const QuicHeaderList& header_list) {
|
| - SaveToHandler(size, header_list);
|
| - }
|
| -
|
| - void SaveHeaderList(QuicStreamId /* stream_id */,
|
| - bool /* fin */,
|
| - size_t size,
|
| - const QuicHeaderList& header_list) {
|
| - SaveToHandler(size, header_list);
|
| - }
|
| -
|
| - void SaveToHandler(size_t size, const QuicHeaderList& header_list) {
|
| - headers_handler_.reset(new TestHeadersHandler);
|
| - headers_handler_->OnHeaderBlockStart();
|
| - for (const auto& p : header_list) {
|
| - headers_handler_->OnHeader(p.first, p.second);
|
| - }
|
| - headers_handler_->OnHeaderBlockEnd(size);
|
| - }
|
| -
|
| void WriteHeadersAndExpectSynStream(QuicStreamId stream_id,
|
| bool fin,
|
| SpdyPriority priority) {
|
| @@ -218,10 +194,9 @@
|
| /*parent_stream_id=*/0,
|
| /*exclusive=*/false, fin, kFrameComplete));
|
| }
|
| - headers_handler_.reset(new TestHeadersHandler);
|
| - EXPECT_CALL(visitor_, OnHeaderFrameStart(stream_id))
|
| - .WillOnce(Return(headers_handler_.get()));
|
| - EXPECT_CALL(visitor_, OnHeaderFrameEnd(stream_id, true)).Times(1);
|
| + EXPECT_CALL(visitor_, OnControlFrameHeaderData(stream_id, _, _))
|
| + .WillRepeatedly(WithArgs<1, 2>(
|
| + Invoke(this, &QuicHeadersStreamTest::SaveHeaderData)));
|
| if (fin) {
|
| EXPECT_CALL(visitor_, OnStreamEnd(stream_id));
|
| }
|
| @@ -234,8 +209,11 @@
|
| }
|
|
|
| void CheckHeaders() {
|
| - EXPECT_EQ(headers_, headers_handler_->decoded_block());
|
| - headers_handler_.reset();
|
| + SpdyHeaderBlock headers;
|
| + EXPECT_TRUE(framer_->ParseHeaderBlockInBuffer(
|
| + saved_header_data_.data(), saved_header_data_.length(), &headers));
|
| + EXPECT_EQ(headers_, headers);
|
| + saved_header_data_.clear();
|
| }
|
|
|
| Perspective perspective() { return GetParam().perspective; }
|
| @@ -263,7 +241,6 @@
|
| StrictMock<MockQuicSpdySession> session_;
|
| QuicHeadersStream* headers_stream_;
|
| SpdyHeaderBlock headers_;
|
| - std::unique_ptr<TestHeadersHandler> headers_handler_;
|
| string body_;
|
| string saved_data_;
|
| string saved_header_data_;
|
| @@ -311,10 +288,9 @@
|
| // Parse the outgoing data and check that it matches was was written.
|
| EXPECT_CALL(visitor_,
|
| OnPushPromise(stream_id, promised_stream_id, kFrameComplete));
|
| - headers_handler_.reset(new TestHeadersHandler);
|
| - EXPECT_CALL(visitor_, OnHeaderFrameStart(stream_id))
|
| - .WillOnce(Return(headers_handler_.get()));
|
| - EXPECT_CALL(visitor_, OnHeaderFrameEnd(stream_id, true)).Times(1);
|
| + EXPECT_CALL(visitor_, OnControlFrameHeaderData(stream_id, _, _))
|
| + .WillRepeatedly(WithArgs<1, 2>(
|
| + Invoke(this, &QuicHeadersStreamTest::SaveHeaderData)));
|
| framer_->ProcessInput(saved_data_.data(), saved_data_.length());
|
| EXPECT_FALSE(framer_->HasError())
|
| << SpdyFramer::ErrorCodeToString(framer_->error_code());
|
| @@ -348,9 +324,11 @@
|
| headers_frame.set_fin(fin);
|
| frame = framer_->SerializeFrame(headers_frame);
|
| }
|
| + EXPECT_CALL(session_, OnStreamHeaders(stream_id, _))
|
| + .WillRepeatedly(WithArgs<1>(Invoke(
|
| + this, &QuicHeadersStreamTest::SaveHeaderDataStringPiece)));
|
| EXPECT_CALL(session_,
|
| - OnStreamHeaderList(stream_id, fin, frame.size(), _))
|
| - .WillOnce(Invoke(this, &QuicHeadersStreamTest::SaveHeaderList));
|
| + OnStreamHeadersComplete(stream_id, fin, frame.size()));
|
| stream_frame_.data_buffer = frame.data();
|
| stream_frame_.data_length = frame.size();
|
| headers_stream_->OnStreamFrame(stream_frame_);
|
| @@ -377,10 +355,11 @@
|
| .WillRepeatedly(InvokeWithoutArgs(
|
| this, &QuicHeadersStreamTest::TearDownLocalConnectionState));
|
| } else {
|
| - EXPECT_CALL(session_, OnPromiseHeaderList(stream_id, promised_stream_id,
|
| - frame.size(), _))
|
| - .WillOnce(
|
| - Invoke(this, &QuicHeadersStreamTest::SavePromiseHeaderList));
|
| + EXPECT_CALL(session_, OnPromiseHeaders(stream_id, _))
|
| + .WillRepeatedly(WithArgs<1>(
|
| + Invoke(this, &QuicHeadersStreamTest::SaveHeaderDataStringPiece)));
|
| + EXPECT_CALL(session_, OnPromiseHeadersComplete(
|
| + stream_id, promised_stream_id, frame.size()));
|
| }
|
| stream_frame_.data_buffer = frame.data();
|
| stream_frame_.data_length = frame.size();
|
| @@ -416,8 +395,9 @@
|
| headers_frame.set_fin(fin);
|
| frame = framer_->SerializeFrame(headers_frame);
|
| }
|
| - EXPECT_CALL(session_, OnStreamHeaderList(stream_id, fin, frame.size(), _))
|
| - .Times(1);
|
| + EXPECT_CALL(session_, OnStreamHeaders(stream_id, _));
|
| + EXPECT_CALL(session_,
|
| + OnStreamHeadersComplete(stream_id, fin, frame.size()));
|
| stream_frame_.data_buffer = frame.data();
|
| stream_frame_.data_length = frame.size();
|
| headers_stream_->OnStreamFrame(stream_frame_);
|
| @@ -459,7 +439,9 @@
|
| DVLOG(1) << "make frame for stream " << stream_num << " offset "
|
| << stream_frames[stream_num].offset;
|
| stream_frame_.offset += frames[stream_num].size();
|
| - EXPECT_CALL(session_, OnStreamHeaderList(stream_id, fin, _, _)).Times(1);
|
| + EXPECT_CALL(session_, OnStreamHeaders(stream_id, _)).Times(1);
|
| + EXPECT_CALL(session_, OnStreamHeadersComplete(stream_id, fin, _))
|
| + .Times(1);
|
| }
|
| }
|
|
|
| @@ -500,9 +482,11 @@
|
| headers_frame.set_fin(fin);
|
| frame = framer_->SerializeFrame(headers_frame);
|
| }
|
| + EXPECT_CALL(session_, OnStreamHeaders(stream_id, _))
|
| + .WillRepeatedly(WithArgs<1>(Invoke(
|
| + this, &QuicHeadersStreamTest::SaveHeaderDataStringPiece)));
|
| EXPECT_CALL(session_,
|
| - OnStreamHeaderList(stream_id, fin, frame.size(), _))
|
| - .WillOnce(Invoke(this, &QuicHeadersStreamTest::SaveHeaderList));
|
| + OnStreamHeadersComplete(stream_id, fin, frame.size()));
|
| stream_frame_.data_buffer = frame.data();
|
| stream_frame_.data_length = frame.size();
|
| headers_stream_->OnStreamFrame(stream_frame_);
|
|
|