Index: net/http/http_stream_parser_unittest.cc |
diff --git a/net/http/http_stream_parser_unittest.cc b/net/http/http_stream_parser_unittest.cc |
index 911f846c5779c870601a1bbd652abd0757cd732b..f72cd5f7d5e1fffa05fae5947660cb431adad9b6 100644 |
--- a/net/http/http_stream_parser_unittest.cc |
+++ b/net/http/http_stream_parser_unittest.cc |
@@ -1127,36 +1127,21 @@ class SimpleGetRunner { |
int sequence_number_; |
}; |
-// Test that HTTP/0.9 response correctly results in an error. |
+// Test that HTTP/0.9 response size is correctly calculated. |
TEST(HttpStreamParser, ReceivedBytesNoHeaders) { |
- MockWrite writes[] = { |
- MockWrite(SYNCHRONOUS, 0, "GET / HTTP/1.1\r\n\r\n"), |
- }; |
- |
- MockRead reads[] = { |
- MockRead(SYNCHRONOUS, 1, "hello\r\nworld\r\n"), |
- MockRead(SYNCHRONOUS, OK, 2), |
- }; |
- |
- SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); |
- std::unique_ptr<ClientSocketHandle> socket_handle = |
- CreateConnectedSocketHandle(&data); |
- |
- HttpRequestInfo request; |
- request.method = "GET"; |
- request.url = GURL("http://localhost"); |
- |
- HttpStreamParser parser(socket_handle.get(), &request, new GrowableIOBuffer(), |
- BoundNetLog()); |
+ std::string response = "hello\r\nworld\r\n"; |
- HttpRequestHeaders headers; |
- HttpResponseInfo response; |
- TestCompletionCallback callback; |
- int result = parser.SendRequest("GET / HTTP/1.1\r\n", headers, &response, |
- callback.callback()); |
- EXPECT_THAT(callback.GetResult(result), IsOk()); |
- result = parser.ReadResponseHeaders(callback.callback()); |
- EXPECT_THAT(callback.GetResult(result), IsError(ERR_INVALID_HTTP_RESPONSE)); |
+ SimpleGetRunner get_runner; |
+ get_runner.AddRead(response); |
+ get_runner.SetupParserAndSendRequest(); |
+ get_runner.ReadHeaders(); |
+ EXPECT_EQ(0, get_runner.parser()->received_bytes()); |
+ int response_size = response.size(); |
+ int read_lengths[] = {response_size, 0}; |
+ get_runner.ReadBody(response_size, read_lengths); |
+ EXPECT_EQ(response_size, get_runner.parser()->received_bytes()); |
+ EXPECT_EQ(HttpResponseInfo::CONNECTION_INFO_HTTP0_9, |
+ get_runner.response_info()->connection_info); |
} |
// Test basic case where there is no keep-alive or extra data from the socket, |