| Index: net/http/http_network_layer_unittest.cc
|
| diff --git a/net/http/http_network_layer_unittest.cc b/net/http/http_network_layer_unittest.cc
|
| index ecd33e95fe7c86141a754f42e4a74036964152a6..ad1885fba5bdfc8731bfd9044465be268d6b450a 100644
|
| --- a/net/http/http_network_layer_unittest.cc
|
| +++ b/net/http/http_network_layer_unittest.cc
|
| @@ -88,12 +88,12 @@ TEST_F(HttpNetworkLayerTest, GET) {
|
| };
|
| MockWrite data_writes[] = {
|
| MockWrite("GET / HTTP/1.1\r\n"
|
| - "Host: www.google.com\r\n"
|
| - "Connection: keep-alive\r\n"
|
| - "User-Agent: Foo/1.0\r\n\r\n"),
|
| + "Host: www.google.com\r\n"
|
| + "Connection: keep-alive\r\n"
|
| + "User-Agent: Foo/1.0\r\n\r\n"),
|
| };
|
| StaticSocketDataProvider data(data_reads, arraysize(data_reads),
|
| - data_writes, arraysize(data_writes));
|
| + data_writes, arraysize(data_writes));
|
| mock_socket_factory_.AddSocketDataProvider(&data);
|
|
|
| TestCompletionCallback callback;
|
| @@ -110,8 +110,7 @@ TEST_F(HttpNetworkLayerTest, GET) {
|
| EXPECT_EQ(OK, rv);
|
|
|
| rv = trans->Start(&request_info, callback.callback(), BoundNetLog());
|
| - if (rv == ERR_IO_PENDING)
|
| - rv = callback.WaitForResult();
|
| + rv = callback.GetResult(rv);
|
| ASSERT_EQ(OK, rv);
|
|
|
| std::string contents;
|
| @@ -290,6 +289,76 @@ TEST_F(HttpNetworkLayerTest, ProxyBypassIgnoredOnDirectConnection) {
|
| ASSERT_EQ(0u, proxy_service_->proxy_retry_info().size());
|
| }
|
|
|
| +TEST_F(HttpNetworkLayerTest, NetworkVerified) {
|
| + MockRead data_reads[] = {
|
| + MockRead("HTTP/1.0 200 OK\r\n\r\n"),
|
| + MockRead("hello world"),
|
| + MockRead(SYNCHRONOUS, OK),
|
| + };
|
| + MockWrite data_writes[] = {
|
| + MockWrite("GET / HTTP/1.1\r\n"
|
| + "Host: www.google.com\r\n"
|
| + "Connection: keep-alive\r\n"
|
| + "User-Agent: Foo/1.0\r\n\r\n"),
|
| + };
|
| + StaticSocketDataProvider data(data_reads, arraysize(data_reads),
|
| + data_writes, arraysize(data_writes));
|
| + mock_socket_factory_.AddSocketDataProvider(&data);
|
| +
|
| + TestCompletionCallback callback;
|
| +
|
| + HttpRequestInfo request_info;
|
| + request_info.url = GURL("http://www.google.com/");
|
| + request_info.method = "GET";
|
| + request_info.extra_headers.SetHeader(HttpRequestHeaders::kUserAgent,
|
| + "Foo/1.0");
|
| + request_info.load_flags = LOAD_NORMAL;
|
| +
|
| + scoped_ptr<HttpTransaction> trans;
|
| + int rv = factory_->CreateTransaction(DEFAULT_PRIORITY, &trans, NULL);
|
| + EXPECT_EQ(OK, rv);
|
| +
|
| + rv = trans->Start(&request_info, callback.callback(), BoundNetLog());
|
| + ASSERT_EQ(OK, callback.GetResult(rv));
|
| +
|
| + EXPECT_TRUE(trans->GetResponseInfo()->network_accessed);
|
| +}
|
| +
|
| +TEST_F(HttpNetworkLayerTest, NetworkUnVerified) {
|
| + MockRead data_reads[] = {
|
| + MockRead(ASYNC, ERR_CONNECTION_RESET),
|
| + };
|
| + MockWrite data_writes[] = {
|
| + MockWrite("GET / HTTP/1.1\r\n"
|
| + "Host: www.google.com\r\n"
|
| + "Connection: keep-alive\r\n"
|
| + "User-Agent: Foo/1.0\r\n\r\n"),
|
| + };
|
| + StaticSocketDataProvider data(data_reads, arraysize(data_reads),
|
| + data_writes, arraysize(data_writes));
|
| + mock_socket_factory_.AddSocketDataProvider(&data);
|
| +
|
| + TestCompletionCallback callback;
|
| +
|
| + HttpRequestInfo request_info;
|
| + request_info.url = GURL("http://www.google.com/");
|
| + request_info.method = "GET";
|
| + request_info.extra_headers.SetHeader(HttpRequestHeaders::kUserAgent,
|
| + "Foo/1.0");
|
| + request_info.load_flags = LOAD_NORMAL;
|
| +
|
| + scoped_ptr<HttpTransaction> trans;
|
| + int rv = factory_->CreateTransaction(DEFAULT_PRIORITY, &trans, NULL);
|
| + EXPECT_EQ(OK, rv);
|
| +
|
| + rv = trans->Start(&request_info, callback.callback(), BoundNetLog());
|
| + ASSERT_EQ(ERR_CONNECTION_RESET, callback.GetResult(rv));
|
| +
|
| + // If the response info is null, that means that any consumer won't
|
| + // see the network accessed bit set.
|
| + EXPECT_EQ(NULL, trans->GetResponseInfo());
|
| +}
|
| +
|
| } // namespace
|
|
|
| } // namespace net
|
|
|