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/spdy_protocol.h" | 5 #include "net/spdy/spdy_protocol.h" |
6 | 6 |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "net/spdy/spdy_bitmasks.h" | 8 #include "net/spdy/spdy_bitmasks.h" |
9 #include "net/spdy/spdy_framer.h" | 9 #include "net/spdy/spdy_framer.h" |
10 #include "testing/platform_test.h" | 10 #include "testing/platform_test.h" |
(...skipping 28 matching lines...) Expand all Loading... |
39 ::testing::Values(SPDY2, SPDY3)); | 39 ::testing::Values(SPDY2, SPDY3)); |
40 | 40 |
41 // Test our protocol constants | 41 // Test our protocol constants |
42 TEST_P(SpdyProtocolTest, ProtocolConstants) { | 42 TEST_P(SpdyProtocolTest, ProtocolConstants) { |
43 EXPECT_EQ(8u, SpdyFrame::kHeaderSize); | 43 EXPECT_EQ(8u, SpdyFrame::kHeaderSize); |
44 EXPECT_EQ(8u, SpdyDataFrame::size()); | 44 EXPECT_EQ(8u, SpdyDataFrame::size()); |
45 EXPECT_EQ(8u, SpdyControlFrame::kHeaderSize); | 45 EXPECT_EQ(8u, SpdyControlFrame::kHeaderSize); |
46 EXPECT_EQ(18u, SpdySynStreamControlFrame::size()); | 46 EXPECT_EQ(18u, SpdySynStreamControlFrame::size()); |
47 EXPECT_EQ(16u, SpdyRstStreamControlFrame::size()); | 47 EXPECT_EQ(16u, SpdyRstStreamControlFrame::size()); |
48 EXPECT_EQ(12u, SpdySettingsControlFrame::size()); | 48 EXPECT_EQ(12u, SpdySettingsControlFrame::size()); |
49 EXPECT_EQ(12u, SpdyPingControlFrame::size()); | |
50 EXPECT_EQ(12u, SpdyHeadersControlFrame::size()); | 49 EXPECT_EQ(12u, SpdyHeadersControlFrame::size()); |
51 EXPECT_EQ(4u, sizeof(FlagsAndLength)); | 50 EXPECT_EQ(4u, sizeof(FlagsAndLength)); |
52 EXPECT_EQ(1, SYN_STREAM); | 51 EXPECT_EQ(1, SYN_STREAM); |
53 EXPECT_EQ(2, SYN_REPLY); | 52 EXPECT_EQ(2, SYN_REPLY); |
54 EXPECT_EQ(3, RST_STREAM); | 53 EXPECT_EQ(3, RST_STREAM); |
55 EXPECT_EQ(4, SETTINGS); | 54 EXPECT_EQ(4, SETTINGS); |
56 EXPECT_EQ(5, NOOP); | 55 EXPECT_EQ(5, NOOP); |
57 EXPECT_EQ(6, PING); | 56 EXPECT_EQ(6, PING); |
58 EXPECT_EQ(7, GOAWAY); | 57 EXPECT_EQ(7, GOAWAY); |
59 EXPECT_EQ(8, HEADERS); | 58 EXPECT_EQ(8, HEADERS); |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 framer.CreateRstStream(123, net::RST_STREAM_PROTOCOL_ERROR)); | 106 framer.CreateRstStream(123, net::RST_STREAM_PROTOCOL_ERROR)); |
108 EXPECT_EQ(framer.protocol_version(), rst_frame->version()); | 107 EXPECT_EQ(framer.protocol_version(), rst_frame->version()); |
109 EXPECT_TRUE(rst_frame->is_control_frame()); | 108 EXPECT_TRUE(rst_frame->is_control_frame()); |
110 EXPECT_EQ(RST_STREAM, rst_frame->type()); | 109 EXPECT_EQ(RST_STREAM, rst_frame->type()); |
111 EXPECT_EQ(123u, rst_frame->stream_id()); | 110 EXPECT_EQ(123u, rst_frame->stream_id()); |
112 EXPECT_EQ(net::RST_STREAM_PROTOCOL_ERROR, rst_frame->status()); | 111 EXPECT_EQ(net::RST_STREAM_PROTOCOL_ERROR, rst_frame->status()); |
113 rst_frame->set_status(net::RST_STREAM_INVALID_STREAM); | 112 rst_frame->set_status(net::RST_STREAM_INVALID_STREAM); |
114 EXPECT_EQ(net::RST_STREAM_INVALID_STREAM, rst_frame->status()); | 113 EXPECT_EQ(net::RST_STREAM_INVALID_STREAM, rst_frame->status()); |
115 EXPECT_EQ(0, rst_frame->flags()); | 114 EXPECT_EQ(0, rst_frame->flags()); |
116 | 115 |
117 const uint32 kUniqueId = 1234567u; | |
118 const uint32 kUniqueId2 = 31415926u; | |
119 scoped_ptr<SpdyPingControlFrame> ping_frame( | |
120 framer.CreatePingFrame(kUniqueId)); | |
121 EXPECT_EQ(framer.protocol_version(), ping_frame->version()); | |
122 EXPECT_TRUE(ping_frame->is_control_frame()); | |
123 EXPECT_EQ(PING, ping_frame->type()); | |
124 EXPECT_EQ(kUniqueId, ping_frame->unique_id()); | |
125 ping_frame->set_unique_id(kUniqueId2); | |
126 EXPECT_EQ(kUniqueId2, ping_frame->unique_id()); | |
127 | |
128 scoped_ptr<SpdyHeadersControlFrame> headers_frame( | 116 scoped_ptr<SpdyHeadersControlFrame> headers_frame( |
129 framer.CreateHeaders(123, CONTROL_FLAG_NONE, false, &headers)); | 117 framer.CreateHeaders(123, CONTROL_FLAG_NONE, false, &headers)); |
130 EXPECT_EQ(framer.protocol_version(), headers_frame->version()); | 118 EXPECT_EQ(framer.protocol_version(), headers_frame->version()); |
131 EXPECT_TRUE(headers_frame->is_control_frame()); | 119 EXPECT_TRUE(headers_frame->is_control_frame()); |
132 EXPECT_EQ(HEADERS, headers_frame->type()); | 120 EXPECT_EQ(HEADERS, headers_frame->type()); |
133 EXPECT_EQ(123u, headers_frame->stream_id()); | 121 EXPECT_EQ(123u, headers_frame->stream_id()); |
134 EXPECT_EQ(IsSpdy2() ? 2 : 4, headers_frame->header_block_len()); | 122 EXPECT_EQ(IsSpdy2() ? 2 : 4, headers_frame->header_block_len()); |
135 EXPECT_EQ(0, headers_frame->flags()); | 123 EXPECT_EQ(0, headers_frame->flags()); |
136 } | 124 } |
137 | 125 |
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
351 | 339 |
352 rst_frame->set_status(static_cast<SpdyRstStreamStatus>( | 340 rst_frame->set_status(static_cast<SpdyRstStreamStatus>( |
353 RST_STREAM_INVALID - 1)); | 341 RST_STREAM_INVALID - 1)); |
354 EXPECT_EQ(RST_STREAM_INVALID, rst_frame->status()); | 342 EXPECT_EQ(RST_STREAM_INVALID, rst_frame->status()); |
355 | 343 |
356 rst_frame->set_status(RST_STREAM_NUM_STATUS_CODES); | 344 rst_frame->set_status(RST_STREAM_NUM_STATUS_CODES); |
357 EXPECT_EQ(RST_STREAM_INVALID, rst_frame->status()); | 345 EXPECT_EQ(RST_STREAM_INVALID, rst_frame->status()); |
358 } | 346 } |
359 | 347 |
360 } // namespace net | 348 } // namespace net |
OLD | NEW |