| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <algorithm> | 5 #include <algorithm> |
| 6 #include <iostream> | 6 #include <iostream> |
| 7 #include <limits> | 7 #include <limits> |
| 8 | 8 |
| 9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
| 10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
| (...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 287 size_t len, | 287 size_t len, |
| 288 bool fin) override { | 288 bool fin) override { |
| 289 EXPECT_EQ(header_stream_id_, stream_id); | 289 EXPECT_EQ(header_stream_id_, stream_id); |
| 290 if (len == 0) | 290 if (len == 0) |
| 291 ++zero_length_data_frame_count_; | 291 ++zero_length_data_frame_count_; |
| 292 | 292 |
| 293 data_bytes_ += len; | 293 data_bytes_ += len; |
| 294 std::cerr << "OnStreamFrameData(" << stream_id << ", \""; | 294 std::cerr << "OnStreamFrameData(" << stream_id << ", \""; |
| 295 if (len > 0) { | 295 if (len > 0) { |
| 296 for (size_t i = 0 ; i < len; ++i) { | 296 for (size_t i = 0 ; i < len; ++i) { |
| 297 std::cerr << std::hex << (0xFF & (unsigned int)data[i]) << std::dec; | 297 std::cerr << std::hex << (0xFF & static_cast<unsigned int>(data[i])) |
| 298 << std::dec; |
| 298 } | 299 } |
| 299 } | 300 } |
| 300 std::cerr << "\", " << len << ")\n"; | 301 std::cerr << "\", " << len << ")\n"; |
| 301 } | 302 } |
| 302 | 303 |
| 303 bool OnControlFrameHeaderData(SpdyStreamId stream_id, | 304 bool OnControlFrameHeaderData(SpdyStreamId stream_id, |
| 304 const char* header_data, | 305 const char* header_data, |
| 305 size_t len) override { | 306 size_t len) override { |
| 306 ++control_frame_header_data_count_; | 307 ++control_frame_header_data_count_; |
| 307 CHECK_EQ(header_stream_id_, stream_id); | 308 CHECK_EQ(header_stream_id_, stream_id); |
| (...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 660 << "'."; | 661 << "'."; |
| 661 return false; | 662 return false; |
| 662 } | 663 } |
| 663 } | 664 } |
| 664 return true; | 665 return true; |
| 665 } | 666 } |
| 666 | 667 |
| 667 bool IsSpdy2() { return spdy_version_ == SPDY2; } | 668 bool IsSpdy2() { return spdy_version_ == SPDY2; } |
| 668 bool IsSpdy3() { return spdy_version_ == SPDY3; } | 669 bool IsSpdy3() { return spdy_version_ == SPDY3; } |
| 669 bool IsSpdy4() { return spdy_version_ == SPDY4; } | 670 bool IsSpdy4() { return spdy_version_ == SPDY4; } |
| 670 bool IsSpdy5() { return spdy_version_ == SPDY5; } | |
| 671 | 671 |
| 672 // Version of SPDY protocol to be used. | 672 // Version of SPDY protocol to be used. |
| 673 SpdyMajorVersion spdy_version_; | 673 SpdyMajorVersion spdy_version_; |
| 674 unsigned char spdy_version_ch_; | 674 unsigned char spdy_version_ch_; |
| 675 }; | 675 }; |
| 676 | 676 |
| 677 // All tests are run with 3 different SPDY versions: SPDY/2, SPDY/3, SPDY/4. | 677 // All tests are run with 3 different SPDY versions: SPDY/2, SPDY/3, SPDY/4. |
| 678 INSTANTIATE_TEST_CASE_P(SpdyFramerTests, | 678 INSTANTIATE_TEST_CASE_P(SpdyFramerTests, |
| 679 SpdyFramerTest, | 679 SpdyFramerTest, |
| 680 ::testing::Values(SPDY2, SPDY3, SPDY4)); | 680 ::testing::Values(SPDY2, SPDY3, SPDY4)); |
| (...skipping 3986 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4667 0xff, 0xff, | 4667 0xff, 0xff, |
| 4668 }; | 4668 }; |
| 4669 | 4669 |
| 4670 TestSpdyVisitor visitor(spdy_version_); | 4670 TestSpdyVisitor visitor(spdy_version_); |
| 4671 visitor.SimulateInFramer(kInput, arraysize(kInput)); | 4671 visitor.SimulateInFramer(kInput, arraysize(kInput)); |
| 4672 EXPECT_EQ(1, visitor.error_count_); | 4672 EXPECT_EQ(1, visitor.error_count_); |
| 4673 } | 4673 } |
| 4674 | 4674 |
| 4675 TEST_P(SpdyFramerTest, SizesTest) { | 4675 TEST_P(SpdyFramerTest, SizesTest) { |
| 4676 SpdyFramer framer(spdy_version_); | 4676 SpdyFramer framer(spdy_version_); |
| 4677 if (IsSpdy4() || IsSpdy5()) { | 4677 if (IsSpdy4()) { |
| 4678 EXPECT_EQ(9u, framer.GetDataFrameMinimumSize()); | 4678 EXPECT_EQ(9u, framer.GetDataFrameMinimumSize()); |
| 4679 EXPECT_EQ(9u, framer.GetControlFrameHeaderSize()); | 4679 EXPECT_EQ(9u, framer.GetControlFrameHeaderSize()); |
| 4680 EXPECT_EQ(14u, framer.GetSynStreamMinimumSize()); | 4680 EXPECT_EQ(14u, framer.GetSynStreamMinimumSize()); |
| 4681 EXPECT_EQ(9u, framer.GetSynReplyMinimumSize()); | 4681 EXPECT_EQ(9u, framer.GetSynReplyMinimumSize()); |
| 4682 EXPECT_EQ(13u, framer.GetRstStreamMinimumSize()); | 4682 EXPECT_EQ(13u, framer.GetRstStreamMinimumSize()); |
| 4683 EXPECT_EQ(9u, framer.GetSettingsMinimumSize()); | 4683 EXPECT_EQ(9u, framer.GetSettingsMinimumSize()); |
| 4684 EXPECT_EQ(17u, framer.GetPingSize()); | 4684 EXPECT_EQ(17u, framer.GetPingSize()); |
| 4685 EXPECT_EQ(17u, framer.GetGoAwayMinimumSize()); | 4685 EXPECT_EQ(17u, framer.GetGoAwayMinimumSize()); |
| 4686 EXPECT_EQ(9u, framer.GetHeadersMinimumSize()); | 4686 EXPECT_EQ(9u, framer.GetHeadersMinimumSize()); |
| 4687 EXPECT_EQ(13u, framer.GetWindowUpdateSize()); | 4687 EXPECT_EQ(13u, framer.GetWindowUpdateSize()); |
| (...skipping 1247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5935 TestSpdyVisitor visitor(spdy_version_); | 5935 TestSpdyVisitor visitor(spdy_version_); |
| 5936 visitor.SimulateInFramer(kFrameData, sizeof(kFrameData)); | 5936 visitor.SimulateInFramer(kFrameData, sizeof(kFrameData)); |
| 5937 | 5937 |
| 5938 EXPECT_EQ(SpdyFramer::SPDY_ERROR, visitor.framer_.state()); | 5938 EXPECT_EQ(SpdyFramer::SPDY_ERROR, visitor.framer_.state()); |
| 5939 EXPECT_EQ(SpdyFramer::SPDY_INVALID_CONTROL_FRAME, | 5939 EXPECT_EQ(SpdyFramer::SPDY_INVALID_CONTROL_FRAME, |
| 5940 visitor.framer_.error_code()) | 5940 visitor.framer_.error_code()) |
| 5941 << SpdyFramer::ErrorCodeToString(visitor.framer_.error_code()); | 5941 << SpdyFramer::ErrorCodeToString(visitor.framer_.error_code()); |
| 5942 } | 5942 } |
| 5943 | 5943 |
| 5944 } // namespace net | 5944 } // namespace net |
| OLD | NEW |