Index: content/browser/loader/mojo_async_resource_handler_unittest.cc |
diff --git a/content/browser/loader/mojo_async_resource_handler_unittest.cc b/content/browser/loader/mojo_async_resource_handler_unittest.cc |
index fa69c8d39c892f63e8b07f152b017287d7dacb0f..bcd730abd9f2d092e1ea040d4f37b8c95a5945de 100644 |
--- a/content/browser/loader/mojo_async_resource_handler_unittest.cc |
+++ b/content/browser/loader/mojo_async_resource_handler_unittest.cc |
@@ -457,12 +457,12 @@ TEST_F(MojoAsyncResourceHandlerTest, OnWillReadAndOnReadCompleted) { |
ASSERT_GE(mock_loader_->io_buffer_size(), |
kSizeMimeSnifferRequiresForFirstOnWillRead); |
- url_loader_client_.RunUntilResponseBodyArrived(); |
- ASSERT_TRUE(url_loader_client_.response_body().is_valid()); |
- |
ASSERT_EQ(MockResourceLoader::Status::IDLE, |
mock_loader_->OnReadCompleted("AB")); |
+ url_loader_client_.RunUntilResponseBodyArrived(); |
+ ASSERT_TRUE(url_loader_client_.response_body().is_valid()); |
+ |
std::string contents; |
while (contents.size() < 2) { |
char buffer[16]; |
@@ -489,13 +489,13 @@ TEST_F(MojoAsyncResourceHandlerTest, |
ASSERT_GE(mock_loader_->io_buffer_size(), |
kSizeMimeSnifferRequiresForFirstOnWillRead); |
- url_loader_client_.RunUntilResponseBodyArrived(); |
- ASSERT_TRUE(url_loader_client_.response_body().is_valid()); |
- |
const std::string data("abcdefgh"); |
ASSERT_EQ(MockResourceLoader::Status::CALLBACK_PENDING, |
mock_loader_->OnReadCompleted(data)); |
+ url_loader_client_.RunUntilResponseBodyArrived(); |
+ ASSERT_TRUE(url_loader_client_.response_body().is_valid()); |
+ |
std::string contents; |
while (contents.size() < data.size()) { |
// This is needed for Resume to be called. |
@@ -619,9 +619,10 @@ TEST_F(MojoAsyncResourceHandlerTest, ResponseCompletionShouldCloseDataPipe) { |
ASSERT_TRUE(CallOnWillStartAndOnResponseStarted()); |
ASSERT_EQ(MockResourceLoader::Status::IDLE, mock_loader_->OnWillRead(-1)); |
+ ASSERT_EQ(MockResourceLoader::Status::IDLE, |
+ mock_loader_->OnReadCompleted("AB")); |
url_loader_client_.RunUntilResponseBodyArrived(); |
ASSERT_TRUE(url_loader_client_.response_body().is_valid()); |
- ASSERT_EQ(MockResourceLoader::Status::IDLE, mock_loader_->OnReadCompleted(0)); |
net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, net::OK); |
ASSERT_EQ(MockResourceLoader::Status::IDLE, |
@@ -639,7 +640,7 @@ TEST_F(MojoAsyncResourceHandlerTest, ResponseCompletionShouldCloseDataPipe) { |
&read_size, MOJO_READ_DATA_FLAG_NONE); |
if (result == MOJO_RESULT_FAILED_PRECONDITION) |
break; |
- ASSERT_EQ(result, MOJO_RESULT_SHOULD_WAIT); |
+ ASSERT_TRUE(result == MOJO_RESULT_SHOULD_WAIT || result == MOJO_RESULT_OK); |
} |
} |
@@ -647,11 +648,11 @@ TEST_F(MojoAsyncResourceHandlerTest, OutOfBandCancelDuringBodyTransmission) { |
ASSERT_TRUE(CallOnWillStartAndOnResponseStarted()); |
ASSERT_EQ(MockResourceLoader::Status::IDLE, mock_loader_->OnWillRead(-1)); |
- url_loader_client_.RunUntilResponseBodyArrived(); |
- ASSERT_TRUE(url_loader_client_.response_body().is_valid()); |
std::string data(mock_loader_->io_buffer_size(), 'a'); |
ASSERT_EQ(MockResourceLoader::Status::CALLBACK_PENDING, |
mock_loader_->OnReadCompleted(data)); |
+ url_loader_client_.RunUntilResponseBodyArrived(); |
+ ASSERT_TRUE(url_loader_client_.response_body().is_valid()); |
net::URLRequestStatus status(net::URLRequestStatus::FAILED, net::ERR_FAILED); |
ASSERT_EQ( |
@@ -681,34 +682,6 @@ TEST_F(MojoAsyncResourceHandlerTest, OutOfBandCancelDuringBodyTransmission) { |
EXPECT_EQ(data, actual); |
} |
-// In this case, an error is notified after OnWillRead, before OnReadCompleted. |
-TEST_F(MojoAsyncResourceHandlerTest, ResponseErrorDuringBodyTransmission2) { |
mmenke
2017/01/18 16:26:12
Why did you remove this test?
yhirano
2017/01/19 03:25:50
This test doesn't have an OnReadCompleted call. Wi
|
- ASSERT_TRUE(CallOnWillStartAndOnResponseStarted()); |
- |
- ASSERT_EQ(MockResourceLoader::Status::IDLE, mock_loader_->OnWillRead(-1)); |
- url_loader_client_.RunUntilResponseBodyArrived(); |
- ASSERT_TRUE(url_loader_client_.response_body().is_valid()); |
- net::URLRequestStatus status(net::URLRequestStatus::FAILED, net::ERR_FAILED); |
- ASSERT_EQ(MockResourceLoader::Status::IDLE, |
- mock_loader_->OnResponseCompleted(status)); |
- |
- url_loader_client_.RunUntilComplete(); |
- EXPECT_TRUE(url_loader_client_.has_received_completion()); |
- EXPECT_EQ(net::ERR_FAILED, url_loader_client_.completion_status().error_code); |
- |
- while (true) { |
- char buf[16]; |
- uint32_t read_size = sizeof(buf); |
- MojoResult result = |
- mojo::ReadDataRaw(url_loader_client_.response_body(), buf, &read_size, |
- MOJO_READ_DATA_FLAG_NONE); |
- if (result == MOJO_RESULT_FAILED_PRECONDITION) |
- break; |
- ASSERT_EQ(MOJO_RESULT_SHOULD_WAIT, result); |
- base::RunLoop().RunUntilIdle(); |
- } |
-} |
- |
TEST_F(MojoAsyncResourceHandlerTest, BeginWriteFailsOnWillRead) { |
handler_->set_begin_write_expectation(MOJO_RESULT_UNKNOWN); |
ASSERT_TRUE(CallOnWillStartAndOnResponseStarted()); |
@@ -793,8 +766,6 @@ TEST_F(MojoAsyncResourceHandlerTest, |
MojoAsyncResourceHandler::SetAllocationSizeForTesting(8); |
ASSERT_TRUE(CallOnWillStartAndOnResponseStarted()); |
ASSERT_EQ(MockResourceLoader::Status::IDLE, mock_loader_->OnWillRead(-1)); |
- url_loader_client_.RunUntilResponseBodyArrived(); |
- ASSERT_TRUE(url_loader_client_.response_body().is_valid()); |
while (true) { |
MockResourceLoader::Status result = mock_loader_->OnReadCompleted( |
@@ -806,6 +777,9 @@ TEST_F(MojoAsyncResourceHandlerTest, |
ASSERT_EQ(MockResourceLoader::Status::IDLE, mock_loader_->OnWillRead(-1)); |
} |
+ url_loader_client_.RunUntilResponseBodyArrived(); |
+ ASSERT_TRUE(url_loader_client_.response_body().is_valid()); |
+ |
while (true) { |
char buf[16]; |
uint32_t read_size = sizeof(buf); |
@@ -834,9 +808,6 @@ TEST_P(MojoAsyncResourceHandlerWithAllocationSizeTest, |
ASSERT_EQ(MockResourceLoader::Status::IDLE, mock_loader_->OnReadCompleted(0)); |
- url_loader_client_.RunUntilResponseBodyArrived(); |
- ASSERT_TRUE(url_loader_client_.response_body().is_valid()); |
- |
size_t written = 0; |
std::string actual; |
while (actual.size() < expected.size()) { |
@@ -854,6 +825,10 @@ TEST_P(MojoAsyncResourceHandlerWithAllocationSizeTest, |
written += to_be_written; |
} |
+ if (!url_loader_client_.response_body().is_valid()) { |
+ url_loader_client_.RunUntilResponseBodyArrived(); |
+ ASSERT_TRUE(url_loader_client_.response_body().is_valid()); |
+ } |
char buf[16]; |
uint32_t read_size = sizeof(buf); |
@@ -899,8 +874,6 @@ TEST_P(MojoAsyncResourceHandlerWithAllocationSizeTest, |
ASSERT_TRUE(CallOnWillStartAndOnResponseStarted()); |
ASSERT_EQ(MockResourceLoader::Status::IDLE, mock_loader_->OnWillRead(-1)); |
ASSERT_EQ(MockResourceLoader::Status::IDLE, mock_loader_->OnReadCompleted(0)); |
- url_loader_client_.RunUntilResponseBodyArrived(); |
- ASSERT_TRUE(url_loader_client_.response_body().is_valid()); |
while (true) { |
ASSERT_EQ(MockResourceLoader::Status::IDLE, mock_loader_->OnWillRead(-1)); |
@@ -910,6 +883,9 @@ TEST_P(MojoAsyncResourceHandlerWithAllocationSizeTest, |
break; |
ASSERT_EQ(MockResourceLoader::Status::IDLE, result); |
} |
+ url_loader_client_.RunUntilResponseBodyArrived(); |
+ ASSERT_TRUE(url_loader_client_.response_body().is_valid()); |
+ |
handler_->set_begin_write_expectation(MOJO_RESULT_UNKNOWN); |
while (mock_loader_->status() != MockResourceLoader::Status::CANCELED) { |
@@ -1056,11 +1032,12 @@ TEST_P( |
ASSERT_EQ(MockResourceLoader::Status::IDLE, mock_loader_->OnWillRead(-1)); |
ASSERT_FALSE(url_loader_client_.response_body().is_valid()); |
- url_loader_client_.RunUntilResponseBodyArrived(); |
- ASSERT_TRUE(url_loader_client_.response_body().is_valid()); |
ASSERT_EQ(MockResourceLoader::Status::IDLE, |
mock_loader_->OnReadCompleted("A")); |
+ url_loader_client_.RunUntilResponseBodyArrived(); |
+ ASSERT_TRUE(url_loader_client_.response_body().is_valid()); |
+ |
net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, net::OK); |
ASSERT_EQ(MockResourceLoader::Status::IDLE, |
mock_loader_->OnResponseCompleted(status)); |
@@ -1099,10 +1076,6 @@ TEST_P( |
ASSERT_EQ(MockResourceLoader::Status::IDLE, mock_loader_->OnWillRead(-1)); |
- ASSERT_FALSE(url_loader_client_.response_body().is_valid()); |
- url_loader_client_.RunUntilResponseBodyArrived(); |
- ASSERT_TRUE(url_loader_client_.response_body().is_valid()); |
- |
ASSERT_EQ(MockResourceLoader::Status::IDLE, |
mock_loader_->OnResponseStarted( |
make_scoped_refptr(new ResourceResponse()))); |
@@ -1112,6 +1085,11 @@ TEST_P( |
ASSERT_EQ(MockResourceLoader::Status::IDLE, |
mock_loader_->OnReadCompleted("B")); |
+ |
+ ASSERT_FALSE(url_loader_client_.response_body().is_valid()); |
+ url_loader_client_.RunUntilResponseBodyArrived(); |
+ ASSERT_TRUE(url_loader_client_.response_body().is_valid()); |
+ |
net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, net::OK); |
ASSERT_EQ(MockResourceLoader::Status::IDLE, |
mock_loader_->OnResponseCompleted(status)); |