| 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 7b93b35b38bfe6028be7a15d620ab4c692494121..e964b5536c1ce8e5d88461467d150a15334824df 100644
|
| --- a/net/url_request/url_request_http_job_unittest.cc
|
| +++ b/net/url_request/url_request_http_job_unittest.cc
|
| @@ -8,12 +8,14 @@
|
|
|
| #include "base/compiler_specific.h"
|
| #include "base/memory/ref_counted.h"
|
| +#include "base/memory/scoped_ptr.h"
|
| #include "base/run_loop.h"
|
| #include "net/base/auth.h"
|
| #include "net/base/request_priority.h"
|
| #include "net/http/http_transaction_factory.h"
|
| #include "net/http/http_transaction_test_util.h"
|
| #include "net/socket/socket_test_util.h"
|
| +#include "net/url_request/url_request.h"
|
| #include "net/url_request/url_request_status.h"
|
| #include "net/url_request/url_request_test_util.h"
|
| #include "net/websockets/websocket_handshake_stream_base.h"
|
| @@ -47,10 +49,10 @@ class TestURLRequestHttpJob : public URLRequestHttpJob {
|
| class URLRequestHttpJobTest : public ::testing::Test {
|
| protected:
|
| URLRequestHttpJobTest()
|
| - : req_(GURL("http://www.example.com"),
|
| - DEFAULT_PRIORITY,
|
| - &delegate_,
|
| - &context_) {
|
| + : req_(context_.CreateRequest(GURL("http://www.example.com"),
|
| + DEFAULT_PRIORITY,
|
| + &delegate_,
|
| + NULL)) {
|
| context_.set_http_transaction_factory(&network_layer_);
|
| }
|
|
|
| @@ -88,13 +90,14 @@ class URLRequestHttpJobTest : public ::testing::Test {
|
| MockNetworkLayer network_layer_;
|
| TestURLRequestContext context_;
|
| TestDelegate delegate_;
|
| - TestURLRequest req_;
|
| + scoped_ptr<URLRequest> req_;
|
| };
|
|
|
| // Make sure that SetPriority actually sets the URLRequestHttpJob's
|
| // priority, both before and after start.
|
| TEST_F(URLRequestHttpJobTest, SetPriorityBasic) {
|
| - scoped_refptr<TestURLRequestHttpJob> job(new TestURLRequestHttpJob(&req_));
|
| + scoped_refptr<TestURLRequestHttpJob> job(
|
| + new TestURLRequestHttpJob(req_.get()));
|
| EXPECT_EQ(DEFAULT_PRIORITY, job->priority());
|
|
|
| job->SetPriority(LOWEST);
|
| @@ -113,7 +116,8 @@ TEST_F(URLRequestHttpJobTest, SetPriorityBasic) {
|
| // Make sure that URLRequestHttpJob passes on its priority to its
|
| // transaction on start.
|
| TEST_F(URLRequestHttpJobTest, SetTransactionPriorityOnStart) {
|
| - scoped_refptr<TestURLRequestHttpJob> job(new TestURLRequestHttpJob(&req_));
|
| + scoped_refptr<TestURLRequestHttpJob> job(
|
| + new TestURLRequestHttpJob(req_.get()));
|
| job->SetPriority(LOW);
|
|
|
| EXPECT_FALSE(network_layer_.last_transaction());
|
| @@ -127,7 +131,8 @@ TEST_F(URLRequestHttpJobTest, SetTransactionPriorityOnStart) {
|
| // Make sure that URLRequestHttpJob passes on its priority updates to
|
| // its transaction.
|
| TEST_F(URLRequestHttpJobTest, SetTransactionPriority) {
|
| - scoped_refptr<TestURLRequestHttpJob> job(new TestURLRequestHttpJob(&req_));
|
| + scoped_refptr<TestURLRequestHttpJob> job(
|
| + new TestURLRequestHttpJob(req_.get()));
|
| job->SetPriority(LOW);
|
| job->Start();
|
| ASSERT_TRUE(network_layer_.last_transaction());
|
| @@ -140,7 +145,8 @@ TEST_F(URLRequestHttpJobTest, SetTransactionPriority) {
|
| // Make sure that URLRequestHttpJob passes on its priority updates to
|
| // newly-created transactions after the first one.
|
| TEST_F(URLRequestHttpJobTest, SetSubsequentTransactionPriority) {
|
| - scoped_refptr<TestURLRequestHttpJob> job(new TestURLRequestHttpJob(&req_));
|
| + scoped_refptr<TestURLRequestHttpJob> job(
|
| + new TestURLRequestHttpJob(req_.get()));
|
| job->Start();
|
|
|
| job->SetPriority(LOW);
|
| @@ -159,8 +165,9 @@ TEST_F(URLRequestHttpJobTest, SetSubsequentTransactionPriority) {
|
| // Confirm we do advertise SDCH encoding in the case of a GET.
|
| TEST_F(URLRequestHttpJobTest, SdchAdvertisementGet) {
|
| EnableSdch();
|
| - req_.set_method("GET"); // Redundant with default.
|
| - scoped_refptr<TestURLRequestHttpJob> job(new TestURLRequestHttpJob(&req_));
|
| + req_->set_method("GET"); // Redundant with default.
|
| + scoped_refptr<TestURLRequestHttpJob> job(
|
| + new TestURLRequestHttpJob(req_.get()));
|
| job->Start();
|
| EXPECT_TRUE(TransactionAcceptsSdchEncoding());
|
| }
|
| @@ -168,8 +175,9 @@ TEST_F(URLRequestHttpJobTest, SdchAdvertisementGet) {
|
| // Confirm we don't advertise SDCH encoding in the case of a POST.
|
| TEST_F(URLRequestHttpJobTest, SdchAdvertisementPost) {
|
| EnableSdch();
|
| - req_.set_method("POST");
|
| - scoped_refptr<TestURLRequestHttpJob> job(new TestURLRequestHttpJob(&req_));
|
| + req_->set_method("POST");
|
| + scoped_refptr<TestURLRequestHttpJob> job(
|
| + new TestURLRequestHttpJob(req_.get()));
|
| job->Start();
|
| EXPECT_FALSE(TransactionAcceptsSdchEncoding());
|
| }
|
| @@ -201,19 +209,20 @@ class URLRequestHttpJobWebSocketTest
|
| : public URLRequestHttpJobWebSocketTestBase {
|
| protected:
|
| URLRequestHttpJobWebSocketTest()
|
| - : req_(GURL("ws://www.example.com"),
|
| - DEFAULT_PRIORITY,
|
| - &delegate_,
|
| - &context_) {
|
| + : req_(context_.CreateRequest(GURL("ws://www.example.com"),
|
| + DEFAULT_PRIORITY,
|
| + &delegate_,
|
| + NULL)) {
|
| // The TestNetworkDelegate expects a call to NotifyBeforeURLRequest before
|
| // anything else happens.
|
| GURL url("ws://localhost/");
|
| TestCompletionCallback dummy;
|
| - network_delegate_.NotifyBeforeURLRequest(&req_, dummy.callback(), &url);
|
| + network_delegate_.NotifyBeforeURLRequest(
|
| + req_.get(), dummy.callback(), &url);
|
| }
|
|
|
| TestDelegate delegate_;
|
| - TestURLRequest req_;
|
| + scoped_ptr<URLRequest> req_;
|
| };
|
|
|
| class MockCreateHelper : public WebSocketHandshakeStreamBase::CreateHelper {
|
| @@ -307,15 +316,17 @@ class FakeWebSocketHandshakeStream : public WebSocketHandshakeStreamBase {
|
| };
|
|
|
| TEST_F(URLRequestHttpJobWebSocketTest, RejectedWithoutCreateHelper) {
|
| - scoped_refptr<TestURLRequestHttpJob> job(new TestURLRequestHttpJob(&req_));
|
| + scoped_refptr<TestURLRequestHttpJob> job(
|
| + new TestURLRequestHttpJob(req_.get()));
|
| job->Start();
|
| base::RunLoop().RunUntilIdle();
|
| - EXPECT_EQ(URLRequestStatus::FAILED, req_.status().status());
|
| - EXPECT_EQ(ERR_DISALLOWED_URL_SCHEME, req_.status().error());
|
| + EXPECT_EQ(URLRequestStatus::FAILED, req_->status().status());
|
| + EXPECT_EQ(ERR_DISALLOWED_URL_SCHEME, req_->status().error());
|
| }
|
|
|
| TEST_F(URLRequestHttpJobWebSocketTest, CreateHelperPassedThrough) {
|
| - scoped_refptr<TestURLRequestHttpJob> job(new TestURLRequestHttpJob(&req_));
|
| + scoped_refptr<TestURLRequestHttpJob> job(
|
| + new TestURLRequestHttpJob(req_.get()));
|
| scoped_ptr<MockCreateHelper> create_helper(
|
| new ::testing::StrictMock<MockCreateHelper>());
|
| FakeWebSocketHandshakeStream* fake_handshake_stream(
|
| @@ -324,12 +335,12 @@ TEST_F(URLRequestHttpJobWebSocketTest, CreateHelperPassedThrough) {
|
| // is called.
|
| EXPECT_CALL(*create_helper, CreateBasicStreamMock())
|
| .WillOnce(Return(fake_handshake_stream));
|
| - req_.SetUserData(WebSocketHandshakeStreamBase::CreateHelper::DataKey(),
|
| - create_helper.release());
|
| - req_.SetLoadFlags(LOAD_DISABLE_CACHE);
|
| + req_->SetUserData(WebSocketHandshakeStreamBase::CreateHelper::DataKey(),
|
| + create_helper.release());
|
| + req_->SetLoadFlags(LOAD_DISABLE_CACHE);
|
| job->Start();
|
| base::RunLoop().RunUntilIdle();
|
| - EXPECT_EQ(URLRequestStatus::IO_PENDING, req_.status().status());
|
| + EXPECT_EQ(URLRequestStatus::IO_PENDING, req_->status().status());
|
| EXPECT_TRUE(fake_handshake_stream->initialize_stream_was_called());
|
| }
|
|
|
|
|