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

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

Issue 458: [new http] Normalize line continuations in response headers. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 12 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « net/http/http_response_headers.h ('k') | net/http/http_util.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) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 <algorithm> 5 #include <algorithm>
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/pickle.h" 8 #include "base/pickle.h"
9 #include "base/time.h" 9 #include "base/time.h"
10 #include "net/http/http_response_headers.h" 10 #include "net/http/http_response_headers.h"
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 61
62 EXPECT_EQ(test.expected_response_code, parsed->response_code()); 62 EXPECT_EQ(test.expected_response_code, parsed->response_code());
63 } 63 }
64 64
65 } // end namespace 65 } // end namespace
66 66
67 // Check that we normalize headers properly. 67 // Check that we normalize headers properly.
68 TEST(HttpResponseHeadersTest, NormalizeHeadersWhitespace) { 68 TEST(HttpResponseHeadersTest, NormalizeHeadersWhitespace) {
69 TestData test = { 69 TestData test = {
70 "HTTP/1.1 202 Accepted \n" 70 "HTTP/1.1 202 Accepted \n"
71 " Content-TYPE : text/html; charset=utf-8 \n" 71 "Content-TYPE : text/html; charset=utf-8 \n"
72 "Set-Cookie: a \n" 72 "Set-Cookie: a \n"
73 "Set-Cookie: b \n", 73 "Set-Cookie: b \n",
74 74
75 "HTTP/1.1 202 Accepted\n" 75 "HTTP/1.1 202 Accepted\n"
76 "Content-TYPE: text/html; charset=utf-8\n" 76 "Content-TYPE: text/html; charset=utf-8\n"
77 "Set-Cookie: a, b\n", 77 "Set-Cookie: a, b\n",
78 78
79 202 79 202
80 }; 80 };
81 TestCommon(test); 81 TestCommon(test);
82 } 82 }
83 83
84 // Check that we normalize headers properly (header name is invalid if starts
85 // with LWS).
86 TEST(HttpResponseHeadersTest, NormalizeHeadersLeadingWhitespace) {
87 TestData test = {
88 "HTTP/1.1 202 Accepted \n"
89 // Starts with space -- will be skipped as invalid.
90 " Content-TYPE : text/html; charset=utf-8 \n"
91 "Set-Cookie: a \n"
92 "Set-Cookie: b \n",
93
94 "HTTP/1.1 202 Accepted\n"
95 "Set-Cookie: a, b\n",
96
97 202
98 };
99 TestCommon(test);
100 }
101
84 TEST(HttpResponseHeadersTest, BlankHeaders) { 102 TEST(HttpResponseHeadersTest, BlankHeaders) {
85 TestData test = { 103 TestData test = {
86 "HTTP/1.1 200 OK\n" 104 "HTTP/1.1 200 OK\n"
87 "Header1 : \n" 105 "Header1 : \n"
88 "Header2: \n" 106 "Header2: \n"
89 "Header3:\n" 107 "Header3:\n"
90 "Header4\n" 108 "Header4\n"
91 "Header5 :\n", 109 "Header5 :\n",
92 110
93 "HTTP/1.1 200 OK\n" 111 "HTTP/1.1 200 OK\n"
(...skipping 878 matching lines...) Expand 10 before | Expand all | Expand 10 after
972 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) { 990 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) {
973 string headers(tests[i].headers); 991 string headers(tests[i].headers);
974 HeadersToRaw(&headers); 992 HeadersToRaw(&headers);
975 scoped_refptr<HttpResponseHeaders> parsed = 993 scoped_refptr<HttpResponseHeaders> parsed =
976 new HttpResponseHeaders(headers); 994 new HttpResponseHeaders(headers);
977 995
978 EXPECT_EQ(tests[i].expected_keep_alive, parsed->IsKeepAlive()); 996 EXPECT_EQ(tests[i].expected_keep_alive, parsed->IsKeepAlive());
979 } 997 }
980 } 998 }
981 999
OLDNEW
« no previous file with comments | « net/http/http_response_headers.h ('k') | net/http/http_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698