Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2751)

Unified Diff: net/url_request/url_request_simple_job_unittest.cc

Issue 1271593002: Fix cancellation of a pair of URLRequestJob subclasses (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixes Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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
« net/url_request/url_request_job.cc ('K') | « net/url_request/url_request_simple_job.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698