| 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 <cstddef> | 5 #include <cstddef> |
| 6 #include <string> | 6 #include <string> |
| 7 | 7 |
| 8 #include "base/memory/ref_counted.h" | 8 #include "base/memory/ref_counted.h" |
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "base/strings/string_piece.h" | 10 #include "base/strings/string_piece.h" |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 127 EXPECT_TRUE(stream->HasUrl()); | 127 EXPECT_TRUE(stream->HasUrl()); |
| 128 EXPECT_EQ(kStreamUrl, stream->GetUrl().spec()); | 128 EXPECT_EQ(kStreamUrl, stream->GetUrl().spec()); |
| 129 | 129 |
| 130 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequest(true)); | 130 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequest(true)); |
| 131 | 131 |
| 132 EXPECT_EQ(ERR_CONNECTION_CLOSED, delegate.WaitForClose()); | 132 EXPECT_EQ(ERR_CONNECTION_CLOSED, delegate.WaitForClose()); |
| 133 | 133 |
| 134 EXPECT_TRUE(delegate.send_headers_completed()); | 134 EXPECT_TRUE(delegate.send_headers_completed()); |
| 135 EXPECT_EQ("200", delegate.GetResponseHeaderValue("status")); | 135 EXPECT_EQ("200", delegate.GetResponseHeaderValue("status")); |
| 136 EXPECT_EQ("HTTP/1.1", delegate.GetResponseHeaderValue("version")); | 136 EXPECT_EQ("HTTP/1.1", delegate.GetResponseHeaderValue("version")); |
| 137 EXPECT_EQ(std::string(kPostBody, kPostBodyLength), delegate.received_data()); | 137 EXPECT_EQ(std::string(kPostBody, kPostBodyLength), |
| 138 delegate.TakeReceivedData()); |
| 138 EXPECT_EQ(static_cast<int>(kPostBodyLength), delegate.data_sent()); | 139 EXPECT_EQ(static_cast<int>(kPostBodyLength), delegate.data_sent()); |
| 139 } | 140 } |
| 140 | 141 |
| 141 TEST_F(SpdyStreamSpdy2Test, SendHeaderAndDataAfterOpen) { | 142 TEST_F(SpdyStreamSpdy2Test, SendHeaderAndDataAfterOpen) { |
| 142 session_ = SpdySessionDependencies::SpdyCreateSession(&session_deps_); | 143 session_ = SpdySessionDependencies::SpdyCreateSession(&session_deps_); |
| 143 | 144 |
| 144 scoped_ptr<SpdyFrame> expected_request(ConstructSpdyWebSocketSynStream( | 145 scoped_ptr<SpdyFrame> expected_request(ConstructSpdyWebSocketSynStream( |
| 145 1, | 146 1, |
| 146 "/chat", | 147 "/chat", |
| 147 "server.example.com", | 148 "server.example.com", |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 204 stream->set_spdy_headers(headers.Pass()); | 205 stream->set_spdy_headers(headers.Pass()); |
| 205 EXPECT_TRUE(stream->HasUrl()); | 206 EXPECT_TRUE(stream->HasUrl()); |
| 206 | 207 |
| 207 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequest(true)); | 208 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequest(true)); |
| 208 | 209 |
| 209 EXPECT_EQ(ERR_CONNECTION_CLOSED, delegate.WaitForClose()); | 210 EXPECT_EQ(ERR_CONNECTION_CLOSED, delegate.WaitForClose()); |
| 210 | 211 |
| 211 EXPECT_TRUE(delegate.send_headers_completed()); | 212 EXPECT_TRUE(delegate.send_headers_completed()); |
| 212 EXPECT_EQ("101", delegate.GetResponseHeaderValue("status")); | 213 EXPECT_EQ("101", delegate.GetResponseHeaderValue("status")); |
| 213 EXPECT_EQ(1, delegate.headers_sent()); | 214 EXPECT_EQ(1, delegate.headers_sent()); |
| 214 EXPECT_EQ(std::string(), delegate.received_data()); | 215 EXPECT_EQ(std::string(), delegate.TakeReceivedData()); |
| 215 EXPECT_EQ(6, delegate.data_sent()); | 216 EXPECT_EQ(6, delegate.data_sent()); |
| 216 } | 217 } |
| 217 | 218 |
| 218 TEST_F(SpdyStreamSpdy2Test, PushedStream) { | 219 TEST_F(SpdyStreamSpdy2Test, PushedStream) { |
| 219 SpdySessionDependencies session_deps; | 220 SpdySessionDependencies session_deps; |
| 220 session_ = SpdySessionDependencies::SpdyCreateSession(&session_deps_); | 221 session_ = SpdySessionDependencies::SpdyCreateSession(&session_deps_); |
| 221 scoped_refptr<SpdySession> spdy_session(CreateSpdySession()); | 222 scoped_refptr<SpdySession> spdy_session(CreateSpdySession()); |
| 222 | 223 |
| 223 MockRead reads[] = { | 224 MockRead reads[] = { |
| 224 MockRead(ASYNC, 0, 0), // EOF | 225 MockRead(ASYNC, 0, 0), // EOF |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 321 | 322 |
| 322 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequest(true)); | 323 EXPECT_EQ(ERR_IO_PENDING, stream->SendRequest(true)); |
| 323 | 324 |
| 324 EXPECT_EQ(ERR_CONNECTION_CLOSED, delegate.WaitForClose()); | 325 EXPECT_EQ(ERR_CONNECTION_CLOSED, delegate.WaitForClose()); |
| 325 | 326 |
| 326 const SpdyStreamId stream_id = stream->stream_id(); | 327 const SpdyStreamId stream_id = stream->stream_id(); |
| 327 | 328 |
| 328 EXPECT_TRUE(delegate.send_headers_completed()); | 329 EXPECT_TRUE(delegate.send_headers_completed()); |
| 329 EXPECT_EQ("200", delegate.GetResponseHeaderValue("status")); | 330 EXPECT_EQ("200", delegate.GetResponseHeaderValue("status")); |
| 330 EXPECT_EQ("HTTP/1.1", delegate.GetResponseHeaderValue("version")); | 331 EXPECT_EQ("HTTP/1.1", delegate.GetResponseHeaderValue("version")); |
| 331 EXPECT_EQ(std::string(kPostBody, kPostBodyLength), delegate.received_data()); | 332 EXPECT_EQ(std::string(kPostBody, kPostBodyLength), |
| 333 delegate.TakeReceivedData()); |
| 332 EXPECT_EQ(static_cast<int>(kPostBodyLength), delegate.data_sent()); | 334 EXPECT_EQ(static_cast<int>(kPostBodyLength), delegate.data_sent()); |
| 333 | 335 |
| 334 // Check that the NetLog was filled reasonably. | 336 // Check that the NetLog was filled reasonably. |
| 335 net::CapturingNetLog::CapturedEntryList entries; | 337 net::CapturingNetLog::CapturedEntryList entries; |
| 336 log.GetEntries(&entries); | 338 log.GetEntries(&entries); |
| 337 EXPECT_LT(0u, entries.size()); | 339 EXPECT_LT(0u, entries.size()); |
| 338 | 340 |
| 339 // Check that we logged SPDY_STREAM_ERROR correctly. | 341 // Check that we logged SPDY_STREAM_ERROR correctly. |
| 340 int pos = net::ExpectLogContainsSomewhere( | 342 int pos = net::ExpectLogContainsSomewhere( |
| 341 entries, 0, | 343 entries, 0, |
| 342 net::NetLog::TYPE_SPDY_STREAM_ERROR, | 344 net::NetLog::TYPE_SPDY_STREAM_ERROR, |
| 343 net::NetLog::PHASE_NONE); | 345 net::NetLog::PHASE_NONE); |
| 344 | 346 |
| 345 int stream_id2; | 347 int stream_id2; |
| 346 ASSERT_TRUE(entries[pos].GetIntegerValue("stream_id", &stream_id2)); | 348 ASSERT_TRUE(entries[pos].GetIntegerValue("stream_id", &stream_id2)); |
| 347 EXPECT_EQ(static_cast<int>(stream_id), stream_id2); | 349 EXPECT_EQ(static_cast<int>(stream_id), stream_id2); |
| 348 } | 350 } |
| 349 | 351 |
| 350 } // namespace | 352 } // namespace |
| 351 | 353 |
| 352 } // namespace test | 354 } // namespace test |
| 353 | 355 |
| 354 } // namespace net | 356 } // namespace net |
| OLD | NEW |