| 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 dbaea28f76e0115df4041995cea3b3a60e93bfeb..0519f2e5392b453f1899900af301dce90955c18f 100644
|
| --- a/net/url_request/url_request_http_job_unittest.cc
|
| +++ b/net/url_request/url_request_http_job_unittest.cc
|
| @@ -15,6 +15,7 @@
|
| #include "base/memory/ref_counted.h"
|
| #include "base/run_loop.h"
|
| #include "base/strings/string_split.h"
|
| +#include "base/test/histogram_tester.h"
|
| #include "net/base/auth.h"
|
| #include "net/base/request_priority.h"
|
| #include "net/base/sdch_observer.h"
|
| @@ -616,6 +617,53 @@ TEST_F(URLRequestHttpJobWithMockSocketsTest,
|
| EXPECT_EQ(0, network_delegate_.total_network_bytes_received());
|
| }
|
|
|
| +TEST_F(URLRequestHttpJobWithMockSocketsTest, TestHttpTimeToFirstByte) {
|
| + base::HistogramTester histograms;
|
| + MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)};
|
| + MockRead reads[] = {MockRead("HTTP/1.1 200 OK\r\n"
|
| + "Content-Length: 12\r\n\r\n"),
|
| + MockRead("Test Content")};
|
| +
|
| + StaticSocketDataProvider socket_data(reads, arraysize(reads), writes,
|
| + arraysize(writes));
|
| + socket_factory_.AddSocketDataProvider(&socket_data);
|
| +
|
| + TestDelegate delegate;
|
| + std::unique_ptr<URLRequest> request = context_->CreateRequest(
|
| + GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate);
|
| + histograms.ExpectTotalCount("Net.HttpTimeToFirstByte", 0);
|
| +
|
| + request->Start();
|
| + base::RunLoop().Run();
|
| +
|
| + EXPECT_THAT(delegate.request_status(), IsOk());
|
| + histograms.ExpectTotalCount("Net.HttpTimeToFirstByte", 1);
|
| +}
|
| +
|
| +TEST_F(URLRequestHttpJobWithMockSocketsTest,
|
| + TestHttpTimeToFirstByteForCancelledTask) {
|
| + base::HistogramTester histograms;
|
| + MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)};
|
| + MockRead reads[] = {MockRead("HTTP/1.1 200 OK\r\n"
|
| + "Content-Length: 12\r\n\r\n"),
|
| + MockRead("Test Content")};
|
| +
|
| + StaticSocketDataProvider socket_data(reads, arraysize(reads), writes,
|
| + arraysize(writes));
|
| + socket_factory_.AddSocketDataProvider(&socket_data);
|
| +
|
| + TestDelegate delegate;
|
| + std::unique_ptr<URLRequest> request = context_->CreateRequest(
|
| + GURL("http://www.example.com"), DEFAULT_PRIORITY, &delegate);
|
| +
|
| + request->Start();
|
| + request->Cancel();
|
| + base::RunLoop().Run();
|
| +
|
| + EXPECT_THAT(delegate.request_status(), IsError(ERR_ABORTED));
|
| + histograms.ExpectTotalCount("Net.HttpTimeToFirstByte", 0);
|
| +}
|
| +
|
| TEST_F(URLRequestHttpJobTest, TestCancelWhileReadingCookies) {
|
| DelayedCookieMonster cookie_monster;
|
| TestURLRequestContext context(true);
|
|
|