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

Side by Side Diff: net/http/http_request_headers_unittest.cc

Issue 1604011: Use HttpRequestHeaders for extra_headers. (Closed)
Patch Set: Address eroman comments. Created 10 years, 8 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/http/http_request_headers.cc ('k') | net/http/http_request_info.h » ('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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/http/http_request_headers.h" 5 #include "net/http/http_request_headers.h"
6 6
7 #include "testing/gtest/include/gtest/gtest.h" 7 #include "testing/gtest/include/gtest/gtest.h"
8 8
9 namespace net { 9 namespace net {
10 10
11 namespace { 11 namespace {
12 12
13 TEST(HttpRequestHeaders, SetRequestLine) { 13 TEST(HttpRequestHeaders, HasHeader) {
14 HttpRequestHeaders headers; 14 HttpRequestHeaders headers;
15 headers.SetRequestLine( 15 headers.SetHeader("Foo", "bar");
16 HttpRequestHeaders::kGetMethod, "/foo", "1.1"); 16 EXPECT_TRUE(headers.HasHeader("foo"));
17 EXPECT_EQ("GET /foo HTTP/1.1\r\n\r\n", headers.ToString()); 17 EXPECT_TRUE(headers.HasHeader("Foo"));
18 EXPECT_FALSE(headers.HasHeader("Fo"));
19
20 const HttpRequestHeaders& headers_ref = headers;
21 EXPECT_TRUE(headers_ref.HasHeader("foo"));
22 EXPECT_TRUE(headers_ref.HasHeader("Foo"));
23 EXPECT_FALSE(headers_ref.HasHeader("Fo"));
18 } 24 }
19 25
20 TEST(HttpRequestHeaders, SetHeader) { 26 TEST(HttpRequestHeaders, SetHeader) {
21 HttpRequestHeaders headers; 27 HttpRequestHeaders headers;
22 headers.SetHeader("Foo", "bar"); 28 headers.SetHeader("Foo", "bar");
23 EXPECT_EQ("Foo: bar\r\n\r\n", headers.ToString()); 29 EXPECT_EQ("Foo: bar\r\n\r\n", headers.ToString());
24 } 30 }
25 31
26 TEST(HttpRequestHeaders, SetMultipleHeaders) { 32 TEST(HttpRequestHeaders, SetMultipleHeaders) {
27 HttpRequestHeaders headers; 33 HttpRequestHeaders headers;
(...skipping 15 matching lines...) Expand all
43 headers.SetHeader("Foo", "bar"); 49 headers.SetHeader("Foo", "bar");
44 headers.SetHeader("FoO", "Bar"); 50 headers.SetHeader("FoO", "Bar");
45 EXPECT_EQ("Foo: Bar\r\n\r\n", headers.ToString()); 51 EXPECT_EQ("Foo: Bar\r\n\r\n", headers.ToString());
46 } 52 }
47 53
48 TEST(HttpRequestHeaders, SetHeaderTwiceSamePrefix) { 54 TEST(HttpRequestHeaders, SetHeaderTwiceSamePrefix) {
49 HttpRequestHeaders headers; 55 HttpRequestHeaders headers;
50 headers.SetHeader("FooBar", "smokes"); 56 headers.SetHeader("FooBar", "smokes");
51 headers.SetHeader("Foo", "crack"); 57 headers.SetHeader("Foo", "crack");
52 EXPECT_EQ("FooBar: smokes\r\nFoo: crack\r\n\r\n", headers.ToString()); 58 EXPECT_EQ("FooBar: smokes\r\nFoo: crack\r\n\r\n", headers.ToString());
59 const HttpRequestHeaders& headers_ref = headers;
60 EXPECT_EQ("FooBar: smokes\r\nFoo: crack\r\n\r\n", headers_ref.ToString());
53 } 61 }
54 62
55 TEST(HttpRequestHeaders, SetEmptyHeader) { 63 TEST(HttpRequestHeaders, SetEmptyHeader) {
56 HttpRequestHeaders headers; 64 HttpRequestHeaders headers;
57 headers.SetHeader("Foo", "Bar"); 65 headers.SetHeader("Foo", "Bar");
58 headers.SetHeader("Bar", ""); 66 headers.SetHeader("Bar", "");
59 EXPECT_EQ("Foo: Bar\r\nBar:\r\n\r\n", headers.ToString()); 67 EXPECT_EQ("Foo: Bar\r\nBar:\r\n\r\n", headers.ToString());
60 } 68 }
61 69
62 TEST(HttpRequestHeaders, RemoveHeader) { 70 TEST(HttpRequestHeaders, RemoveHeader) {
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 headers.SetHeader("A", "A"); 136 headers.SetHeader("A", "A");
129 headers.SetHeader("B", "B"); 137 headers.SetHeader("B", "B");
130 138
131 HttpRequestHeaders headers2; 139 HttpRequestHeaders headers2;
132 headers2.SetHeader("B", "b"); 140 headers2.SetHeader("B", "b");
133 headers2.SetHeader("C", "c"); 141 headers2.SetHeader("C", "c");
134 headers.MergeFrom(headers2); 142 headers.MergeFrom(headers2);
135 EXPECT_EQ("A: A\r\nB: b\r\nC: c\r\n\r\n", headers.ToString()); 143 EXPECT_EQ("A: A\r\nB: b\r\nC: c\r\n\r\n", headers.ToString());
136 } 144 }
137 145
146 TEST(HttpRequestHeaders, CopyFrom) {
147 HttpRequestHeaders headers;
148 headers.SetHeader("A", "A");
149 headers.SetHeader("B", "B");
150
151 HttpRequestHeaders headers2;
152 headers2.SetHeader("B", "b");
153 headers2.SetHeader("C", "c");
154 headers.CopyFrom(headers2);
155 EXPECT_EQ("B: b\r\nC: c\r\n\r\n", headers.ToString());
156 }
157
138 } // namespace 158 } // namespace
139 159
140 } // namespace net 160 } // namespace net
OLDNEW
« no previous file with comments | « net/http/http_request_headers.cc ('k') | net/http/http_request_info.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698