| Index: net/spdy/spdy_stream_spdy3_unittest.cc
|
| diff --git a/net/spdy/spdy_stream_spdy3_unittest.cc b/net/spdy/spdy_stream_spdy3_unittest.cc
|
| index b26d05daa677bd24a4fe1669aeb4bb1e08f39a79..3dd851f298ac79cb4b5ef006b31a35fdac74f6b2 100644
|
| --- a/net/spdy/spdy_stream_spdy3_unittest.cc
|
| +++ b/net/spdy/spdy_stream_spdy3_unittest.cc
|
| @@ -42,36 +42,11 @@ const SpdyHeaderInfo kSynStartHeader = {
|
| DATA_FLAG_NONE
|
| };
|
|
|
| -const char* const kGetHeaders[] = {
|
| - ":method",
|
| - "GET",
|
| - ":scheme",
|
| - "http",
|
| - ":host",
|
| - "www.google.com",
|
| - ":path",
|
| - "/",
|
| - ":version",
|
| - "HTTP/1.1",
|
| -};
|
| -
|
| -// TODO(akalin): Factor out the two functions below (duplicated in
|
| -// spdy_stream_spdy2_unittest.cc). The main sticking point is the
|
| -// different definitions of the SpdyHeaderInfo struct in
|
| -// spdy_test_util_spdy{2,3}.h.
|
| -
|
| -scoped_ptr<SpdyFrame> ConstructSpdyGetRequest() {
|
| +// TODO(akalin): Merge with ConstructSpdyGet(). (The sticking point is
|
| +// CONTROL_FLAG_NONE vs. CONTROL_FLAG_FIN.)
|
| +scoped_ptr<SpdyFrame> ConstructSpdyGetRequest(const char* url) {
|
| return scoped_ptr<SpdyFrame>(
|
| - ConstructSpdyPacket(
|
| - kSynStartHeader, NULL, 0, kGetHeaders, arraysize(kGetHeaders) / 2));
|
| -}
|
| -
|
| -scoped_ptr<SpdyHeaderBlock> ConstructSpdyGetHeaderBlock() {
|
| - scoped_ptr<SpdyHeaderBlock> headers(new SpdyHeaderBlock);
|
| - for (size_t i = 0; i < arraysize(kGetHeaders) / 2; ++i) {
|
| - (*headers)[kGetHeaders[2*i]] = kGetHeaders[2*i+1];
|
| - }
|
| - return headers.Pass();
|
| + ConstructSpdyPacket(kSynStartHeader, ConstructHeaderBlock(url)));
|
| }
|
|
|
| scoped_ptr<SpdyFrame> ConstructSpdyBodyFrame(const char* data, int length) {
|
| @@ -117,9 +92,11 @@ class SpdyStreamSpdy3Test : public testing::Test {
|
| };
|
|
|
| TEST_F(SpdyStreamSpdy3Test, SendDataAfterOpen) {
|
| + const char kStreamUrl[] = "http://www.google.com/";
|
| + GURL url(kStreamUrl);
|
| session_ = SpdySessionDependencies::SpdyCreateSession(&session_deps_);
|
|
|
| - scoped_ptr<SpdyFrame> req = ConstructSpdyGetRequest();
|
| + scoped_ptr<SpdyFrame> req = ConstructSpdyGetRequest(kStreamUrl);
|
| scoped_ptr<SpdyFrame> msg = ConstructSpdyBodyFrame("\0hello!\xff", 8);
|
| MockWrite writes[] = {
|
| CreateMockWrite(*req),
|
| @@ -147,8 +124,6 @@ TEST_F(SpdyStreamSpdy3Test, SendDataAfterOpen) {
|
| session_deps_.socket_factory->AddSocketDataProvider(&data);
|
|
|
| scoped_refptr<SpdySession> session(CreateSpdySession());
|
| - const char kStreamUrl[] = "http://www.google.com/";
|
| - GURL url(kStreamUrl);
|
|
|
| InitializeSpdySession(session, host_port_pair_);
|
|
|
| @@ -164,7 +139,7 @@ TEST_F(SpdyStreamSpdy3Test, SendDataAfterOpen) {
|
|
|
| EXPECT_FALSE(stream->HasUrl());
|
|
|
| - stream->set_spdy_headers(ConstructSpdyGetHeaderBlock());
|
| + stream->set_spdy_headers(ConstructHeaderBlock(kStreamUrl));
|
| EXPECT_TRUE(stream->HasUrl());
|
| EXPECT_EQ(kStreamUrl, stream->GetUrl().spec());
|
|
|
| @@ -307,9 +282,12 @@ TEST_F(SpdyStreamSpdy3Test, PushedStream) {
|
| }
|
|
|
| TEST_F(SpdyStreamSpdy3Test, StreamError) {
|
| + const char kStreamUrl[] = "http://www.google.com/";
|
| + GURL url(kStreamUrl);
|
| +
|
| session_ = SpdySessionDependencies::SpdyCreateSession(&session_deps_);
|
|
|
| - scoped_ptr<SpdyFrame> req = ConstructSpdyGetRequest();
|
| + scoped_ptr<SpdyFrame> req = ConstructSpdyGetRequest(kStreamUrl);
|
| scoped_ptr<SpdyFrame> msg = ConstructSpdyBodyFrame("\0hello!\xff", 8);
|
| MockWrite writes[] = {
|
| CreateMockWrite(*req),
|
| @@ -339,8 +317,6 @@ TEST_F(SpdyStreamSpdy3Test, StreamError) {
|
| session_deps_.socket_factory->AddSocketDataProvider(&data);
|
|
|
| scoped_refptr<SpdySession> session(CreateSpdySession());
|
| - const char kStreamUrl[] = "http://www.google.com/";
|
| - GURL url(kStreamUrl);
|
|
|
| InitializeSpdySession(session, host_port_pair_);
|
|
|
| @@ -356,7 +332,7 @@ TEST_F(SpdyStreamSpdy3Test, StreamError) {
|
|
|
| EXPECT_FALSE(stream->HasUrl());
|
|
|
| - stream->set_spdy_headers(ConstructSpdyGetHeaderBlock());
|
| + stream->set_spdy_headers(ConstructHeaderBlock(kStreamUrl));
|
| EXPECT_TRUE(stream->HasUrl());
|
| EXPECT_EQ(kStreamUrl, stream->GetUrl().spec());
|
|
|
| @@ -444,15 +420,18 @@ TEST_F(SpdyStreamSpdy3Test, IncreaseSendWindowSizeOverflow) {
|
| EXPECT_EQ(ERR_CONNECTION_CLOSED, delegate->WaitForClose());
|
| }
|
|
|
| -// Cause a stall by reducing the flow control recv window to 0. The
|
| +// Cause a stall by reducing the flow control send window to 0. The
|
| // stream should resume when that window is then increased.
|
| -TEST_F(SpdyStreamSpdy3Test, ResumeAfterRecvWindowSizeIncrease) {
|
| +TEST_F(SpdyStreamSpdy3Test, ResumeAfterSendWindowSizeIncrease) {
|
| + const char kStreamUrl[] = "http://www.google.com/";
|
| + GURL url(kStreamUrl);
|
| +
|
| session_ =
|
| SpdySessionDependencies::SpdyCreateSessionDeterministic(&session_deps_);
|
|
|
| const char kBodyData[] = "Body data";
|
| const size_t kBodyDataSize = arraysize(kBodyData);
|
| - scoped_ptr<SpdyFrame> req = ConstructSpdyGetRequest();
|
| + scoped_ptr<SpdyFrame> req = ConstructSpdyGetRequest(kStreamUrl);
|
| scoped_ptr<SpdyFrame> msg = ConstructSpdyBodyFrame(kBodyData, kBodyDataSize);
|
| MockWrite writes[] = {
|
| CreateMockWrite(*req, 0),
|
| @@ -475,8 +454,6 @@ TEST_F(SpdyStreamSpdy3Test, ResumeAfterRecvWindowSizeIncrease) {
|
| session_deps_.deterministic_socket_factory->AddSocketDataProvider(&data);
|
|
|
| scoped_refptr<SpdySession> session(CreateSpdySession());
|
| - const char kStreamUrl[] = "http://www.google.com/";
|
| - GURL url(kStreamUrl);
|
|
|
| InitializeSpdySession(session, host_port_pair_);
|
|
|
| @@ -491,7 +468,7 @@ TEST_F(SpdyStreamSpdy3Test, ResumeAfterRecvWindowSizeIncrease) {
|
|
|
| EXPECT_FALSE(stream->HasUrl());
|
|
|
| - stream->set_spdy_headers(ConstructSpdyGetHeaderBlock());
|
| + stream->set_spdy_headers(ConstructHeaderBlock(kStreamUrl));
|
| EXPECT_TRUE(stream->HasUrl());
|
| EXPECT_EQ(kStreamUrl, stream->GetUrl().spec());
|
|
|
| @@ -526,15 +503,18 @@ TEST_F(SpdyStreamSpdy3Test, ResumeAfterRecvWindowSizeIncrease) {
|
| EXPECT_EQ(static_cast<int>(kBodyDataSize), delegate.body_data_sent());
|
| }
|
|
|
| -// Cause a stall by reducing the flow control recv window to 0. The
|
| +// Cause a stall by reducing the flow control send window to 0. The
|
| // stream should resume when that window is then adjusted positively.
|
| -TEST_F(SpdyStreamSpdy3Test, ResumeAfterRecvWindowSizeAdjust) {
|
| +TEST_F(SpdyStreamSpdy3Test, ResumeAfterSendWindowSizeAdjust) {
|
| + const char kStreamUrl[] = "http://www.google.com/";
|
| + GURL url(kStreamUrl);
|
| +
|
| session_ =
|
| SpdySessionDependencies::SpdyCreateSessionDeterministic(&session_deps_);
|
|
|
| const char kBodyData[] = "Body data";
|
| const size_t kBodyDataSize = arraysize(kBodyData);
|
| - scoped_ptr<SpdyFrame> req = ConstructSpdyGetRequest();
|
| + scoped_ptr<SpdyFrame> req = ConstructSpdyGetRequest(kStreamUrl);
|
| scoped_ptr<SpdyFrame> msg(
|
| ConstructSpdyBodyFrame(kBodyData, kBodyDataSize));
|
| MockWrite writes[] = {
|
| @@ -559,8 +539,6 @@ TEST_F(SpdyStreamSpdy3Test, ResumeAfterRecvWindowSizeAdjust) {
|
| session_deps_.deterministic_socket_factory->AddSocketDataProvider(&data);
|
|
|
| scoped_refptr<SpdySession> session(CreateSpdySession());
|
| - const char kStreamUrl[] = "http://www.google.com/";
|
| - GURL url(kStreamUrl);
|
|
|
| InitializeSpdySession(session, host_port_pair_);
|
|
|
| @@ -575,7 +553,7 @@ TEST_F(SpdyStreamSpdy3Test, ResumeAfterRecvWindowSizeAdjust) {
|
|
|
| EXPECT_FALSE(stream->HasUrl());
|
|
|
| - stream->set_spdy_headers(ConstructSpdyGetHeaderBlock());
|
| + stream->set_spdy_headers(ConstructHeaderBlock(kStreamUrl));
|
| EXPECT_TRUE(stream->HasUrl());
|
| EXPECT_EQ(kStreamUrl, stream->GetUrl().spec());
|
|
|
|
|