Index: net/spdy/spdy_framer_test.cc |
diff --git a/net/spdy/spdy_framer_test.cc b/net/spdy/spdy_framer_test.cc |
index 6205bb8baefd901c9782f7fa9576d4ad6f88fdc1..48bbd8f3ba038312c042e7daf45e0037018b550a 100644 |
--- a/net/spdy/spdy_framer_test.cc |
+++ b/net/spdy/spdy_framer_test.cc |
@@ -1074,7 +1074,7 @@ TEST_P(SpdyFramerTest, Basic) { |
0x80, spdy_version_ch_, 0x00, 0x03, // RST_STREAM on Stream #1 |
0x00, 0x00, 0x00, 0x08, |
0x00, 0x00, 0x00, 0x01, |
- 0x00, 0x00, 0x00, 0x00, |
+ 0x00, 0x00, 0x00, 0x05, // RST_STREAM_CANCEL |
0x00, 0x00, 0x00, 0x03, // DATA on Stream #3 |
0x00, 0x00, 0x00, 0x00, |
@@ -1082,7 +1082,7 @@ TEST_P(SpdyFramerTest, Basic) { |
0x80, spdy_version_ch_, 0x00, 0x03, // RST_STREAM on Stream #3 |
0x00, 0x00, 0x00, 0x08, |
0x00, 0x00, 0x00, 0x03, |
- 0x00, 0x00, 0x00, 0x00, |
+ 0x00, 0x00, 0x00, 0x05, // RST_STREAM_CANCEL |
}; |
const unsigned char kV3Input[] = { |
@@ -1133,7 +1133,7 @@ TEST_P(SpdyFramerTest, Basic) { |
0x80, spdy_version_ch_, 0x00, 0x03, // RST_STREAM on Stream #1 |
0x00, 0x00, 0x00, 0x08, |
0x00, 0x00, 0x00, 0x01, |
- 0x00, 0x00, 0x00, 0x00, |
+ 0x00, 0x00, 0x00, 0x05, // RST_STREAM_CANCEL |
0x00, 0x00, 0x00, 0x03, // DATA on Stream #3 |
0x00, 0x00, 0x00, 0x00, |
@@ -1141,7 +1141,7 @@ TEST_P(SpdyFramerTest, Basic) { |
0x80, spdy_version_ch_, 0x00, 0x03, // RST_STREAM on Stream #3 |
0x00, 0x00, 0x00, 0x08, |
0x00, 0x00, 0x00, 0x03, |
- 0x00, 0x00, 0x00, 0x00, |
+ 0x00, 0x00, 0x00, 0x05, // RST_STREAM_CANCEL |
}; |
// SYN_STREAM doesn't exist in SPDY4, so instead we send |
@@ -1178,14 +1178,14 @@ TEST_P(SpdyFramerTest, Basic) { |
0x00, 0x04, 0x03, 0x00, // RST_STREAM on Stream #1 |
0x00, 0x00, 0x00, 0x01, |
- 0x00, 0x00, 0x00, 0x00, |
+ 0x00, 0x00, 0x00, 0x08, // RST_STREAM_CANCEL |
0x00, 0x00, 0x00, 0x00, // DATA on Stream #3 |
0x00, 0x00, 0x00, 0x03, |
0x00, 0x0f, 0x03, 0x00, // RST_STREAM on Stream #3 |
0x00, 0x00, 0x00, 0x03, |
- 0x00, 0x00, 0x00, 0x00, |
+ 0x00, 0x00, 0x00, 0x08, // RST_STREAM_CANCEL |
0x52, 0x45, 0x53, 0x45, // opaque data |
0x54, 0x53, 0x54, 0x52, |
0x45, 0x41, 0x4d, |
@@ -4892,31 +4892,42 @@ TEST_P(SpdyFramerTest, RstStreamStatusBounds) { |
SpdyFramer framer(spdy_version_); |
framer.set_visitor(&visitor); |
- EXPECT_CALL(visitor, OnRstStream(1, RST_STREAM_INVALID)); |
if (IsSpdy4()) { |
+ EXPECT_CALL(visitor, OnError(_)); |
framer.ProcessInput(reinterpret_cast<const char*>(kV4RstStreamInvalid), |
arraysize(kV4RstStreamInvalid)); |
+ EXPECT_EQ(SpdyFramer::SPDY_ERROR, framer.state()); |
+ EXPECT_EQ(SpdyFramer::SPDY_INVALID_CONTROL_FRAME, framer.error_code()) |
+ << SpdyFramer::ErrorCodeToString(framer.error_code()); |
} else { |
+ EXPECT_CALL(visitor, OnRstStream(1, RST_STREAM_INVALID)); |
framer.ProcessInput(reinterpret_cast<const char*>(kV3RstStreamInvalid), |
arraysize(kV3RstStreamInvalid)); |
- } |
- EXPECT_EQ(SpdyFramer::SPDY_RESET, framer.state()); |
- EXPECT_EQ(SpdyFramer::SPDY_NO_ERROR, framer.error_code()) |
+ EXPECT_EQ(SpdyFramer::SPDY_RESET, framer.state()); |
+ EXPECT_EQ(SpdyFramer::SPDY_NO_ERROR, framer.error_code()) |
<< SpdyFramer::ErrorCodeToString(framer.error_code()); |
+ } |
+ |
+ |
+ framer.Reset(); |
- EXPECT_CALL(visitor, OnRstStream(1, RST_STREAM_INVALID)); |
if (IsSpdy4()) { |
+ EXPECT_CALL(visitor, OnError(_)); |
framer.ProcessInput( |
reinterpret_cast<const char*>(kV4RstStreamNumStatusCodes), |
arraysize(kV4RstStreamNumStatusCodes)); |
+ EXPECT_EQ(SpdyFramer::SPDY_ERROR, framer.state()); |
+ EXPECT_EQ(SpdyFramer::SPDY_INVALID_CONTROL_FRAME, framer.error_code()) |
+ << SpdyFramer::ErrorCodeToString(framer.error_code()); |
} else { |
+ EXPECT_CALL(visitor, OnRstStream(1, RST_STREAM_INVALID)); |
framer.ProcessInput( |
reinterpret_cast<const char*>(kV3RstStreamNumStatusCodes), |
arraysize(kV3RstStreamNumStatusCodes)); |
- } |
- EXPECT_EQ(SpdyFramer::SPDY_RESET, framer.state()); |
- EXPECT_EQ(SpdyFramer::SPDY_NO_ERROR, framer.error_code()) |
+ EXPECT_EQ(SpdyFramer::SPDY_RESET, framer.state()); |
+ EXPECT_EQ(SpdyFramer::SPDY_NO_ERROR, framer.error_code()) |
<< SpdyFramer::ErrorCodeToString(framer.error_code()); |
+ } |
} |
// Tests handling of a GOAWAY frame with out-of-bounds stream ID. |