| Index: net/http/http_network_transaction_unittest.cc
|
| diff --git a/net/http/http_network_transaction_unittest.cc b/net/http/http_network_transaction_unittest.cc
|
| index cf1ce7e9a2cf1744101e0c0f833fb3554d949230..e7a6a3b70e2c4a8143f8964634ae982a4713f6dd 100644
|
| --- a/net/http/http_network_transaction_unittest.cc
|
| +++ b/net/http/http_network_transaction_unittest.cc
|
| @@ -1218,41 +1218,34 @@
|
| }
|
|
|
| TEST_P(HttpNetworkTransactionTest, Incomplete100ThenEOF) {
|
| - struct TestCase {
|
| - const char* response;
|
| - net::Error expected_error_code;
|
| - };
|
| - const TestCase kTestCases[] = {
|
| - {"HTTP/1.0 100 Continue\r\n", net::ERR_RESPONSE_HEADERS_TRUNCATED},
|
| - {"HTTP/1.0 100 Continue\r\n\r\n", net::ERR_EMPTY_RESPONSE},
|
| - };
|
| -
|
| - for (const TestCase& test_case : kTestCases) {
|
| - SCOPED_TRACE(test_case.response);
|
| -
|
| - HttpRequestInfo request;
|
| - request.method = "POST";
|
| - request.url = GURL("http://www.foo.com/");
|
| - request.load_flags = 0;
|
| -
|
| - scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_));
|
| - scoped_ptr<HttpTransaction> trans(
|
| - new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get()));
|
| -
|
| - MockRead data_reads[] = {
|
| - MockRead(SYNCHRONOUS, test_case.response), MockRead(ASYNC, 0),
|
| - };
|
| - StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0);
|
| - session_deps_.socket_factory->AddSocketDataProvider(&data);
|
| -
|
| - TestCompletionCallback callback;
|
| -
|
| - int rv = trans->Start(&request, callback.callback(), BoundNetLog());
|
| - EXPECT_EQ(ERR_IO_PENDING, rv);
|
| -
|
| - rv = callback.WaitForResult();
|
| - EXPECT_EQ(test_case.expected_error_code, rv);
|
| - }
|
| + HttpRequestInfo request;
|
| + request.method = "POST";
|
| + request.url = GURL("http://www.foo.com/");
|
| + request.load_flags = 0;
|
| +
|
| + scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_));
|
| + scoped_ptr<HttpTransaction> trans(
|
| + new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get()));
|
| +
|
| + MockRead data_reads[] = {
|
| + MockRead(SYNCHRONOUS, "HTTP/1.0 100 Continue\r\n"),
|
| + MockRead(ASYNC, 0),
|
| + };
|
| + StaticSocketDataProvider data(data_reads, arraysize(data_reads), NULL, 0);
|
| + session_deps_.socket_factory->AddSocketDataProvider(&data);
|
| +
|
| + TestCompletionCallback callback;
|
| +
|
| + int rv = trans->Start(&request, callback.callback(), BoundNetLog());
|
| + EXPECT_EQ(ERR_IO_PENDING, rv);
|
| +
|
| + rv = callback.WaitForResult();
|
| + EXPECT_EQ(OK, rv);
|
| +
|
| + std::string response_data;
|
| + rv = ReadTransaction(trans.get(), &response_data);
|
| + EXPECT_EQ(OK, rv);
|
| + EXPECT_EQ("", response_data);
|
| }
|
|
|
| TEST_P(HttpNetworkTransactionTest, EmptyResponse) {
|
| @@ -6129,7 +6122,8 @@
|
|
|
| // Sever accepts the authorization.
|
| MockRead data_reads2[] = {
|
| - MockRead("HTTP/1.0 200 OK\r\n\r\n"), MockRead(SYNCHRONOUS, OK),
|
| + MockRead("HTTP/1.0 200 OK\r\n"),
|
| + MockRead(SYNCHRONOUS, OK),
|
| };
|
|
|
| StaticSocketDataProvider data1(data_reads1, arraysize(data_reads1),
|
| @@ -8231,8 +8225,8 @@
|
| EXPECT_EQ(ERR_CONNECTION_RESET, rv);
|
| }
|
|
|
| -// Integration test for when truncated headers are received.
|
| -TEST_P(HttpNetworkTransactionTest, TruncatedHeaders) {
|
| +// Check that a connection closed after the start of the headers finishes ok.
|
| +TEST_P(HttpNetworkTransactionTest, ConnectionClosedAfterStartOfHeaders) {
|
| HttpRequestInfo request;
|
| request.method = "GET";
|
| request.url = GURL("http://www.foo.com/");
|
| @@ -8256,7 +8250,18 @@
|
| EXPECT_EQ(ERR_IO_PENDING, rv);
|
|
|
| rv = callback.WaitForResult();
|
| - EXPECT_EQ(ERR_RESPONSE_HEADERS_TRUNCATED, rv);
|
| + EXPECT_EQ(OK, rv);
|
| +
|
| + const HttpResponseInfo* response = trans->GetResponseInfo();
|
| + ASSERT_TRUE(response != NULL);
|
| +
|
| + EXPECT_TRUE(response->headers.get() != NULL);
|
| + EXPECT_EQ("HTTP/1.0 200 OK", response->headers->GetStatusLine());
|
| +
|
| + std::string response_data;
|
| + rv = ReadTransaction(trans.get(), &response_data);
|
| + EXPECT_EQ(OK, rv);
|
| + EXPECT_EQ("", response_data);
|
| }
|
|
|
| // Make sure that a dropped connection while draining the body for auth
|
|
|