Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(452)

Unified Diff: components/cronet/ios/test/cronet_bidirectional_stream_test.mm

Issue 2177653002: [Cronet] Add test to verify that PUT and empty buffer for last write work. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address Helen's comments. Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/cronet/ios/test/cronet_bidirectional_stream_test.mm
diff --git a/components/cronet/ios/test/cronet_bidirectional_stream_test.mm b/components/cronet/ios/test/cronet_bidirectional_stream_test.mm
index 473103bae3dacaf6f93c2043e47dbb90d8069176..8348fe72aac61068088031f967b17809d5e1cca9 100644
--- a/components/cronet/ios/test/cronet_bidirectional_stream_test.mm
+++ b/components/cronet/ios/test/cronet_bidirectional_stream_test.mm
@@ -306,6 +306,7 @@ TEST_P(CronetBidirectionalStreamTest, StartExampleBidiStream) {
TestBidirectionalStreamCallback test;
test.AddWriteData("Hello, ");
test.AddWriteData("world!");
+ // Use small read buffer size to test that response is split properly.
test.read_buffer_size = 2;
test.stream =
cronet_bidirectional_stream_create(engine(), &test, test.callback());
@@ -320,12 +321,37 @@ TEST_P(CronetBidirectionalStreamTest, StartExampleBidiStream) {
test.response_headers[kHelloHeaderName]);
ASSERT_EQ(TestBidirectionalStreamCallback::ON_SUCCEEDED, test.response_step);
ASSERT_EQ(std::string(kHelloBodyValue, 2), test.read_data.front());
+ // Verify that individual read data joined using empty separator match
+ // expected body.
ASSERT_EQ(std::string(kHelloBodyValue), base::JoinString(test.read_data, ""));
ASSERT_EQ(std::string(kHelloTrailerValue),
test.response_trailers[kHelloTrailerName]);
cronet_bidirectional_stream_destroy(test.stream);
}
+TEST_P(CronetBidirectionalStreamTest, SimplePutWithEmptyWriteDataAtTheEnd) {
+ TestBidirectionalStreamCallback test;
+ test.AddWriteData("Hello, ");
+ test.AddWriteData("world!");
+ test.AddWriteData("");
+ test.stream =
+ cronet_bidirectional_stream_create(engine(), &test, test.callback());
+ DCHECK(test.stream);
+ cronet_bidirectional_stream_delay_request_headers_until_flush(test.stream,
+ GetParam());
+ cronet_bidirectional_stream_start(test.stream, kTestServerUrl, 0, "PUT",
+ &kTestHeadersArray, false);
+ test.BlockForDone();
+ ASSERT_EQ(std::string(kHelloStatus), test.response_headers[kStatusHeader]);
+ ASSERT_EQ(std::string(kHelloHeaderValue),
+ test.response_headers[kHelloHeaderName]);
+ ASSERT_EQ(TestBidirectionalStreamCallback::ON_SUCCEEDED, test.response_step);
+ ASSERT_EQ(std::string(kHelloBodyValue), test.read_data.front());
+ ASSERT_EQ(std::string(kHelloTrailerValue),
+ test.response_trailers[kHelloTrailerName]);
+ cronet_bidirectional_stream_destroy(test.stream);
+}
+
TEST_P(CronetBidirectionalStreamTest, SimpleGetWithFlush) {
TestBidirectionalStreamCallback test;
test.stream =
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698