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

Side by Side Diff: net/spdy/buffered_spdy_framer_spdy3_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
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_spdy3.h" 7 #include "net/spdy/spdy_test_util_spdy3.h"
8 #include "testing/platform_test.h" 8 #include "testing/platform_test.h"
9 9
10 using namespace net::test_spdy3; 10 using namespace net::test_spdy3;
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_(3), 19 : buffered_spdy_framer_(3, 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(BufferedSpdyFramerSpdy3Test, OnSetting) { 179 TEST_F(BufferedSpdyFramerSpdy3Test, OnSetting) {
183 SpdyFramer framer(3); 180 SpdyFramer framer(3);
181 framer.set_enable_compression(false);
184 SettingsMap settings; 182 SettingsMap settings;
185 settings[SETTINGS_UPLOAD_BANDWIDTH] = 183 settings[SETTINGS_UPLOAD_BANDWIDTH] =
186 SettingsFlagsAndValue(SETTINGS_FLAG_NONE, 0x00000002); 184 SettingsFlagsAndValue(SETTINGS_FLAG_NONE, 0x00000002);
187 settings[SETTINGS_DOWNLOAD_BANDWIDTH] = 185 settings[SETTINGS_DOWNLOAD_BANDWIDTH] =
188 SettingsFlagsAndValue(SETTINGS_FLAG_NONE, 0x00000003); 186 SettingsFlagsAndValue(SETTINGS_FLAG_NONE, 0x00000003);
189 187
190 scoped_ptr<SpdyFrame> control_frame(framer.CreateSettings(settings)); 188 scoped_ptr<SpdyFrame> control_frame(framer.CreateSettings(settings));
191 TestBufferedSpdyVisitor visitor; 189 TestBufferedSpdyVisitor visitor;
192 190
193 visitor.SimulateInFramer( 191 visitor.SimulateInFramer(
194 reinterpret_cast<unsigned char*>(control_frame->data()), 192 reinterpret_cast<unsigned char*>(control_frame->data()),
195 control_frame->length() + SpdyControlFrame::kHeaderSize); 193 control_frame->length() + SpdyControlFrame::kHeaderSize);
196 EXPECT_EQ(0, visitor.error_count_); 194 EXPECT_EQ(0, visitor.error_count_);
197 EXPECT_EQ(2, visitor.setting_count_); 195 EXPECT_EQ(2, visitor.setting_count_);
198 } 196 }
199 197
200 TEST_F(BufferedSpdyFramerSpdy3Test, ReadSynStreamHeaderBlock) { 198 TEST_F(BufferedSpdyFramerSpdy3Test, ReadSynStreamHeaderBlock) {
201 SpdyHeaderBlock headers; 199 SpdyHeaderBlock headers;
202 headers["aa"] = "vv"; 200 headers["aa"] = "vv";
203 headers["bb"] = "ww"; 201 headers["bb"] = "ww";
204 BufferedSpdyFramer framer(3); 202 BufferedSpdyFramer framer(3, true);
205 scoped_ptr<SpdySynStreamControlFrame> control_frame( 203 scoped_ptr<SpdySynStreamControlFrame> control_frame(
206 framer.CreateSynStream(1, // stream_id 204 framer.CreateSynStream(1, // stream_id
207 0, // associated_stream_id 205 0, // associated_stream_id
208 1, // priority 206 1, // priority
209 0, // credential_slot 207 0, // credential_slot
210 CONTROL_FLAG_NONE, 208 CONTROL_FLAG_NONE,
211 true, // compress 209 true, // compress
212 &headers)); 210 &headers));
213 EXPECT_TRUE(control_frame.get() != NULL); 211 EXPECT_TRUE(control_frame.get() != NULL);
214 212
215 TestBufferedSpdyVisitor visitor; 213 TestBufferedSpdyVisitor visitor;
216 visitor.SimulateInFramer( 214 visitor.SimulateInFramer(
217 reinterpret_cast<unsigned char*>(control_frame.get()->data()), 215 reinterpret_cast<unsigned char*>(control_frame.get()->data()),
218 control_frame.get()->length() + SpdyControlFrame::kHeaderSize); 216 control_frame.get()->length() + SpdyControlFrame::kHeaderSize);
219 EXPECT_EQ(0, visitor.error_count_); 217 EXPECT_EQ(0, visitor.error_count_);
220 EXPECT_EQ(1, visitor.syn_frame_count_); 218 EXPECT_EQ(1, visitor.syn_frame_count_);
221 EXPECT_EQ(0, visitor.syn_reply_frame_count_); 219 EXPECT_EQ(0, visitor.syn_reply_frame_count_);
222 EXPECT_EQ(0, visitor.headers_frame_count_); 220 EXPECT_EQ(0, visitor.headers_frame_count_);
223 EXPECT_TRUE(CompareHeaderBlocks(&headers, &visitor.headers_)); 221 EXPECT_TRUE(CompareHeaderBlocks(&headers, &visitor.headers_));
224 } 222 }
225 223
226 TEST_F(BufferedSpdyFramerSpdy3Test, ReadSynReplyHeaderBlock) { 224 TEST_F(BufferedSpdyFramerSpdy3Test, ReadSynReplyHeaderBlock) {
227 SpdyHeaderBlock headers; 225 SpdyHeaderBlock headers;
228 headers["alpha"] = "beta"; 226 headers["alpha"] = "beta";
229 headers["gamma"] = "delta"; 227 headers["gamma"] = "delta";
230 BufferedSpdyFramer framer(3); 228 BufferedSpdyFramer framer(3, true);
231 scoped_ptr<SpdySynReplyControlFrame> control_frame( 229 scoped_ptr<SpdySynReplyControlFrame> control_frame(
232 framer.CreateSynReply(1, // stream_id 230 framer.CreateSynReply(1, // stream_id
233 CONTROL_FLAG_NONE, 231 CONTROL_FLAG_NONE,
234 true, // compress 232 true, // compress
235 &headers)); 233 &headers));
236 EXPECT_TRUE(control_frame.get() != NULL); 234 EXPECT_TRUE(control_frame.get() != NULL);
237 235
238 TestBufferedSpdyVisitor visitor; 236 TestBufferedSpdyVisitor visitor;
239 visitor.SimulateInFramer( 237 visitor.SimulateInFramer(
240 reinterpret_cast<unsigned char*>(control_frame.get()->data()), 238 reinterpret_cast<unsigned char*>(control_frame.get()->data()),
241 control_frame.get()->length() + SpdyControlFrame::kHeaderSize); 239 control_frame.get()->length() + SpdyControlFrame::kHeaderSize);
242 EXPECT_EQ(0, visitor.error_count_); 240 EXPECT_EQ(0, visitor.error_count_);
243 EXPECT_EQ(0, visitor.syn_frame_count_); 241 EXPECT_EQ(0, visitor.syn_frame_count_);
244 EXPECT_EQ(1, visitor.syn_reply_frame_count_); 242 EXPECT_EQ(1, visitor.syn_reply_frame_count_);
245 EXPECT_EQ(0, visitor.headers_frame_count_); 243 EXPECT_EQ(0, visitor.headers_frame_count_);
246 EXPECT_TRUE(CompareHeaderBlocks(&headers, &visitor.headers_)); 244 EXPECT_TRUE(CompareHeaderBlocks(&headers, &visitor.headers_));
247 } 245 }
248 246
249 TEST_F(BufferedSpdyFramerSpdy3Test, ReadHeadersHeaderBlock) { 247 TEST_F(BufferedSpdyFramerSpdy3Test, ReadHeadersHeaderBlock) {
250 SpdyHeaderBlock headers; 248 SpdyHeaderBlock headers;
251 headers["alpha"] = "beta"; 249 headers["alpha"] = "beta";
252 headers["gamma"] = "delta"; 250 headers["gamma"] = "delta";
253 BufferedSpdyFramer framer(3); 251 BufferedSpdyFramer framer(3, true);
254 scoped_ptr<SpdyHeadersControlFrame> control_frame( 252 scoped_ptr<SpdyHeadersControlFrame> control_frame(
255 framer.CreateHeaders(1, // stream_id 253 framer.CreateHeaders(1, // stream_id
256 CONTROL_FLAG_NONE, 254 CONTROL_FLAG_NONE,
257 true, // compress 255 true, // compress
258 &headers)); 256 &headers));
259 EXPECT_TRUE(control_frame.get() != NULL); 257 EXPECT_TRUE(control_frame.get() != NULL);
260 258
261 TestBufferedSpdyVisitor visitor; 259 TestBufferedSpdyVisitor visitor;
262 visitor.SimulateInFramer( 260 visitor.SimulateInFramer(
263 reinterpret_cast<unsigned char*>(control_frame.get()->data()), 261 reinterpret_cast<unsigned char*>(control_frame.get()->data()),
264 control_frame.get()->length() + SpdyControlFrame::kHeaderSize); 262 control_frame.get()->length() + SpdyControlFrame::kHeaderSize);
265 EXPECT_EQ(0, visitor.error_count_); 263 EXPECT_EQ(0, visitor.error_count_);
266 EXPECT_EQ(0, visitor.syn_frame_count_); 264 EXPECT_EQ(0, visitor.syn_frame_count_);
267 EXPECT_EQ(0, visitor.syn_reply_frame_count_); 265 EXPECT_EQ(0, visitor.syn_reply_frame_count_);
268 EXPECT_EQ(1, visitor.headers_frame_count_); 266 EXPECT_EQ(1, visitor.headers_frame_count_);
269 EXPECT_TRUE(CompareHeaderBlocks(&headers, &visitor.headers_)); 267 EXPECT_TRUE(CompareHeaderBlocks(&headers, &visitor.headers_));
270 } 268 }
271 } // namespace net 269 } // namespace net
OLDNEW
« no previous file with comments | « net/spdy/buffered_spdy_framer_spdy2_unittest.cc ('k') | net/spdy/spdy_credential_builder_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698