Index: net/url_request/url_request_unittest.cc |
diff --git a/net/url_request/url_request_unittest.cc b/net/url_request/url_request_unittest.cc |
index 2bf7f24fccc3961fa2848ed89d7be329703cac4d..fa5e4e8d82f7508f608b49f9650c0968a4201735 100644 |
--- a/net/url_request/url_request_unittest.cc |
+++ b/net/url_request/url_request_unittest.cc |
@@ -563,6 +563,24 @@ TEST_F(URLRequestTest, FileTest) { |
} |
} |
+TEST_F(URLRequestTest, FileTestCancel) { |
+ FilePath app_path; |
+ PathService::Get(base::FILE_EXE, &app_path); |
+ GURL app_url = FilePathToFileURL(app_path); |
+ |
+ TestDelegate d; |
+ { |
+ URLRequest r(app_url, &d, &default_context_); |
+ |
+ r.Start(); |
+ EXPECT_TRUE(r.is_pending()); |
+ r.Cancel(); |
+ } |
+ // Async cancelation should be safe even when URLRequest has been already |
+ // destroyed. |
+ MessageLoop::current()->RunUntilIdle(); |
+} |
+ |
TEST_F(URLRequestTest, FileTestFullSpecifiedRange) { |
const size_t buffer_size = 4000; |
scoped_array<char> buffer(new char[buffer_size]); |