| Index: net/url_request/url_request_http_job_unittest.cc
|
| diff --git a/net/url_request/url_request_http_job_unittest.cc b/net/url_request/url_request_http_job_unittest.cc
|
| index 96e82bf6ae46c830a13f36e5dbee293f765e98a1..ea2c637aa73dbf6a7ca4934d651d4586391d0355 100644
|
| --- a/net/url_request/url_request_http_job_unittest.cc
|
| +++ b/net/url_request/url_request_http_job_unittest.cc
|
| @@ -133,6 +133,8 @@ TEST_F(URLRequestHttpJobWithMockSocketsTest,
|
|
|
| EXPECT_TRUE(request->status().is_success());
|
| EXPECT_EQ(12, request->received_response_content_length());
|
| + EXPECT_GE(network_delegate_.total_network_bytes_received(),
|
| + reads[0].data_len + reads[1].data_len);
|
| }
|
|
|
| TEST_F(URLRequestHttpJobWithMockSocketsTest, TestContentLengthAbortedRequest) {
|
| @@ -156,6 +158,8 @@ TEST_F(URLRequestHttpJobWithMockSocketsTest, TestContentLengthAbortedRequest) {
|
|
|
| EXPECT_EQ(URLRequestStatus::FAILED, request->status().status());
|
| EXPECT_EQ(12, request->received_response_content_length());
|
| + EXPECT_GE(network_delegate_.total_network_bytes_received(),
|
| + reads[0].data_len + reads[1].data_len);
|
| }
|
|
|
| TEST_F(URLRequestHttpJobWithMockSocketsTest,
|
| @@ -174,13 +178,66 @@ TEST_F(URLRequestHttpJobWithMockSocketsTest,
|
| &delegate)
|
| .Pass();
|
|
|
| + delegate.set_cancel_in_received_data(true);
|
| request->Start();
|
| base::RunLoop().RunUntilIdle();
|
| - request->Cancel();
|
| - base::RunLoop().Run();
|
|
|
| EXPECT_EQ(URLRequestStatus::CANCELED, request->status().status());
|
| EXPECT_EQ(12, request->received_response_content_length());
|
| + EXPECT_GE(network_delegate_.total_network_bytes_received(),
|
| + reads[0].data_len + reads[1].data_len);
|
| +}
|
| +
|
| +TEST_F(URLRequestHttpJobWithMockSocketsTest,
|
| + TestNetworkBytesRedirectedRequest) {
|
| + MockRead redirect_read(
|
| + "HTTP/1.1 302 Found\r\n"
|
| + "Location: http://www.example.com\r\n\r\n");
|
| + StaticSocketDataProvider redirect_socket_data(&redirect_read, 1, nullptr, 0);
|
| + socket_factory_.AddSocketDataProvider(&redirect_socket_data);
|
| +
|
| + MockRead response_reads[] = {MockRead("HTTP/1.1 200 OK\r\n"
|
| + "Content-Length: 12\r\n\r\n"),
|
| + MockRead("Test Content")};
|
| + StaticSocketDataProvider response_socket_data(
|
| + response_reads, arraysize(response_reads), nullptr, 0);
|
| + socket_factory_.AddSocketDataProvider(&response_socket_data);
|
| +
|
| + TestDelegate delegate;
|
| + scoped_ptr<URLRequest> request =
|
| + context_->CreateRequest(GURL("http://www.redirect.com"), DEFAULT_PRIORITY,
|
| + &delegate)
|
| + .Pass();
|
| +
|
| + request->Start();
|
| + ASSERT_TRUE(request->is_pending());
|
| + base::RunLoop().RunUntilIdle();
|
| +
|
| + EXPECT_TRUE(request->status().is_success());
|
| + EXPECT_EQ(12, request->received_response_content_length());
|
| + EXPECT_GE(network_delegate_.total_network_bytes_received(),
|
| + redirect_read.data_len + response_reads[0].data_len +
|
| + response_reads[1].data_len);
|
| +}
|
| +
|
| +TEST_F(URLRequestHttpJobWithMockSocketsTest,
|
| + TestNetworkBytesCancelledAfterHeaders) {
|
| + MockRead read("HTTP/1.1 200 OK\r\n\r\n");
|
| + StaticSocketDataProvider socket_data(&read, 1, nullptr, 0);
|
| + socket_factory_.AddSocketDataProvider(&socket_data);
|
| +
|
| + TestDelegate delegate;
|
| + scoped_ptr<URLRequest> request =
|
| + context_->CreateRequest(GURL("http://www.example.com"), DEFAULT_PRIORITY,
|
| + &delegate)
|
| + .Pass();
|
| +
|
| + delegate.set_cancel_in_response_started(true);
|
| + request->Start();
|
| + base::RunLoop().RunUntilIdle();
|
| +
|
| + EXPECT_EQ(URLRequestStatus::CANCELED, request->status().status());
|
| + EXPECT_GE(network_delegate_.total_network_bytes_received(), read.data_len);
|
| }
|
|
|
| TEST_F(URLRequestHttpJobWithMockSocketsTest, BackoffHeader) {
|
|
|