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

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

Issue 2431413004: Removes SpdyHeaderBlock::GetHeader(). No functional change. Not protected. (Closed)
Patch Set: Created 4 years, 2 months 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_header_block.cc ('k') | net/tools/quic/quic_simple_server_stream.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_header_block.h" 5 #include "net/spdy/spdy_header_block.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/values.h" 10 #include "base/values.h"
(...skipping 20 matching lines...) Expand all
31 base::StringPiece v) { 31 base::StringPiece v) {
32 return make_pair(k, v); 32 return make_pair(k, v);
33 } 33 }
34 34
35 // This test verifies that SpdyHeaderBlock behaves correctly when empty. 35 // This test verifies that SpdyHeaderBlock behaves correctly when empty.
36 TEST(SpdyHeaderBlockTest, EmptyBlock) { 36 TEST(SpdyHeaderBlockTest, EmptyBlock) {
37 SpdyHeaderBlock block; 37 SpdyHeaderBlock block;
38 EXPECT_TRUE(block.empty()); 38 EXPECT_TRUE(block.empty());
39 EXPECT_EQ(0u, block.size()); 39 EXPECT_EQ(0u, block.size());
40 EXPECT_EQ(block.end(), block.find("foo")); 40 EXPECT_EQ(block.end(), block.find("foo"));
41 EXPECT_EQ("", block.GetHeader("foo"));
42 EXPECT_TRUE(block.end() == block.begin()); 41 EXPECT_TRUE(block.end() == block.begin());
43 42
44 // Should have no effect. 43 // Should have no effect.
45 block.erase("bar"); 44 block.erase("bar");
46 } 45 }
47 46
48 TEST(SpdyHeaderBlockTest, KeyMemoryReclaimedOnLookup) { 47 TEST(SpdyHeaderBlockTest, KeyMemoryReclaimedOnLookup) {
49 SpdyHeaderBlock block; 48 SpdyHeaderBlock block;
50 base::StringPiece copied_key1; 49 base::StringPiece copied_key1;
51 { 50 {
(...skipping 10 matching lines...) Expand all
62 // Therefore, we expect the pointers of the two StringPieces to be equal. 61 // Therefore, we expect the pointers of the two StringPieces to be equal.
63 EXPECT_EQ(copied_key1.data(), copied_key2.data()); 62 EXPECT_EQ(copied_key1.data(), copied_key2.data());
64 63
65 { 64 {
66 auto proxy1 = block["some key name"]; 65 auto proxy1 = block["some key name"];
67 block["some other key name"] = "some value"; 66 block["some other key name"] = "some value";
68 } 67 }
69 // Nothing should blow up when proxy1 is destructed, and we should be able to 68 // Nothing should blow up when proxy1 is destructed, and we should be able to
70 // modify and access the SpdyHeaderBlock. 69 // modify and access the SpdyHeaderBlock.
71 block["key"] = "value"; 70 block["key"] = "value";
72 EXPECT_EQ(base::StringPiece("value"), block["key"]); 71 EXPECT_EQ("value", block["key"]);
73 EXPECT_EQ(base::StringPiece("some value"), block["some other key name"]); 72 EXPECT_EQ("some value", block["some other key name"]);
74 EXPECT_TRUE(block.find("some key name") == block.end()); 73 EXPECT_TRUE(block.find("some key name") == block.end());
75 } 74 }
76 75
77 // This test verifies that headers can be set in a variety of ways. 76 // This test verifies that headers can be set in a variety of ways.
78 TEST(SpdyHeaderBlockTest, AddHeaders) { 77 TEST(SpdyHeaderBlockTest, AddHeaders) {
79 SpdyHeaderBlock block; 78 SpdyHeaderBlock block;
80 block["foo"] = string(300, 'x'); 79 block["foo"] = string(300, 'x');
81 block["bar"] = "baz"; 80 block["bar"] = "baz";
82 block["qux"] = "qux1"; 81 block["qux"] = "qux1";
83 block["qux"] = "qux2"; 82 block["qux"] = "qux2";
84 block.insert(std::make_pair("key", "value")); 83 block.insert(std::make_pair("key", "value"));
85 84
86 EXPECT_EQ(Pair("foo", string(300, 'x')), *block.find("foo")); 85 EXPECT_EQ(Pair("foo", string(300, 'x')), *block.find("foo"));
87 EXPECT_EQ("baz", block["bar"]); 86 EXPECT_EQ("baz", block["bar"]);
88 EXPECT_EQ("baz", block.GetHeader("bar"));
89 string qux("qux"); 87 string qux("qux");
90 EXPECT_EQ("qux2", block[qux]); 88 EXPECT_EQ("qux2", block[qux]);
91 EXPECT_EQ("qux2", block.GetHeader(qux)); 89 ASSERT_NE(block.end(), block.find("key"));
92 EXPECT_EQ(Pair("key", "value"), *block.find("key")); 90 EXPECT_EQ(Pair("key", "value"), *block.find("key"));
93 91
94 block.erase("key"); 92 block.erase("key");
95 EXPECT_EQ(block.end(), block.find("key")); 93 EXPECT_EQ(block.end(), block.find("key"));
96 EXPECT_EQ("", block.GetHeader("key"));
97 } 94 }
98 95
99 // This test verifies that SpdyHeaderBlock can be copied using Clone(). 96 // This test verifies that SpdyHeaderBlock can be copied using Clone().
100 TEST(SpdyHeaderBlockTest, CopyBlocks) { 97 TEST(SpdyHeaderBlockTest, CopyBlocks) {
101 SpdyHeaderBlock block1; 98 SpdyHeaderBlock block1;
102 block1["foo"] = string(300, 'x'); 99 block1["foo"] = string(300, 'x');
103 block1["bar"] = "baz"; 100 block1["bar"] = "baz";
104 block1.insert(make_pair("qux", "qux1")); 101 block1.insert(make_pair("qux", "qux1"));
105 102
106 SpdyHeaderBlock block2 = block1.Clone(); 103 SpdyHeaderBlock block2 = block1.Clone();
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 190
194 EXPECT_EQ("key1=value1; key2=value2; key3=value3", block["cookie"]); 191 EXPECT_EQ("key1=value1; key2=value2; key3=value3", block["cookie"]);
195 EXPECT_EQ("baz", block["foo"]); 192 EXPECT_EQ("baz", block["foo"]);
196 EXPECT_EQ(string("h1v1\0h1v2\0h1v3", 14), block["h1"]); 193 EXPECT_EQ(string("h1v1\0h1v2\0h1v3", 14), block["h1"]);
197 EXPECT_EQ(string("h2v1\0h2v2\0h2v3", 14), block["h2"]); 194 EXPECT_EQ(string("h2v1\0h2v2\0h2v3", 14), block["h2"]);
198 EXPECT_EQ(string("h3v2\0h3v3", 9), block["h3"]); 195 EXPECT_EQ(string("h3v2\0h3v3", 9), block["h3"]);
199 } 196 }
200 197
201 } // namespace test 198 } // namespace test
202 } // namespace net 199 } // namespace net
OLDNEW
« no previous file with comments | « net/spdy/spdy_header_block.cc ('k') | net/tools/quic/quic_simple_server_stream.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698