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 daf4c575ede70d36c56bc01d6716c7b58a4768a9..5fc60deb13a40120d3afd01732accefacbd7ae3b 100644 |
--- a/net/url_request/url_request_unittest.cc |
+++ b/net/url_request/url_request_unittest.cc |
@@ -4655,15 +4655,6 @@ TEST_F(URLRequestTestHTTP, PostFileTest) { |
0, |
kuint64max, |
base::Time())); |
- |
- // This file should just be ignored in the upload stream. |
- element_readers.push_back(new UploadFileElementReader( |
- base::MessageLoopProxy::current().get(), |
- base::FilePath(FILE_PATH_LITERAL( |
- "c:\\path\\to\\non\\existant\\file.randomness.12345")), |
- 0, |
- kuint64max, |
- base::Time())); |
r.set_upload(make_scoped_ptr( |
new UploadDataStream(element_readers.Pass(), 0))); |
@@ -4689,6 +4680,48 @@ TEST_F(URLRequestTestHTTP, PostFileTest) { |
} |
} |
+TEST_F(URLRequestTestHTTP, PostUnreadableFileTest) { |
+ ASSERT_TRUE(test_server_.Start()); |
+ |
+ TestDelegate d; |
+ { |
+ URLRequest r(test_server_.GetURL("echo"), DEFAULT_PRIORITY, |
+ &d, &default_context_); |
+ r.set_method("POST"); |
+ |
+ ScopedVector<UploadElementReader> element_readers; |
+ |
+ element_readers.push_back(new UploadFileElementReader( |
+ base::MessageLoopProxy::current().get(), |
+ base::FilePath(FILE_PATH_LITERAL( |
+ "c:\\path\\to\\non\\existant\\file.randomness.12345")), |
+ 0, |
+ kuint64max, |
+ base::Time())); |
+ r.set_upload(make_scoped_ptr( |
+ new UploadDataStream(element_readers.Pass(), 0))); |
+ |
+ r.Start(); |
+ EXPECT_TRUE(r.is_pending()); |
+ |
+ base::RunLoop().Run(); |
+ |
+#if defined(CHROME_FRAME_NET_TESTS) |
hashimoto
2013/11/08 04:59:08
How about having a TODO to remove this "if defined
tzik
2013/11/11 04:03:04
Done.
I filed a bug and added a comment with a lin
|
+ EXPECT_FALSE(d.request_failed()); |
+ EXPECT_FALSE(d.received_data_before_response()); |
+ EXPECT_EQ(0, d.bytes_received()); |
+ EXPECT_EQ(URLRequestStatus::SUCCESS, r.status().status()); |
+ EXPECT_EQ(OK, r.status().error()); |
+#else |
+ EXPECT_TRUE(d.request_failed()); |
+ EXPECT_FALSE(d.received_data_before_response()); |
+ EXPECT_EQ(0, d.bytes_received()); |
+ EXPECT_EQ(URLRequestStatus::FAILED, r.status().status()); |
+ EXPECT_EQ(ERR_FILE_NOT_FOUND, r.status().error()); |
+#endif // defined(CHROME_FRAME_NET_TESTS) |
+ } |
+} |
+ |
TEST_F(URLRequestTestHTTP, TestPostChunkedDataBeforeStart) { |
ASSERT_TRUE(test_server_.Start()); |