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

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

Issue 11415219: Move a number of static variables SPDY to HttpNetworkSession::Params. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix flip_in_mem_edsm_server Created 8 years 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/spdy/buffered_spdy_framer.cc ('k') | net/spdy/buffered_spdy_framer_spdy3_unittest.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/buffered_spdy_framer.h" 5 #include "net/spdy/buffered_spdy_framer.h"
6 6
7 #include "net/spdy/spdy_test_util_spdy2.h" 7 #include "net/spdy/spdy_test_util_spdy2.h"
8 #include "testing/platform_test.h" 8 #include "testing/platform_test.h"
9 9
10 using namespace net::test_spdy2; 10 using namespace net::test_spdy2;
11 11
12 namespace net { 12 namespace net {
13 13
14 namespace { 14 namespace {
15 15
16 class TestBufferedSpdyVisitor : public BufferedSpdyFramerVisitorInterface { 16 class TestBufferedSpdyVisitor : public BufferedSpdyFramerVisitorInterface {
17 public: 17 public:
18 TestBufferedSpdyVisitor() 18 TestBufferedSpdyVisitor()
19 : buffered_spdy_framer_(2), 19 : buffered_spdy_framer_(2, true),
20 error_count_(0), 20 error_count_(0),
21 setting_count_(0), 21 setting_count_(0),
22 syn_frame_count_(0), 22 syn_frame_count_(0),
23 syn_reply_frame_count_(0), 23 syn_reply_frame_count_(0),
24 headers_frame_count_(0), 24 headers_frame_count_(0),
25 header_stream_id_(-1) { 25 header_stream_id_(-1) {
26 } 26 }
27 27
28 void OnError(SpdyFramer::SpdyError error_code) { 28 void OnError(SpdyFramer::SpdyError error_code) {
29 LOG(INFO) << "SpdyFramer Error: " << error_code; 29 LOG(INFO) << "SpdyFramer Error: " << error_code;
30 error_count_++; 30 error_count_++;
31 } 31 }
32 32
33 void OnStreamError(SpdyStreamId stream_id, 33 void OnStreamError(SpdyStreamId stream_id,
34 const std::string& description) { 34 const std::string& description) {
35 LOG(INFO) << "SpdyFramer Error on stream: " << stream_id << " " 35 LOG(INFO) << "SpdyFramer Error on stream: " << stream_id << " "
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 if (it->second.compare(it2->second) != 0) { 167 if (it->second.compare(it2->second) != 0) {
168 LOG(ERROR) << "Expected header named '" << it->first 168 LOG(ERROR) << "Expected header named '" << it->first
169 << "' to have a value of '" << it->second 169 << "' to have a value of '" << it->second
170 << "'. The actual value received was '" << it2->second 170 << "'. The actual value received was '" << it2->second
171 << "'."; 171 << "'.";
172 return false; 172 return false;
173 } 173 }
174 } 174 }
175 return true; 175 return true;
176 } 176 }
177
178 private:
179 SpdyTestStateHelper spdy_state_;
180 }; 177 };
181 178
182 TEST_F(BufferedSpdyFramerSpdy2Test, OnSetting) { 179 TEST_F(BufferedSpdyFramerSpdy2Test, OnSetting) {
183 SpdyFramer framer(2); 180 SpdyFramer framer(2);
184 SettingsMap settings; 181 SettingsMap settings;
185 settings[SETTINGS_UPLOAD_BANDWIDTH] = 182 settings[SETTINGS_UPLOAD_BANDWIDTH] =
186 SettingsFlagsAndValue(SETTINGS_FLAG_NONE, 0x00000002); 183 SettingsFlagsAndValue(SETTINGS_FLAG_NONE, 0x00000002);
187 settings[SETTINGS_DOWNLOAD_BANDWIDTH] = 184 settings[SETTINGS_DOWNLOAD_BANDWIDTH] =
188 SettingsFlagsAndValue(SETTINGS_FLAG_NONE, 0x00000003); 185 SettingsFlagsAndValue(SETTINGS_FLAG_NONE, 0x00000003);
189 186
190 scoped_ptr<SpdyFrame> control_frame(framer.CreateSettings(settings)); 187 scoped_ptr<SpdyFrame> control_frame(framer.CreateSettings(settings));
191 TestBufferedSpdyVisitor visitor; 188 TestBufferedSpdyVisitor visitor;
192 189
193 visitor.SimulateInFramer( 190 visitor.SimulateInFramer(
194 reinterpret_cast<unsigned char*>(control_frame->data()), 191 reinterpret_cast<unsigned char*>(control_frame->data()),
195 control_frame->length() + SpdyControlFrame::kHeaderSize); 192 control_frame->length() + SpdyControlFrame::kHeaderSize);
196 EXPECT_EQ(0, visitor.error_count_); 193 EXPECT_EQ(0, visitor.error_count_);
197 EXPECT_EQ(2, visitor.setting_count_); 194 EXPECT_EQ(2, visitor.setting_count_);
198 } 195 }
199 196
200 TEST_F(BufferedSpdyFramerSpdy2Test, ReadSynStreamHeaderBlock) { 197 TEST_F(BufferedSpdyFramerSpdy2Test, ReadSynStreamHeaderBlock) {
201 SpdyHeaderBlock headers; 198 SpdyHeaderBlock headers;
202 headers["aa"] = "vv"; 199 headers["aa"] = "vv";
203 headers["bb"] = "ww"; 200 headers["bb"] = "ww";
204 BufferedSpdyFramer framer(2); 201 BufferedSpdyFramer framer(2, true);
205 scoped_ptr<SpdySynStreamControlFrame> control_frame( 202 scoped_ptr<SpdySynStreamControlFrame> control_frame(
206 framer.CreateSynStream(1, // stream_id 203 framer.CreateSynStream(1, // stream_id
207 0, // associated_stream_id 204 0, // associated_stream_id
208 1, // priority 205 1, // priority
209 0, // credential_slot 206 0, // credential_slot
210 CONTROL_FLAG_NONE, 207 CONTROL_FLAG_NONE,
211 true, // compress 208 true, // compress
212 &headers)); 209 &headers));
213 EXPECT_TRUE(control_frame.get() != NULL); 210 EXPECT_TRUE(control_frame.get() != NULL);
214 211
215 TestBufferedSpdyVisitor visitor; 212 TestBufferedSpdyVisitor visitor;
216 visitor.SimulateInFramer( 213 visitor.SimulateInFramer(
217 reinterpret_cast<unsigned char*>(control_frame.get()->data()), 214 reinterpret_cast<unsigned char*>(control_frame.get()->data()),
218 control_frame.get()->length() + SpdyControlFrame::kHeaderSize); 215 control_frame.get()->length() + SpdyControlFrame::kHeaderSize);
219 EXPECT_EQ(0, visitor.error_count_); 216 EXPECT_EQ(0, visitor.error_count_);
220 EXPECT_EQ(1, visitor.syn_frame_count_); 217 EXPECT_EQ(1, visitor.syn_frame_count_);
221 EXPECT_EQ(0, visitor.syn_reply_frame_count_); 218 EXPECT_EQ(0, visitor.syn_reply_frame_count_);
222 EXPECT_EQ(0, visitor.headers_frame_count_); 219 EXPECT_EQ(0, visitor.headers_frame_count_);
223 EXPECT_TRUE(CompareHeaderBlocks(&headers, &visitor.headers_)); 220 EXPECT_TRUE(CompareHeaderBlocks(&headers, &visitor.headers_));
224 } 221 }
225 222
226 TEST_F(BufferedSpdyFramerSpdy2Test, ReadSynReplyHeaderBlock) { 223 TEST_F(BufferedSpdyFramerSpdy2Test, ReadSynReplyHeaderBlock) {
227 SpdyHeaderBlock headers; 224 SpdyHeaderBlock headers;
228 headers["alpha"] = "beta"; 225 headers["alpha"] = "beta";
229 headers["gamma"] = "delta"; 226 headers["gamma"] = "delta";
230 BufferedSpdyFramer framer(2); 227 BufferedSpdyFramer framer(2, true);
231 scoped_ptr<SpdySynReplyControlFrame> control_frame( 228 scoped_ptr<SpdySynReplyControlFrame> control_frame(
232 framer.CreateSynReply(1, // stream_id 229 framer.CreateSynReply(1, // stream_id
233 CONTROL_FLAG_NONE, 230 CONTROL_FLAG_NONE,
234 true, // compress 231 true, // compress
235 &headers)); 232 &headers));
236 EXPECT_TRUE(control_frame.get() != NULL); 233 EXPECT_TRUE(control_frame.get() != NULL);
237 234
238 TestBufferedSpdyVisitor visitor; 235 TestBufferedSpdyVisitor visitor;
239 visitor.SimulateInFramer( 236 visitor.SimulateInFramer(
240 reinterpret_cast<unsigned char*>(control_frame.get()->data()), 237 reinterpret_cast<unsigned char*>(control_frame.get()->data()),
241 control_frame.get()->length() + SpdyControlFrame::kHeaderSize); 238 control_frame.get()->length() + SpdyControlFrame::kHeaderSize);
242 EXPECT_EQ(0, visitor.error_count_); 239 EXPECT_EQ(0, visitor.error_count_);
243 EXPECT_EQ(0, visitor.syn_frame_count_); 240 EXPECT_EQ(0, visitor.syn_frame_count_);
244 EXPECT_EQ(1, visitor.syn_reply_frame_count_); 241 EXPECT_EQ(1, visitor.syn_reply_frame_count_);
245 EXPECT_EQ(0, visitor.headers_frame_count_); 242 EXPECT_EQ(0, visitor.headers_frame_count_);
246 EXPECT_TRUE(CompareHeaderBlocks(&headers, &visitor.headers_)); 243 EXPECT_TRUE(CompareHeaderBlocks(&headers, &visitor.headers_));
247 } 244 }
248 245
249 TEST_F(BufferedSpdyFramerSpdy2Test, ReadHeadersHeaderBlock) { 246 TEST_F(BufferedSpdyFramerSpdy2Test, ReadHeadersHeaderBlock) {
250 SpdyHeaderBlock headers; 247 SpdyHeaderBlock headers;
251 headers["alpha"] = "beta"; 248 headers["alpha"] = "beta";
252 headers["gamma"] = "delta"; 249 headers["gamma"] = "delta";
253 BufferedSpdyFramer framer(2); 250 BufferedSpdyFramer framer(2, true);
254 scoped_ptr<SpdyHeadersControlFrame> control_frame( 251 scoped_ptr<SpdyHeadersControlFrame> control_frame(
255 framer.CreateHeaders(1, // stream_id 252 framer.CreateHeaders(1, // stream_id
256 CONTROL_FLAG_NONE, 253 CONTROL_FLAG_NONE,
257 true, // compress 254 true, // compress
258 &headers)); 255 &headers));
259 EXPECT_TRUE(control_frame.get() != NULL); 256 EXPECT_TRUE(control_frame.get() != NULL);
260 257
261 TestBufferedSpdyVisitor visitor; 258 TestBufferedSpdyVisitor visitor;
262 visitor.SimulateInFramer( 259 visitor.SimulateInFramer(
263 reinterpret_cast<unsigned char*>(control_frame.get()->data()), 260 reinterpret_cast<unsigned char*>(control_frame.get()->data()),
264 control_frame.get()->length() + SpdyControlFrame::kHeaderSize); 261 control_frame.get()->length() + SpdyControlFrame::kHeaderSize);
265 EXPECT_EQ(0, visitor.error_count_); 262 EXPECT_EQ(0, visitor.error_count_);
266 EXPECT_EQ(0, visitor.syn_frame_count_); 263 EXPECT_EQ(0, visitor.syn_frame_count_);
267 EXPECT_EQ(0, visitor.syn_reply_frame_count_); 264 EXPECT_EQ(0, visitor.syn_reply_frame_count_);
268 EXPECT_EQ(1, visitor.headers_frame_count_); 265 EXPECT_EQ(1, visitor.headers_frame_count_);
269 EXPECT_TRUE(CompareHeaderBlocks(&headers, &visitor.headers_)); 266 EXPECT_TRUE(CompareHeaderBlocks(&headers, &visitor.headers_));
270 } 267 }
271 } // namespace net 268 } // namespace net
OLDNEW
« no previous file with comments | « net/spdy/buffered_spdy_framer.cc ('k') | net/spdy/buffered_spdy_framer_spdy3_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698