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

Side by Side Diff: net/quic/quic_spdy_stream_test.cc

Issue 2100213002: Make QuicSpdyStream::ParseHeaderStatusCode() inparam const. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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/quic/quic_spdy_stream.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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/quic/quic_spdy_stream.h" 5 #include "net/quic/quic_spdy_stream.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/strings/string_number_conversions.h" 9 #include "base/strings/string_number_conversions.h"
10 #include "net/quic/quic_connection.h" 10 #include "net/quic/quic_connection.h"
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 } 191 }
192 192
193 TEST_P(QuicSpdyStreamTest, ParseHeaderStatusCode) { 193 TEST_P(QuicSpdyStreamTest, ParseHeaderStatusCode) {
194 // A valid status code should be 3-digit integer. The first digit should be in 194 // A valid status code should be 3-digit integer. The first digit should be in
195 // the range of [1, 5]. All the others are invalid. 195 // the range of [1, 5]. All the others are invalid.
196 Initialize(kShouldProcessData); 196 Initialize(kShouldProcessData);
197 int status_code = 0; 197 int status_code = 0;
198 198
199 // Valid status code. 199 // Valid status code.
200 headers_.ReplaceOrAppendHeader(":status", "404"); 200 headers_.ReplaceOrAppendHeader(":status", "404");
201 EXPECT_TRUE(stream_->ParseHeaderStatusCode(&headers_, &status_code)); 201 EXPECT_TRUE(stream_->ParseHeaderStatusCode(headers_, &status_code));
202 EXPECT_EQ(404, status_code); 202 EXPECT_EQ(404, status_code);
203 203
204 // Invalid status codes. 204 // Invalid status codes.
205 headers_.ReplaceOrAppendHeader(":status", "010"); 205 headers_.ReplaceOrAppendHeader(":status", "010");
206 EXPECT_FALSE(stream_->ParseHeaderStatusCode(&headers_, &status_code)); 206 EXPECT_FALSE(stream_->ParseHeaderStatusCode(headers_, &status_code));
207 207
208 headers_.ReplaceOrAppendHeader(":status", "600"); 208 headers_.ReplaceOrAppendHeader(":status", "600");
209 EXPECT_FALSE(stream_->ParseHeaderStatusCode(&headers_, &status_code)); 209 EXPECT_FALSE(stream_->ParseHeaderStatusCode(headers_, &status_code));
210 210
211 headers_.ReplaceOrAppendHeader(":status", "200 ok"); 211 headers_.ReplaceOrAppendHeader(":status", "200 ok");
212 EXPECT_FALSE(stream_->ParseHeaderStatusCode(&headers_, &status_code)); 212 EXPECT_FALSE(stream_->ParseHeaderStatusCode(headers_, &status_code));
213 213
214 headers_.ReplaceOrAppendHeader(":status", "2000"); 214 headers_.ReplaceOrAppendHeader(":status", "2000");
215 EXPECT_FALSE(stream_->ParseHeaderStatusCode(&headers_, &status_code)); 215 EXPECT_FALSE(stream_->ParseHeaderStatusCode(headers_, &status_code));
216 216
217 headers_.ReplaceOrAppendHeader(":status", "+200"); 217 headers_.ReplaceOrAppendHeader(":status", "+200");
218 EXPECT_FALSE(stream_->ParseHeaderStatusCode(&headers_, &status_code)); 218 EXPECT_FALSE(stream_->ParseHeaderStatusCode(headers_, &status_code));
219 219
220 headers_.ReplaceOrAppendHeader(":status", "+20"); 220 headers_.ReplaceOrAppendHeader(":status", "+20");
221 EXPECT_FALSE(stream_->ParseHeaderStatusCode(&headers_, &status_code)); 221 EXPECT_FALSE(stream_->ParseHeaderStatusCode(headers_, &status_code));
222 222
223 // Leading or trailing spaces are also invalid. 223 // Leading or trailing spaces are also invalid.
224 headers_.ReplaceOrAppendHeader(":status", " 200"); 224 headers_.ReplaceOrAppendHeader(":status", " 200");
225 EXPECT_FALSE(stream_->ParseHeaderStatusCode(&headers_, &status_code)); 225 EXPECT_FALSE(stream_->ParseHeaderStatusCode(headers_, &status_code));
226 226
227 headers_.ReplaceOrAppendHeader(":status", "200 "); 227 headers_.ReplaceOrAppendHeader(":status", "200 ");
228 EXPECT_FALSE(stream_->ParseHeaderStatusCode(&headers_, &status_code)); 228 EXPECT_FALSE(stream_->ParseHeaderStatusCode(headers_, &status_code));
229 229
230 headers_.ReplaceOrAppendHeader(":status", " 200 "); 230 headers_.ReplaceOrAppendHeader(":status", " 200 ");
231 EXPECT_FALSE(stream_->ParseHeaderStatusCode(&headers_, &status_code)); 231 EXPECT_FALSE(stream_->ParseHeaderStatusCode(headers_, &status_code));
232 232
233 headers_.ReplaceOrAppendHeader(":status", " "); 233 headers_.ReplaceOrAppendHeader(":status", " ");
234 EXPECT_FALSE(stream_->ParseHeaderStatusCode(&headers_, &status_code)); 234 EXPECT_FALSE(stream_->ParseHeaderStatusCode(headers_, &status_code));
235 } 235 }
236 236
237 TEST_P(QuicSpdyStreamTest, MarkHeadersConsumed) { 237 TEST_P(QuicSpdyStreamTest, MarkHeadersConsumed) {
238 Initialize(kShouldProcessData); 238 Initialize(kShouldProcessData);
239 239
240 string headers = SpdyUtils::SerializeUncompressedHeaders(headers_); 240 string headers = SpdyUtils::SerializeUncompressedHeaders(headers_);
241 string body = "this is the body"; 241 string body = "this is the body";
242 242
243 stream_->OnStreamHeaders(headers); 243 stream_->OnStreamHeaders(headers);
244 stream_->OnStreamHeadersComplete(false, headers.size()); 244 stream_->OnStreamHeadersComplete(false, headers.size());
(...skipping 747 matching lines...) Expand 10 before | Expand all | Expand 10 after
992 992
993 // Writing Trailers should fail, as the FIN has already been sent. 993 // Writing Trailers should fail, as the FIN has already been sent.
994 // populated with the number of body bytes written. 994 // populated with the number of body bytes written.
995 EXPECT_DFATAL(stream_->WriteTrailers(SpdyHeaderBlock(), nullptr), 995 EXPECT_DFATAL(stream_->WriteTrailers(SpdyHeaderBlock(), nullptr),
996 "Trailers cannot be sent after a FIN"); 996 "Trailers cannot be sent after a FIN");
997 } 997 }
998 998
999 } // namespace 999 } // namespace
1000 } // namespace test 1000 } // namespace test
1001 } // namespace net 1001 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_spdy_stream.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