Index: util/net/http_transport_test.cc |
diff --git a/util/net/http_transport_test.cc b/util/net/http_transport_test.cc |
index dc3775b11fd66812343205fd9ec803579fd7d5ae..98c51e315eca4ef3b54d56affac0befde2141ede 100644 |
--- a/util/net/http_transport_test.cc |
+++ b/util/net/http_transport_test.cc |
@@ -278,6 +278,26 @@ TEST(HTTPTransport, UnchunkedPlainText) { |
test.Run(); |
} |
+TEST(HTTPTransport, Upload33k) { |
+ // NSMutableURLRequest winds up calling into a CFReadStream’s Read() callback |
+ // with a 32kB buffer. Make sure that it’s able to get everything when enough |
+ // is available to fill this buffer, requiring more than one Read(). |
+ |
+ std::string request_string(33 * 1024, 'a'); |
+ scoped_ptr<HTTPBodyStream> body_stream( |
+ new StringHTTPBodyStream(request_string)); |
+ |
+ HTTPHeaders headers; |
+ headers[kContentType] = "application/octet-stream"; |
+ headers[kContentLength] = base::StringPrintf("%zu", request_string.size()); |
Robert Sesek
2015/08/18 19:35:07
PRIuS instead of %zu.
|
+ HTTPTransportTestFixture test(headers, body_stream.Pass(), 200, |
+ [](HTTPTransportTestFixture* fixture, const std::string& request) { |
+ size_t body_start = request.rfind("\r\n"); |
+ EXPECT_EQ(33 * 1024u + 2, request.size() - body_start); |
+ }); |
+ test.Run(); |
+} |
+ |
} // namespace |
} // namespace test |
} // namespace crashpad |