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

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

Issue 1223001: Revert "Reland r42300: "HttpRequestHeaders refactor.""" (Closed)
Patch Set: Created 10 years, 9 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/net.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "net/http/http_request_headers.h"
6
7 #include "testing/gtest/include/gtest/gtest.h"
8
9 namespace net {
10
11 namespace {
12
13 TEST(HttpRequestHeaders, SetRequestLine) {
14 HttpRequestHeaders headers;
15 headers.SetRequestLine(
16 HttpRequestHeaders::kGetMethod, "/foo", "1.1");
17 EXPECT_EQ("GET /foo HTTP/1.1\r\n\r\n", headers.ToString());
18 }
19
20 TEST(HttpRequestHeaders, SetHeader) {
21 HttpRequestHeaders headers;
22 headers.SetHeader("Foo", "bar");
23 EXPECT_EQ("Foo: bar\r\n\r\n", headers.ToString());
24 }
25
26 TEST(HttpRequestHeaders, SetMultipleHeaders) {
27 HttpRequestHeaders headers;
28 headers.SetHeader("Cookie-Monster", "Nom nom nom");
29 headers.SetHeader("Domo-Kun", "Loves Chrome");
30 EXPECT_EQ("Cookie-Monster: Nom nom nom\r\nDomo-Kun: Loves Chrome\r\n\r\n",
31 headers.ToString());
32 }
33
34 TEST(HttpRequestHeaders, SetHeaderTwice) {
35 HttpRequestHeaders headers;
36 headers.SetHeader("Foo", "bar");
37 headers.SetHeader("Foo", "bar");
38 EXPECT_EQ("Foo: bar\r\n\r\n", headers.ToString());
39 }
40
41 TEST(HttpRequestHeaders, SetHeaderTwiceCaseInsensitive) {
42 HttpRequestHeaders headers;
43 headers.SetHeader("Foo", "bar");
44 headers.SetHeader("FoO", "Bar");
45 EXPECT_EQ("Foo: Bar\r\n\r\n", headers.ToString());
46 }
47
48 TEST(HttpRequestHeaders, SetHeaderTwiceSamePrefix) {
49 HttpRequestHeaders headers;
50 headers.SetHeader("FooBar", "smokes");
51 headers.SetHeader("Foo", "crack");
52 EXPECT_EQ("FooBar: smokes\r\nFoo: crack\r\n\r\n", headers.ToString());
53 }
54
55 TEST(HttpRequestHeaders, RemoveHeader) {
56 HttpRequestHeaders headers;
57 headers.SetHeader("Foo", "bar");
58 headers.RemoveHeader("Foo");
59 EXPECT_EQ("\r\n", headers.ToString());
60 }
61
62 TEST(HttpRequestHeaders, RemoveHeaderMissingHeader) {
63 HttpRequestHeaders headers;
64 headers.SetHeader("Foo", "bar");
65 headers.RemoveHeader("Bar");
66 EXPECT_EQ("Foo: bar\r\n\r\n", headers.ToString());
67 }
68
69 TEST(HttpRequestHeaders, RemoveHeaderCaseInsensitive) {
70 HttpRequestHeaders headers;
71 headers.SetHeader("Foo", "bar");
72 headers.SetHeader("All-Your-Base", "Belongs To Chrome");
73 headers.RemoveHeader("foo");
74 EXPECT_EQ("All-Your-Base: Belongs To Chrome\r\n\r\n", headers.ToString());
75 }
76
77 TEST(HttpRequestHeaders, AddHeaderFromString) {
78 HttpRequestHeaders headers;
79 headers.AddHeaderFromString("Foo: bar");
80 EXPECT_EQ("Foo: bar\r\n\r\n", headers.ToString());
81 }
82
83 TEST(HttpRequestHeaders, AddHeaderFromStringNoLeadingWhitespace) {
84 HttpRequestHeaders headers;
85 headers.AddHeaderFromString("Foo:bar");
86 EXPECT_EQ("Foo: bar\r\n\r\n", headers.ToString());
87 }
88
89 TEST(HttpRequestHeaders, AddHeaderFromStringMoreLeadingWhitespace) {
90 HttpRequestHeaders headers;
91 headers.AddHeaderFromString("Foo: \t \t bar");
92 EXPECT_EQ("Foo: bar\r\n\r\n", headers.ToString());
93 }
94
95 TEST(HttpRequestHeaders, AddHeaderFromStringTrailingWhitespace) {
96 HttpRequestHeaders headers;
97 headers.AddHeaderFromString("Foo: bar \t \t ");
98 EXPECT_EQ("Foo: bar\r\n\r\n", headers.ToString());
99 }
100
101 TEST(HttpRequestHeaders, AddHeaderFromStringLeadingTrailingWhitespace) {
102 HttpRequestHeaders headers;
103 headers.AddHeaderFromString("Foo: \t bar\t ");
104 EXPECT_EQ("Foo: bar\r\n\r\n", headers.ToString());
105 }
106
107 TEST(HttpRequestHeaders, AddHeaderFromStringWithEmptyValue) {
108 HttpRequestHeaders headers;
109 headers.AddHeaderFromString("Foo:");
110 EXPECT_EQ("Foo:\r\n\r\n", headers.ToString());
111 }
112
113 TEST(HttpRequestHeaders, MergeFrom) {
114 HttpRequestHeaders headers;
115 headers.SetHeader("A", "A");
116 headers.SetHeader("B", "B");
117
118 HttpRequestHeaders headers2;
119 headers2.SetHeader("B", "b");
120 headers2.SetHeader("C", "c");
121 headers.MergeFrom(headers2);
122 EXPECT_EQ("A: A\r\nB: b\r\nC: c\r\n\r\n", headers.ToString());
123 }
124
125 } // namespace
126
127 } // namespace net
OLDNEW
« no previous file with comments | « net/http/http_request_headers.cc ('k') | net/net.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698