Chromium Code Reviews| Index: net/spdy/spdy_session_spdy3_unittest.cc |
| diff --git a/net/spdy/spdy_session_spdy3_unittest.cc b/net/spdy/spdy_session_spdy3_unittest.cc |
| index 545e36b7c4b1262b2cc56c3d89451e37a33481fe..0b259979255eb47e1c69eec9bc2241835a9c8772 100644 |
| --- a/net/spdy/spdy_session_spdy3_unittest.cc |
| +++ b/net/spdy/spdy_session_spdy3_unittest.cc |
| @@ -663,6 +663,69 @@ TEST_F(SpdySessionSpdy3Test, CancelPendingCreateStream) { |
| MessageLoop::current()->RunAllPending(); |
| } |
| +TEST_F(SpdySessionSpdy3Test, SendInitialWindowSizeSettingsOnNewSession) { |
| + SpdySessionDependencies session_deps; |
| + session_deps.host_resolver->set_synchronous_mode(true); |
| + |
| + MockRead reads[] = { |
| + MockRead(SYNCHRONOUS, ERR_IO_PENDING) // Stall forever. |
| + }; |
| + |
| + SettingsMap settings; |
| + const SpdySettingsIds kSpdySettingsIds1 = SETTINGS_INITIAL_WINDOW_SIZE; |
| + const uint32 kInitialRecvWindowSize = 10 * 1024 * 1024; |
| + settings[kSpdySettingsIds1] = |
| + SettingsFlagsAndValue(SETTINGS_FLAG_NONE, kInitialRecvWindowSize); |
| + MockConnect connect_data(SYNCHRONOUS, OK); |
| + scoped_ptr<SpdyFrame> settings_frame(ConstructSpdySettings(settings)); |
| + MockWrite writes[] = { |
| + CreateMockWrite(*settings_frame), |
| + }; |
| + SpdySession::set_default_initial_recv_window_size(kInitialRecvWindowSize); |
| + |
| + StaticSocketDataProvider data( |
| + reads, arraysize(reads), writes, arraysize(writes)); |
| + data.set_connect_data(connect_data); |
| + session_deps.socket_factory->AddSocketDataProvider(&data); |
| + |
| + SSLSocketDataProvider ssl(SYNCHRONOUS, OK); |
| + session_deps.socket_factory->AddSSLSocketDataProvider(&ssl); |
| + |
| + |
|
ramant (doing other things)
2012/06/04 22:29:00
nit: please delete extra blank lines.
|
| + |
| + scoped_refptr<HttpNetworkSession> http_session( |
| + SpdySessionDependencies::SpdyCreateSession(&session_deps)); |
| + |
| + static const char kStreamUrl[] = "http://www.google.com/"; |
| + GURL url(kStreamUrl); |
| + |
| + const std::string kTestHost("www.google.com"); |
| + const int kTestPort = 80; |
| + HostPortPair test_host_port_pair(kTestHost, kTestPort); |
| + HostPortProxyPair pair(test_host_port_pair, ProxyServer::Direct()); |
| + |
| + SpdySessionPool* spdy_session_pool(http_session->spdy_session_pool()); |
| + EXPECT_FALSE(spdy_session_pool->HasSession(pair)); |
| + scoped_refptr<SpdySession> session = |
| + spdy_session_pool->Get(pair, BoundNetLog()); |
| + EXPECT_TRUE(spdy_session_pool->HasSession(pair)); |
| + |
| + scoped_refptr<TransportSocketParams> transport_params( |
| + new TransportSocketParams(test_host_port_pair, |
| + MEDIUM, |
| + false, |
| + false)); |
| + scoped_ptr<ClientSocketHandle> connection(new ClientSocketHandle); |
| + EXPECT_EQ(OK, connection->Init(test_host_port_pair.ToString(), |
| + transport_params, MEDIUM, CompletionCallback(), |
| + http_session->GetTransportSocketPool( |
| + HttpNetworkSession::NORMAL_SOCKET_POOL), |
| + BoundNetLog())); |
| + EXPECT_EQ(OK, session->InitializeWithSocket(connection.release(), false, OK)); |
| + MessageLoop::current()->RunAllPending(); |
| + EXPECT_TRUE(data.at_write_eof()); |
| +} |
| + |
| TEST_F(SpdySessionSpdy3Test, SendSettingsOnNewSession) { |
| SpdySessionDependencies session_deps; |
| session_deps.host_resolver->set_synchronous_mode(true); |