Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(64)

Side by Side Diff: net/spdy/spdy_framer_test.cc

Issue 1458163002: Remove |using base::StringPiece| from net/spdy header files. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/spdy/spdy_alt_svc_wire_format_test.cc ('k') | net/spdy/spdy_header_block_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "net/spdy/spdy_framer.h" 5 #include "net/spdy/spdy_framer.h"
6 6
7 #include <stdlib.h> 7 #include <stdlib.h>
8 #include <string.h> 8 #include <string.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
11 #include <limits> 11 #include <limits>
12 #include <memory> 12 #include <memory>
13 #include <string> 13 #include <string>
14 #include <vector> 14 #include <vector>
15 15
16 #include "base/compiler_specific.h" 16 #include "base/compiler_specific.h"
17 #include "base/memory/scoped_ptr.h" 17 #include "base/memory/scoped_ptr.h"
18 #include "net/spdy/hpack/hpack_constants.h" 18 #include "net/spdy/hpack/hpack_constants.h"
19 #include "net/spdy/mock_spdy_framer_visitor.h" 19 #include "net/spdy/mock_spdy_framer_visitor.h"
20 #include "net/spdy/spdy_frame_builder.h" 20 #include "net/spdy/spdy_frame_builder.h"
21 #include "net/spdy/spdy_frame_reader.h" 21 #include "net/spdy/spdy_frame_reader.h"
22 #include "net/spdy/spdy_protocol.h" 22 #include "net/spdy/spdy_protocol.h"
23 #include "net/spdy/spdy_test_utils.h" 23 #include "net/spdy/spdy_test_utils.h"
24 #include "testing/gmock/include/gmock/gmock.h" 24 #include "testing/gmock/include/gmock/gmock.h"
25 #include "testing/platform_test.h" 25 #include "testing/platform_test.h"
26 26
27 using base::StringPiece;
27 using std::string; 28 using std::string;
28 using testing::_; 29 using testing::_;
29 30
30 namespace net { 31 namespace net {
31 32
32 namespace test { 33 namespace test {
33 34
34 static const size_t kMaxDecompressedSize = 1024; 35 static const size_t kMaxDecompressedSize = 1024;
35 36
36 class MockDebugVisitor : public SpdyFramerDebugVisitorInterface { 37 class MockDebugVisitor : public SpdyFramerDebugVisitorInterface {
(...skipping 567 matching lines...) Expand 10 before | Expand all | Expand 10 after
604 static size_t ControlFrameBufferSize() { 605 static size_t ControlFrameBufferSize() {
605 return SpdyFramer::kControlFrameBufferSize; 606 return SpdyFramer::kControlFrameBufferSize;
606 } 607 }
607 static size_t GetNumberRequiredContinuationFrames(SpdyFramer* framer, 608 static size_t GetNumberRequiredContinuationFrames(SpdyFramer* framer,
608 size_t size) { 609 size_t size) {
609 return framer->GetNumberRequiredContinuationFrames(size); 610 return framer->GetNumberRequiredContinuationFrames(size);
610 } 611 }
611 }; 612 };
612 613
613 // Retrieves serialized headers from a HEADERS or SYN_STREAM frame. 614 // Retrieves serialized headers from a HEADERS or SYN_STREAM frame.
614 base::StringPiece GetSerializedHeaders(const SpdyFrame* frame, 615 StringPiece GetSerializedHeaders(const SpdyFrame* frame,
615 const SpdyFramer& framer) { 616 const SpdyFramer& framer) {
616 SpdyFrameReader reader(frame->data(), frame->size()); 617 SpdyFrameReader reader(frame->data(), frame->size());
617 if (framer.protocol_version() > SPDY3) { 618 if (framer.protocol_version() > SPDY3) {
618 reader.Seek(3); // Seek past the frame length. 619 reader.Seek(3); // Seek past the frame length.
619 } else { 620 } else {
620 reader.Seek(2); // Seek past the frame length. 621 reader.Seek(2); // Seek past the frame length.
621 } 622 }
622 SpdyFrameType frame_type; 623 SpdyFrameType frame_type;
623 if (framer.protocol_version() > SPDY3) { 624 if (framer.protocol_version() > SPDY3) {
624 uint8 serialized_type; 625 uint8 serialized_type;
625 reader.ReadUInt8(&serialized_type); 626 reader.ReadUInt8(&serialized_type);
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after
924 frame.WriteStringPiece32("value1"); 925 frame.WriteStringPiece32("value1");
925 frame.WriteStringPiece32("name"); 926 frame.WriteStringPiece32("name");
926 frame.WriteStringPiece32("value2"); 927 frame.WriteStringPiece32("value2");
927 } 928 }
928 // write the length 929 // write the length
929 frame.RewriteLength(framer); 930 frame.RewriteLength(framer);
930 931
931 SpdyHeaderBlock new_headers; 932 SpdyHeaderBlock new_headers;
932 framer.set_enable_compression(false); 933 framer.set_enable_compression(false);
933 scoped_ptr<SpdyFrame> control_frame(frame.take()); 934 scoped_ptr<SpdyFrame> control_frame(frame.take());
934 base::StringPiece serialized_headers = 935 StringPiece serialized_headers =
935 GetSerializedHeaders(control_frame.get(), framer); 936 GetSerializedHeaders(control_frame.get(), framer);
936 // This should fail because duplicate headers are verboten by the spec. 937 // This should fail because duplicate headers are verboten by the spec.
937 EXPECT_FALSE(framer.ParseHeaderBlockInBuffer(serialized_headers.data(), 938 EXPECT_FALSE(framer.ParseHeaderBlockInBuffer(serialized_headers.data(),
938 serialized_headers.size(), 939 serialized_headers.size(),
939 &new_headers)); 940 &new_headers));
940 } 941 }
941 942
942 TEST_P(SpdyFramerTest, MultiValueHeader) { 943 TEST_P(SpdyFramerTest, MultiValueHeader) {
943 SpdyFramer framer(spdy_version_); 944 SpdyFramer framer(spdy_version_);
944 // Frame builder with plentiful buffer size. 945 // Frame builder with plentiful buffer size.
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
1269 } 1270 }
1270 1271
1271 EXPECT_EQ(0, visitor.syn_reply_frame_count_); 1272 EXPECT_EQ(0, visitor.syn_reply_frame_count_);
1272 EXPECT_EQ(24, visitor.data_bytes_); 1273 EXPECT_EQ(24, visitor.data_bytes_);
1273 EXPECT_EQ(0, visitor.error_count_); 1274 EXPECT_EQ(0, visitor.error_count_);
1274 EXPECT_EQ(2, visitor.fin_frame_count_); 1275 EXPECT_EQ(2, visitor.fin_frame_count_);
1275 1276
1276 if (IsHttp2()) { 1277 if (IsHttp2()) {
1277 EXPECT_EQ(3, visitor.headers_frame_count_); 1278 EXPECT_EQ(3, visitor.headers_frame_count_);
1278 EXPECT_EQ(0, visitor.syn_frame_count_); 1279 EXPECT_EQ(0, visitor.syn_frame_count_);
1279 base::StringPiece reset_stream = "RESETSTREAM"; 1280 StringPiece reset_stream = "RESETSTREAM";
1280 EXPECT_EQ(reset_stream, visitor.fin_opaque_data_); 1281 EXPECT_EQ(reset_stream, visitor.fin_opaque_data_);
1281 } else { 1282 } else {
1282 EXPECT_EQ(1, visitor.headers_frame_count_); 1283 EXPECT_EQ(1, visitor.headers_frame_count_);
1283 EXPECT_EQ(2, visitor.syn_frame_count_); 1284 EXPECT_EQ(2, visitor.syn_frame_count_);
1284 EXPECT_TRUE(visitor.fin_opaque_data_.empty()); 1285 EXPECT_TRUE(visitor.fin_opaque_data_.empty());
1285 } 1286 }
1286 1287
1287 EXPECT_EQ(0, visitor.fin_flag_count_); 1288 EXPECT_EQ(0, visitor.fin_flag_count_);
1288 EXPECT_EQ(0, visitor.zero_length_data_frame_count_); 1289 EXPECT_EQ(0, visitor.zero_length_data_frame_count_);
1289 EXPECT_EQ(4, visitor.data_frame_count_); 1290 EXPECT_EQ(4, visitor.data_frame_count_);
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after
1509 // SYN_STREAM #2 1510 // SYN_STREAM #2
1510 block[kHeader3] = kValue3; 1511 block[kHeader3] = kValue3;
1511 SpdySynStreamIR syn_stream(3); 1512 SpdySynStreamIR syn_stream(3);
1512 syn_stream.set_header_block(block); 1513 syn_stream.set_header_block(block);
1513 scoped_ptr<SpdyFrame> syn_frame_2(send_framer.SerializeSynStream(syn_stream)); 1514 scoped_ptr<SpdyFrame> syn_frame_2(send_framer.SerializeSynStream(syn_stream));
1514 EXPECT_TRUE(syn_frame_2.get() != NULL); 1515 EXPECT_TRUE(syn_frame_2.get() != NULL);
1515 1516
1516 // Now start decompressing 1517 // Now start decompressing
1517 scoped_ptr<SpdyFrame> decompressed; 1518 scoped_ptr<SpdyFrame> decompressed;
1518 scoped_ptr<SpdyFrame> uncompressed; 1519 scoped_ptr<SpdyFrame> uncompressed;
1519 base::StringPiece serialized_headers; 1520 StringPiece serialized_headers;
1520 SpdyHeaderBlock decompressed_headers; 1521 SpdyHeaderBlock decompressed_headers;
1521 1522
1522 // Decompress SYN_STREAM #1 1523 // Decompress SYN_STREAM #1
1523 decompressed.reset( 1524 decompressed.reset(
1524 SpdyFramerTestUtil::DecompressFrame(&recv_framer, *syn_frame_1)); 1525 SpdyFramerTestUtil::DecompressFrame(&recv_framer, *syn_frame_1));
1525 EXPECT_TRUE(decompressed.get() != NULL); 1526 EXPECT_TRUE(decompressed.get() != NULL);
1526 serialized_headers = GetSerializedHeaders(decompressed.get(), send_framer); 1527 serialized_headers = GetSerializedHeaders(decompressed.get(), send_framer);
1527 EXPECT_TRUE(recv_framer.ParseHeaderBlockInBuffer(serialized_headers.data(), 1528 EXPECT_TRUE(recv_framer.ParseHeaderBlockInBuffer(serialized_headers.data(),
1528 serialized_headers.size(), 1529 serialized_headers.size(),
1529 &decompressed_headers)); 1530 &decompressed_headers));
(...skipping 4603 matching lines...) Expand 10 before | Expand all | Expand 10 after
6133 6134
6134 EXPECT_EQ(1, visitor->data_frame_count_); 6135 EXPECT_EQ(1, visitor->data_frame_count_);
6135 EXPECT_EQ(strlen(four_score), static_cast<unsigned>(visitor->data_bytes_)); 6136 EXPECT_EQ(strlen(four_score), static_cast<unsigned>(visitor->data_bytes_));
6136 EXPECT_EQ(0, visitor->headers_frame_count_); 6137 EXPECT_EQ(0, visitor->headers_frame_count_);
6137 } 6138 }
6138 } 6139 }
6139 6140
6140 } // namespace test 6141 } // namespace test
6141 6142
6142 } // namespace net 6143 } // namespace net
OLDNEW
« no previous file with comments | « net/spdy/spdy_alt_svc_wire_format_test.cc ('k') | net/spdy/spdy_header_block_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698