| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "net/tools/quic/quic_spdy_server_stream.h" | 5 #include "net/tools/quic/quic_spdy_server_stream.h" |
| 6 | 6 |
| 7 #include "base/strings/string_number_conversions.h" | 7 #include "base/strings/string_number_conversions.h" |
| 8 #include "base/strings/string_piece.h" | 8 #include "base/strings/string_piece.h" |
| 9 #include "net/quic/quic_connection.h" | 9 #include "net/quic/quic_connection.h" |
| 10 #include "net/quic/quic_flags.h" | 10 #include "net/quic/quic_flags.h" |
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 170 stream_->OnStreamHeaders(headers_string_); | 170 stream_->OnStreamHeaders(headers_string_); |
| 171 stream_->OnStreamHeadersComplete(false, headers_string_.size()); | 171 stream_->OnStreamHeadersComplete(false, headers_string_.size()); |
| 172 stream_->OnStreamFrame( | 172 stream_->OnStreamFrame( |
| 173 QuicStreamFrame(stream_->id(), /*fin=*/false, /*offset=*/0, body_)); | 173 QuicStreamFrame(stream_->id(), /*fin=*/false, /*offset=*/0, body_)); |
| 174 EXPECT_EQ("11", StreamHeadersValue("content-length")); | 174 EXPECT_EQ("11", StreamHeadersValue("content-length")); |
| 175 EXPECT_EQ("/", StreamHeadersValue(":path")); | 175 EXPECT_EQ("/", StreamHeadersValue(":path")); |
| 176 EXPECT_EQ("POST", StreamHeadersValue(":method")); | 176 EXPECT_EQ("POST", StreamHeadersValue(":method")); |
| 177 EXPECT_EQ(body_, StreamBody()); | 177 EXPECT_EQ(body_, StreamBody()); |
| 178 } | 178 } |
| 179 | 179 |
| 180 TEST_P(QuicSpdyServerStreamTest, SendQuicRstStreamNoErrorInStopReading) { |
| 181 EXPECT_CALL(session_, WritevData(_, _, _, _, _, _)) |
| 182 .Times(AnyNumber()) |
| 183 .WillRepeatedly(Invoke(ConsumeAllData)); |
| 184 |
| 185 EXPECT_FALSE(stream_->fin_received()); |
| 186 EXPECT_FALSE(stream_->rst_received()); |
| 187 |
| 188 stream_->set_fin_sent(true); |
| 189 stream_->CloseWriteSide(); |
| 190 |
| 191 if (GetParam() > QUIC_VERSION_28) { |
| 192 EXPECT_CALL(session_, SendRstStream(_, QUIC_STREAM_NO_ERROR, _)).Times(1); |
| 193 } else { |
| 194 EXPECT_CALL(session_, SendRstStream(_, QUIC_STREAM_NO_ERROR, _)).Times(0); |
| 195 } |
| 196 stream_->StopReading(); |
| 197 } |
| 198 |
| 180 TEST_P(QuicSpdyServerStreamTest, TestFramingExtraData) { | 199 TEST_P(QuicSpdyServerStreamTest, TestFramingExtraData) { |
| 181 string large_body = "hello world!!!!!!"; | 200 string large_body = "hello world!!!!!!"; |
| 182 | 201 |
| 183 // We'll automatically write out an error (headers + body) | 202 // We'll automatically write out an error (headers + body) |
| 184 EXPECT_CALL(session_, WritevData(_, _, _, _, _, _)).Times(AnyNumber()). | 203 EXPECT_CALL(session_, WritevData(_, _, _, _, _, _)).Times(AnyNumber()). |
| 185 WillRepeatedly(Invoke(ConsumeAllData)); | 204 WillRepeatedly(Invoke(ConsumeAllData)); |
| 186 EXPECT_CALL(session_, SendRstStream(_, QUIC_STREAM_NO_ERROR, _)).Times(0); | 205 EXPECT_CALL(session_, SendRstStream(_, QUIC_STREAM_NO_ERROR, _)).Times(0); |
| 187 | 206 |
| 188 stream_->OnStreamHeaders(headers_string_); | 207 stream_->OnStreamHeaders(headers_string_); |
| 189 stream_->OnStreamHeadersComplete(false, headers_string_.size()); | 208 stream_->OnStreamHeadersComplete(false, headers_string_.size()); |
| (...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 370 StringPiece data(arr, arraysize(arr)); | 389 StringPiece data(arr, arraysize(arr)); |
| 371 QuicStreamFrame frame(stream_->id(), true, 0, data); | 390 QuicStreamFrame frame(stream_->id(), true, 0, data); |
| 372 // Verify that we don't crash when we get a invalid headers in stream frame. | 391 // Verify that we don't crash when we get a invalid headers in stream frame. |
| 373 stream_->OnStreamFrame(frame); | 392 stream_->OnStreamFrame(frame); |
| 374 } | 393 } |
| 375 | 394 |
| 376 } // namespace | 395 } // namespace |
| 377 } // namespace test | 396 } // namespace test |
| 378 } // namespace tools | 397 } // namespace tools |
| 379 } // namespace net | 398 } // namespace net |
| OLD | NEW |