OLD | NEW |
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_common.h" | 7 #include "net/spdy/spdy_test_util_common.h" |
8 #include "testing/platform_test.h" | 8 #include "testing/platform_test.h" |
9 | 9 |
10 namespace net { | 10 namespace net { |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
52 void OnSynReply(SpdyStreamId stream_id, | 52 void OnSynReply(SpdyStreamId stream_id, |
53 bool fin, | 53 bool fin, |
54 const SpdyHeaderBlock& headers) override { | 54 const SpdyHeaderBlock& headers) override { |
55 header_stream_id_ = stream_id; | 55 header_stream_id_ = stream_id; |
56 EXPECT_NE(header_stream_id_, SpdyFramer::kInvalidStream); | 56 EXPECT_NE(header_stream_id_, SpdyFramer::kInvalidStream); |
57 syn_reply_frame_count_++; | 57 syn_reply_frame_count_++; |
58 headers_ = headers; | 58 headers_ = headers; |
59 } | 59 } |
60 | 60 |
61 void OnHeaders(SpdyStreamId stream_id, | 61 void OnHeaders(SpdyStreamId stream_id, |
| 62 bool has_priority, |
| 63 SpdyPriority priority, |
62 bool fin, | 64 bool fin, |
63 const SpdyHeaderBlock& headers) override { | 65 const SpdyHeaderBlock& headers) override { |
64 header_stream_id_ = stream_id; | 66 header_stream_id_ = stream_id; |
65 EXPECT_NE(header_stream_id_, SpdyFramer::kInvalidStream); | 67 EXPECT_NE(header_stream_id_, SpdyFramer::kInvalidStream); |
66 headers_frame_count_++; | 68 headers_frame_count_++; |
67 headers_ = headers; | 69 headers_ = headers; |
68 } | 70 } |
69 | 71 |
70 void OnDataFrameHeader(SpdyStreamId stream_id, | 72 void OnDataFrameHeader(SpdyStreamId stream_id, |
71 size_t length, | 73 size_t length, |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
200 | 202 |
201 SpdyMajorVersion spdy_version() { | 203 SpdyMajorVersion spdy_version() { |
202 return NextProtoToSpdyMajorVersion(GetParam()); | 204 return NextProtoToSpdyMajorVersion(GetParam()); |
203 } | 205 } |
204 }; | 206 }; |
205 | 207 |
206 INSTANTIATE_TEST_CASE_P( | 208 INSTANTIATE_TEST_CASE_P( |
207 NextProto, | 209 NextProto, |
208 BufferedSpdyFramerTest, | 210 BufferedSpdyFramerTest, |
209 testing::Values(kProtoDeprecatedSPDY2, | 211 testing::Values(kProtoDeprecatedSPDY2, |
210 kProtoSPDY3, kProtoSPDY31, kProtoSPDY4)); | 212 kProtoSPDY3, kProtoSPDY31, kProtoSPDY4_14, kProtoSPDY4_15)); |
211 | 213 |
212 TEST_P(BufferedSpdyFramerTest, OnSetting) { | 214 TEST_P(BufferedSpdyFramerTest, OnSetting) { |
213 SpdyFramer framer(spdy_version()); | 215 SpdyFramer framer(spdy_version()); |
214 SpdySettingsIR settings_ir; | 216 SpdySettingsIR settings_ir; |
215 settings_ir.AddSetting(SETTINGS_INITIAL_WINDOW_SIZE, false, false, 2); | 217 settings_ir.AddSetting(SETTINGS_INITIAL_WINDOW_SIZE, false, false, 2); |
216 settings_ir.AddSetting(SETTINGS_MAX_CONCURRENT_STREAMS, false, false, 3); | 218 settings_ir.AddSetting(SETTINGS_MAX_CONCURRENT_STREAMS, false, false, 3); |
217 scoped_ptr<SpdyFrame> control_frame(framer.SerializeSettings(settings_ir)); | 219 scoped_ptr<SpdyFrame> control_frame(framer.SerializeSettings(settings_ir)); |
218 TestBufferedSpdyVisitor visitor(spdy_version()); | 220 TestBufferedSpdyVisitor visitor(spdy_version()); |
219 | 221 |
220 visitor.SimulateInFramer( | 222 visitor.SimulateInFramer( |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
286 } | 288 } |
287 | 289 |
288 TEST_P(BufferedSpdyFramerTest, ReadHeadersHeaderBlock) { | 290 TEST_P(BufferedSpdyFramerTest, ReadHeadersHeaderBlock) { |
289 SpdyHeaderBlock headers; | 291 SpdyHeaderBlock headers; |
290 headers["alpha"] = "beta"; | 292 headers["alpha"] = "beta"; |
291 headers["gamma"] = "delta"; | 293 headers["gamma"] = "delta"; |
292 BufferedSpdyFramer framer(spdy_version(), true); | 294 BufferedSpdyFramer framer(spdy_version(), true); |
293 scoped_ptr<SpdyFrame> control_frame( | 295 scoped_ptr<SpdyFrame> control_frame( |
294 framer.CreateHeaders(1, // stream_id | 296 framer.CreateHeaders(1, // stream_id |
295 CONTROL_FLAG_NONE, | 297 CONTROL_FLAG_NONE, |
| 298 0, // priority |
296 &headers)); | 299 &headers)); |
297 EXPECT_TRUE(control_frame.get() != NULL); | 300 EXPECT_TRUE(control_frame.get() != NULL); |
298 | 301 |
299 TestBufferedSpdyVisitor visitor(spdy_version()); | 302 TestBufferedSpdyVisitor visitor(spdy_version()); |
300 visitor.SimulateInFramer( | 303 visitor.SimulateInFramer( |
301 reinterpret_cast<unsigned char*>(control_frame.get()->data()), | 304 reinterpret_cast<unsigned char*>(control_frame.get()->data()), |
302 control_frame.get()->size()); | 305 control_frame.get()->size()); |
303 EXPECT_EQ(0, visitor.error_count_); | 306 EXPECT_EQ(0, visitor.error_count_); |
304 EXPECT_EQ(0, visitor.syn_frame_count_); | 307 EXPECT_EQ(0, visitor.syn_frame_count_); |
305 EXPECT_EQ(0, visitor.syn_reply_frame_count_); | 308 EXPECT_EQ(0, visitor.syn_reply_frame_count_); |
(...skipping 21 matching lines...) Expand all Loading... |
327 EXPECT_EQ(0, visitor.syn_frame_count_); | 330 EXPECT_EQ(0, visitor.syn_frame_count_); |
328 EXPECT_EQ(0, visitor.syn_reply_frame_count_); | 331 EXPECT_EQ(0, visitor.syn_reply_frame_count_); |
329 EXPECT_EQ(0, visitor.headers_frame_count_); | 332 EXPECT_EQ(0, visitor.headers_frame_count_); |
330 EXPECT_EQ(1, visitor.push_promise_frame_count_); | 333 EXPECT_EQ(1, visitor.push_promise_frame_count_); |
331 EXPECT_TRUE(CompareHeaderBlocks(&headers, &visitor.headers_)); | 334 EXPECT_TRUE(CompareHeaderBlocks(&headers, &visitor.headers_)); |
332 EXPECT_EQ(1u, visitor.header_stream_id_); | 335 EXPECT_EQ(1u, visitor.header_stream_id_); |
333 EXPECT_EQ(2u, visitor.promised_stream_id_); | 336 EXPECT_EQ(2u, visitor.promised_stream_id_); |
334 } | 337 } |
335 | 338 |
336 } // namespace net | 339 } // namespace net |
OLD | NEW |