Chromium Code Reviews| Index: net/url_request/url_request_simple_job_unittest.cc |
| diff --git a/net/url_request/url_request_simple_job_unittest.cc b/net/url_request/url_request_simple_job_unittest.cc |
| index 439995a3b8ebdc0121e81462025d83d9d1181c79..5c1b1a92da937559bd4013dc7dce230e256ec92c 100644 |
| --- a/net/url_request/url_request_simple_job_unittest.cc |
| +++ b/net/url_request/url_request_simple_job_unittest.cc |
| @@ -65,7 +65,7 @@ class MockSimpleJob : public URLRequestSimpleJob { |
| DISALLOW_COPY_AND_ASSIGN(MockSimpleJob); |
| }; |
| -class CancelURLRequestDelegate : public URLRequest::Delegate { |
| +class CancelURLRequestDelegate : public TestDelegate { |
|
davidben
2015/08/05 18:56:39
Any reason this CancelURLRequestDelegate calls Rea
mmenke
2015/08/05 20:00:24
Carelessness on my part, while iterating to get th
|
| public: |
| CancelURLRequestDelegate() |
| : buf_(new IOBuffer(kBufferSize)), run_loop_(new base::RunLoop) {} |
| @@ -78,7 +78,10 @@ class CancelURLRequestDelegate : public URLRequest::Delegate { |
| run_loop_->Quit(); |
| } |
| - void OnReadCompleted(URLRequest* request, int bytes_read) override {} |
| + void OnReadCompleted(URLRequest* request, int bytes_read) override { |
| + // Read should have been cancelled. |
| + EXPECT_EQ(-1, bytes_read); |
| + } |
| void WaitUntilHeadersReceived() const { run_loop_->Run(); } |
| @@ -208,7 +211,18 @@ TEST_F(URLRequestSimpleJobTest, EmptyDataRequest) { |
| EXPECT_EQ("", delegate_.data_received()); |
| } |
| -TEST_F(URLRequestSimpleJobTest, CancelAfterFirstRead) { |
| +TEST_F(URLRequestSimpleJobTest, CancelBeforeResponseStarts) { |
| + request_ = |
| + context_.CreateRequest(GURL("data:cancel"), DEFAULT_PRIORITY, &delegate_); |
| + request_->Start(); |
| + request_->Cancel(); |
| + |
| + base::RunLoop().RunUntilIdle(); |
| + EXPECT_EQ(URLRequestStatus::CANCELED, request_->status().status()); |
| + EXPECT_EQ(1, delegate_.response_started_count()); |
| +} |
| + |
| +TEST_F(URLRequestSimpleJobTest, CancelAfterFirstReadStarted) { |
| scoped_ptr<CancelURLRequestDelegate> cancel_delegate( |
| new CancelURLRequestDelegate()); |
| request_ = context_.CreateRequest(GURL("data:cancel"), DEFAULT_PRIORITY, |
| @@ -222,6 +236,8 @@ TEST_F(URLRequestSimpleJobTest, CancelAfterFirstRead) { |
| EXPECT_TRUE(task_runner_->PostTaskAndReply( |
| FROM_HERE, base::Bind(&base::DoNothing), run_loop.QuitClosure())); |
| run_loop.Run(); |
| + |
| + EXPECT_EQ(URLRequestStatus::CANCELED, request_->status().status()); |
| } |
| } // namespace net |