| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/spdy/core/hpack/hpack_input_stream.h" | 5 #include "net/spdy/core/hpack/hpack_input_stream.h" |
| 6 | 6 |
| 7 #include <bitset> | 7 #include <bitset> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 742 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 753 HpackInputStream input_stream2("\x0e"); | 753 HpackInputStream input_stream2("\x0e"); |
| 754 HpackInputStreamPeer input_stream2_peer(&input_stream2); | 754 HpackInputStreamPeer input_stream2_peer(&input_stream2); |
| 755 EXPECT_FALSE(input_stream2.DecodeNextIdentityString(&string_piece)); | 755 EXPECT_FALSE(input_stream2.DecodeNextIdentityString(&string_piece)); |
| 756 // Only parsed first byte. | 756 // Only parsed first byte. |
| 757 EXPECT_EQ(1u, input_stream2_peer.ParsedBytesCurrent()); | 757 EXPECT_EQ(1u, input_stream2_peer.ParsedBytesCurrent()); |
| 758 EXPECT_TRUE(input_stream2.NeedMoreData()); | 758 EXPECT_TRUE(input_stream2.NeedMoreData()); |
| 759 } | 759 } |
| 760 | 760 |
| 761 TEST(HpackInputStreamTest, IncompleteHeaderDecodeNextHuffmanString) { | 761 TEST(HpackInputStreamTest, IncompleteHeaderDecodeNextHuffmanString) { |
| 762 SpdyString output, input(a2b_hex(kEncodedHuffmanFixture)); | 762 SpdyString output, input(a2b_hex(kEncodedHuffmanFixture)); |
| 763 input.resize(input.size() - 1); // Remove last byte. | 763 input.pop_back(); // Remove last byte. |
| 764 HpackInputStream input_stream1(input); | 764 HpackInputStream input_stream1(input); |
| 765 HpackInputStreamPeer input_stream1_peer(&input_stream1); | 765 HpackInputStreamPeer input_stream1_peer(&input_stream1); |
| 766 EXPECT_FALSE(input_stream1.DecodeNextHuffmanString(&output)); | 766 EXPECT_FALSE(input_stream1.DecodeNextHuffmanString(&output)); |
| 767 EXPECT_EQ(1u, input_stream1_peer.ParsedBytesCurrent()); | 767 EXPECT_EQ(1u, input_stream1_peer.ParsedBytesCurrent()); |
| 768 EXPECT_TRUE(input_stream1.NeedMoreData()); | 768 EXPECT_TRUE(input_stream1.NeedMoreData()); |
| 769 | 769 |
| 770 input.erase(1, input.size()); // Remove all bytes except the first one. | 770 input.erase(1, input.size()); // Remove all bytes except the first one. |
| 771 HpackInputStream input_stream2(input); | 771 HpackInputStream input_stream2(input); |
| 772 HpackInputStreamPeer input_stream2_peer(&input_stream2); | 772 HpackInputStreamPeer input_stream2_peer(&input_stream2); |
| 773 EXPECT_FALSE(input_stream2.DecodeNextHuffmanString(&output)); | 773 EXPECT_FALSE(input_stream2.DecodeNextHuffmanString(&output)); |
| 774 EXPECT_EQ(1u, input_stream2_peer.ParsedBytesCurrent()); | 774 EXPECT_EQ(1u, input_stream2_peer.ParsedBytesCurrent()); |
| 775 EXPECT_TRUE(input_stream2.NeedMoreData()); | 775 EXPECT_TRUE(input_stream2.NeedMoreData()); |
| 776 } | 776 } |
| 777 | 777 |
| 778 } // namespace test | 778 } // namespace test |
| 779 | 779 |
| 780 } // namespace net | 780 } // namespace net |
| OLD | NEW |