OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/quic/chromium/bidirectional_stream_quic_impl.h" | 5 #include "net/quic/chromium/bidirectional_stream_quic_impl.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/callback_helpers.h" | 9 #include "base/callback_helpers.h" |
10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
(...skipping 752 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
763 delegate->WaitUntilNextCallback(); // OnTrailersReceived | 763 delegate->WaitUntilNextCallback(); // OnTrailersReceived |
764 EXPECT_THAT(cb2.WaitForResult(), IsOk()); | 764 EXPECT_THAT(cb2.WaitForResult(), IsOk()); |
765 trailers.erase(kFinalOffsetHeaderKey); | 765 trailers.erase(kFinalOffsetHeaderKey); |
766 EXPECT_EQ(trailers, delegate->trailers()); | 766 EXPECT_EQ(trailers, delegate->trailers()); |
767 | 767 |
768 EXPECT_THAT(delegate->ReadData(cb2.callback()), IsOk()); | 768 EXPECT_THAT(delegate->ReadData(cb2.callback()), IsOk()); |
769 base::RunLoop().RunUntilIdle(); | 769 base::RunLoop().RunUntilIdle(); |
770 | 770 |
771 EXPECT_EQ(2, delegate->on_data_read_count()); | 771 EXPECT_EQ(2, delegate->on_data_read_count()); |
772 EXPECT_EQ(0, delegate->on_data_sent_count()); | 772 EXPECT_EQ(0, delegate->on_data_sent_count()); |
773 EXPECT_EQ(kProtoQUIC1SPDY3, delegate->GetProtocol()); | 773 EXPECT_EQ(kProtoQUIC, delegate->GetProtocol()); |
774 EXPECT_EQ(static_cast<int64_t>(spdy_request_headers_frame_length), | 774 EXPECT_EQ(static_cast<int64_t>(spdy_request_headers_frame_length), |
775 delegate->GetTotalSentBytes()); | 775 delegate->GetTotalSentBytes()); |
776 EXPECT_EQ( | 776 EXPECT_EQ( |
777 static_cast<int64_t>(spdy_response_headers_frame_length + | 777 static_cast<int64_t>(spdy_response_headers_frame_length + |
778 strlen(kResponseBody) + spdy_trailers_frame_length), | 778 strlen(kResponseBody) + spdy_trailers_frame_length), |
779 delegate->GetTotalReceivedBytes()); | 779 delegate->GetTotalReceivedBytes()); |
780 // Check that NetLog was filled as expected. | 780 // Check that NetLog was filled as expected. |
781 TestNetLogEntry::List entries; | 781 TestNetLogEntry::List entries; |
782 net_log().GetEntries(&entries); | 782 net_log().GetEntries(&entries); |
783 size_t pos = ExpectLogContainsSomewhere( | 783 size_t pos = ExpectLogContainsSomewhere( |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
948 ProcessPacket(ConstructResponseTrailersPacket( | 948 ProcessPacket(ConstructResponseTrailersPacket( |
949 4, kFin, trailers.Clone(), &spdy_trailers_frame_length, &offset)); | 949 4, kFin, trailers.Clone(), &spdy_trailers_frame_length, &offset)); |
950 | 950 |
951 delegate->WaitUntilNextCallback(); // OnTrailersReceived | 951 delegate->WaitUntilNextCallback(); // OnTrailersReceived |
952 trailers.erase(kFinalOffsetHeaderKey); | 952 trailers.erase(kFinalOffsetHeaderKey); |
953 EXPECT_EQ(trailers, delegate->trailers()); | 953 EXPECT_EQ(trailers, delegate->trailers()); |
954 EXPECT_THAT(delegate->ReadData(cb.callback()), IsOk()); | 954 EXPECT_THAT(delegate->ReadData(cb.callback()), IsOk()); |
955 | 955 |
956 EXPECT_EQ(1, delegate->on_data_read_count()); | 956 EXPECT_EQ(1, delegate->on_data_read_count()); |
957 EXPECT_EQ(2, delegate->on_data_sent_count()); | 957 EXPECT_EQ(2, delegate->on_data_sent_count()); |
958 EXPECT_EQ(kProtoQUIC1SPDY3, delegate->GetProtocol()); | 958 EXPECT_EQ(kProtoQUIC, delegate->GetProtocol()); |
959 EXPECT_EQ( | 959 EXPECT_EQ( |
960 static_cast<int64_t>(spdy_request_headers_frame_length + strlen(kBody1) + | 960 static_cast<int64_t>(spdy_request_headers_frame_length + strlen(kBody1) + |
961 strlen(kBody2) + strlen(kBody3) + strlen(kBody4) + | 961 strlen(kBody2) + strlen(kBody3) + strlen(kBody4) + |
962 strlen(kBody5)), | 962 strlen(kBody5)), |
963 delegate->GetTotalSentBytes()); | 963 delegate->GetTotalSentBytes()); |
964 EXPECT_EQ( | 964 EXPECT_EQ( |
965 static_cast<int64_t>(spdy_response_headers_frame_length + | 965 static_cast<int64_t>(spdy_response_headers_frame_length + |
966 strlen(kResponseBody) + spdy_trailers_frame_length), | 966 strlen(kResponseBody) + spdy_trailers_frame_length), |
967 delegate->GetTotalReceivedBytes()); | 967 delegate->GetTotalReceivedBytes()); |
968 } | 968 } |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1044 ProcessPacket(ConstructResponseTrailersPacket( | 1044 ProcessPacket(ConstructResponseTrailersPacket( |
1045 4, kFin, trailers.Clone(), &spdy_trailers_frame_length, &offset)); | 1045 4, kFin, trailers.Clone(), &spdy_trailers_frame_length, &offset)); |
1046 | 1046 |
1047 delegate->WaitUntilNextCallback(); // OnTrailersReceived | 1047 delegate->WaitUntilNextCallback(); // OnTrailersReceived |
1048 trailers.erase(kFinalOffsetHeaderKey); | 1048 trailers.erase(kFinalOffsetHeaderKey); |
1049 EXPECT_EQ(trailers, delegate->trailers()); | 1049 EXPECT_EQ(trailers, delegate->trailers()); |
1050 EXPECT_THAT(delegate->ReadData(cb.callback()), IsOk()); | 1050 EXPECT_THAT(delegate->ReadData(cb.callback()), IsOk()); |
1051 | 1051 |
1052 EXPECT_EQ(1, delegate->on_data_read_count()); | 1052 EXPECT_EQ(1, delegate->on_data_read_count()); |
1053 EXPECT_EQ(2, delegate->on_data_sent_count()); | 1053 EXPECT_EQ(2, delegate->on_data_sent_count()); |
1054 EXPECT_EQ(kProtoQUIC1SPDY3, delegate->GetProtocol()); | 1054 EXPECT_EQ(kProtoQUIC, delegate->GetProtocol()); |
1055 EXPECT_EQ(static_cast<int64_t>(spdy_request_headers_frame_length + | 1055 EXPECT_EQ(static_cast<int64_t>(spdy_request_headers_frame_length + |
1056 strlen(kBody1) + strlen(kBody2)), | 1056 strlen(kBody1) + strlen(kBody2)), |
1057 delegate->GetTotalSentBytes()); | 1057 delegate->GetTotalSentBytes()); |
1058 EXPECT_EQ( | 1058 EXPECT_EQ( |
1059 static_cast<int64_t>(spdy_response_headers_frame_length + | 1059 static_cast<int64_t>(spdy_response_headers_frame_length + |
1060 strlen(kResponseBody) + spdy_trailers_frame_length), | 1060 strlen(kResponseBody) + spdy_trailers_frame_length), |
1061 delegate->GetTotalReceivedBytes()); | 1061 delegate->GetTotalReceivedBytes()); |
1062 } | 1062 } |
1063 | 1063 |
1064 // Tests that when request headers are delayed, SendvData triggers coalescing of | 1064 // Tests that when request headers are delayed, SendvData triggers coalescing of |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1147 ProcessPacket(ConstructResponseTrailersPacket( | 1147 ProcessPacket(ConstructResponseTrailersPacket( |
1148 4, kFin, trailers.Clone(), &spdy_trailers_frame_length, &offset)); | 1148 4, kFin, trailers.Clone(), &spdy_trailers_frame_length, &offset)); |
1149 | 1149 |
1150 delegate->WaitUntilNextCallback(); // OnTrailersReceived | 1150 delegate->WaitUntilNextCallback(); // OnTrailersReceived |
1151 trailers.erase(kFinalOffsetHeaderKey); | 1151 trailers.erase(kFinalOffsetHeaderKey); |
1152 EXPECT_EQ(trailers, delegate->trailers()); | 1152 EXPECT_EQ(trailers, delegate->trailers()); |
1153 EXPECT_THAT(delegate->ReadData(cb.callback()), IsOk()); | 1153 EXPECT_THAT(delegate->ReadData(cb.callback()), IsOk()); |
1154 | 1154 |
1155 EXPECT_EQ(1, delegate->on_data_read_count()); | 1155 EXPECT_EQ(1, delegate->on_data_read_count()); |
1156 EXPECT_EQ(2, delegate->on_data_sent_count()); | 1156 EXPECT_EQ(2, delegate->on_data_sent_count()); |
1157 EXPECT_EQ(kProtoQUIC1SPDY3, delegate->GetProtocol()); | 1157 EXPECT_EQ(kProtoQUIC, delegate->GetProtocol()); |
1158 EXPECT_EQ( | 1158 EXPECT_EQ( |
1159 static_cast<int64_t>(spdy_request_headers_frame_length + strlen(kBody1) + | 1159 static_cast<int64_t>(spdy_request_headers_frame_length + strlen(kBody1) + |
1160 strlen(kBody2) + strlen(kBody3) + strlen(kBody4) + | 1160 strlen(kBody2) + strlen(kBody3) + strlen(kBody4) + |
1161 strlen(kBody5)), | 1161 strlen(kBody5)), |
1162 delegate->GetTotalSentBytes()); | 1162 delegate->GetTotalSentBytes()); |
1163 EXPECT_EQ( | 1163 EXPECT_EQ( |
1164 static_cast<int64_t>(spdy_response_headers_frame_length + | 1164 static_cast<int64_t>(spdy_response_headers_frame_length + |
1165 strlen(kResponseBody) + spdy_trailers_frame_length), | 1165 strlen(kResponseBody) + spdy_trailers_frame_length), |
1166 delegate->GetTotalReceivedBytes()); | 1166 delegate->GetTotalReceivedBytes()); |
1167 } | 1167 } |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1227 ProcessPacket(ConstructResponseTrailersPacket( | 1227 ProcessPacket(ConstructResponseTrailersPacket( |
1228 4, kFin, trailers.Clone(), &spdy_trailers_frame_length, &offset)); | 1228 4, kFin, trailers.Clone(), &spdy_trailers_frame_length, &offset)); |
1229 | 1229 |
1230 delegate->WaitUntilNextCallback(); // OnTrailersReceived | 1230 delegate->WaitUntilNextCallback(); // OnTrailersReceived |
1231 trailers.erase(kFinalOffsetHeaderKey); | 1231 trailers.erase(kFinalOffsetHeaderKey); |
1232 EXPECT_EQ(trailers, delegate->trailers()); | 1232 EXPECT_EQ(trailers, delegate->trailers()); |
1233 EXPECT_THAT(delegate->ReadData(cb.callback()), IsOk()); | 1233 EXPECT_THAT(delegate->ReadData(cb.callback()), IsOk()); |
1234 | 1234 |
1235 EXPECT_EQ(1, delegate->on_data_read_count()); | 1235 EXPECT_EQ(1, delegate->on_data_read_count()); |
1236 EXPECT_EQ(1, delegate->on_data_sent_count()); | 1236 EXPECT_EQ(1, delegate->on_data_sent_count()); |
1237 EXPECT_EQ(kProtoQUIC1SPDY3, delegate->GetProtocol()); | 1237 EXPECT_EQ(kProtoQUIC, delegate->GetProtocol()); |
1238 EXPECT_EQ(static_cast<int64_t>(spdy_request_headers_frame_length + | 1238 EXPECT_EQ(static_cast<int64_t>(spdy_request_headers_frame_length + |
1239 strlen(kUploadData)), | 1239 strlen(kUploadData)), |
1240 delegate->GetTotalSentBytes()); | 1240 delegate->GetTotalSentBytes()); |
1241 EXPECT_EQ( | 1241 EXPECT_EQ( |
1242 static_cast<int64_t>(spdy_response_headers_frame_length + | 1242 static_cast<int64_t>(spdy_response_headers_frame_length + |
1243 strlen(kResponseBody) + spdy_trailers_frame_length), | 1243 strlen(kResponseBody) + spdy_trailers_frame_length), |
1244 delegate->GetTotalReceivedBytes()); | 1244 delegate->GetTotalReceivedBytes()); |
1245 } | 1245 } |
1246 | 1246 |
1247 TEST_P(BidirectionalStreamQuicImplTest, PutRequest) { | 1247 TEST_P(BidirectionalStreamQuicImplTest, PutRequest) { |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1304 ProcessPacket(ConstructResponseTrailersPacket( | 1304 ProcessPacket(ConstructResponseTrailersPacket( |
1305 4, kFin, trailers.Clone(), &spdy_trailers_frame_length, &offset)); | 1305 4, kFin, trailers.Clone(), &spdy_trailers_frame_length, &offset)); |
1306 | 1306 |
1307 delegate->WaitUntilNextCallback(); // OnTrailersReceived | 1307 delegate->WaitUntilNextCallback(); // OnTrailersReceived |
1308 trailers.erase(kFinalOffsetHeaderKey); | 1308 trailers.erase(kFinalOffsetHeaderKey); |
1309 EXPECT_EQ(trailers, delegate->trailers()); | 1309 EXPECT_EQ(trailers, delegate->trailers()); |
1310 EXPECT_THAT(delegate->ReadData(cb.callback()), IsOk()); | 1310 EXPECT_THAT(delegate->ReadData(cb.callback()), IsOk()); |
1311 | 1311 |
1312 EXPECT_EQ(1, delegate->on_data_read_count()); | 1312 EXPECT_EQ(1, delegate->on_data_read_count()); |
1313 EXPECT_EQ(1, delegate->on_data_sent_count()); | 1313 EXPECT_EQ(1, delegate->on_data_sent_count()); |
1314 EXPECT_EQ(kProtoQUIC1SPDY3, delegate->GetProtocol()); | 1314 EXPECT_EQ(kProtoQUIC, delegate->GetProtocol()); |
1315 EXPECT_EQ(static_cast<int64_t>(spdy_request_headers_frame_length + | 1315 EXPECT_EQ(static_cast<int64_t>(spdy_request_headers_frame_length + |
1316 strlen(kUploadData)), | 1316 strlen(kUploadData)), |
1317 delegate->GetTotalSentBytes()); | 1317 delegate->GetTotalSentBytes()); |
1318 EXPECT_EQ( | 1318 EXPECT_EQ( |
1319 static_cast<int64_t>(spdy_response_headers_frame_length + | 1319 static_cast<int64_t>(spdy_response_headers_frame_length + |
1320 strlen(kResponseBody) + spdy_trailers_frame_length), | 1320 strlen(kResponseBody) + spdy_trailers_frame_length), |
1321 delegate->GetTotalReceivedBytes()); | 1321 delegate->GetTotalReceivedBytes()); |
1322 } | 1322 } |
1323 | 1323 |
1324 TEST_P(BidirectionalStreamQuicImplTest, InterleaveReadDataAndSendData) { | 1324 TEST_P(BidirectionalStreamQuicImplTest, InterleaveReadDataAndSendData) { |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1390 | 1390 |
1391 EXPECT_EQ(static_cast<int64_t>(strlen(kResponseBody)), cb2.WaitForResult()); | 1391 EXPECT_EQ(static_cast<int64_t>(strlen(kResponseBody)), cb2.WaitForResult()); |
1392 | 1392 |
1393 std::string expected_body(kResponseBody); | 1393 std::string expected_body(kResponseBody); |
1394 expected_body.append(kResponseBody); | 1394 expected_body.append(kResponseBody); |
1395 EXPECT_EQ(expected_body, delegate->data_received()); | 1395 EXPECT_EQ(expected_body, delegate->data_received()); |
1396 | 1396 |
1397 EXPECT_THAT(delegate->ReadData(cb.callback()), IsOk()); | 1397 EXPECT_THAT(delegate->ReadData(cb.callback()), IsOk()); |
1398 EXPECT_EQ(2, delegate->on_data_read_count()); | 1398 EXPECT_EQ(2, delegate->on_data_read_count()); |
1399 EXPECT_EQ(2, delegate->on_data_sent_count()); | 1399 EXPECT_EQ(2, delegate->on_data_sent_count()); |
1400 EXPECT_EQ(kProtoQUIC1SPDY3, delegate->GetProtocol()); | 1400 EXPECT_EQ(kProtoQUIC, delegate->GetProtocol()); |
1401 EXPECT_EQ(static_cast<int64_t>(spdy_request_headers_frame_length + | 1401 EXPECT_EQ(static_cast<int64_t>(spdy_request_headers_frame_length + |
1402 2 * strlen(kUploadData)), | 1402 2 * strlen(kUploadData)), |
1403 delegate->GetTotalSentBytes()); | 1403 delegate->GetTotalSentBytes()); |
1404 EXPECT_EQ(static_cast<int64_t>(spdy_response_headers_frame_length + | 1404 EXPECT_EQ(static_cast<int64_t>(spdy_response_headers_frame_length + |
1405 2 * strlen(kResponseBody)), | 1405 2 * strlen(kResponseBody)), |
1406 delegate->GetTotalReceivedBytes()); | 1406 delegate->GetTotalReceivedBytes()); |
1407 } | 1407 } |
1408 | 1408 |
1409 TEST_P(BidirectionalStreamQuicImplTest, ServerSendsRstAfterHeaders) { | 1409 TEST_P(BidirectionalStreamQuicImplTest, ServerSendsRstAfterHeaders) { |
1410 SetRequest("GET", "/", DEFAULT_PRIORITY); | 1410 SetRequest("GET", "/", DEFAULT_PRIORITY); |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1545 | 1545 |
1546 // Try to send data after OnFailed(), should not get called back. | 1546 // Try to send data after OnFailed(), should not get called back. |
1547 scoped_refptr<StringIOBuffer> buf(new StringIOBuffer(kUploadData)); | 1547 scoped_refptr<StringIOBuffer> buf(new StringIOBuffer(kUploadData)); |
1548 delegate->SendData(buf, buf->size(), false); | 1548 delegate->SendData(buf, buf->size(), false); |
1549 base::RunLoop().RunUntilIdle(); | 1549 base::RunLoop().RunUntilIdle(); |
1550 | 1550 |
1551 EXPECT_THAT(delegate->ReadData(cb.callback()), IsError(ERR_UNEXPECTED)); | 1551 EXPECT_THAT(delegate->ReadData(cb.callback()), IsError(ERR_UNEXPECTED)); |
1552 EXPECT_THAT(delegate->error(), IsError(ERR_UNEXPECTED)); | 1552 EXPECT_THAT(delegate->error(), IsError(ERR_UNEXPECTED)); |
1553 EXPECT_EQ(0, delegate->on_data_read_count()); | 1553 EXPECT_EQ(0, delegate->on_data_read_count()); |
1554 EXPECT_EQ(0, delegate->on_data_sent_count()); | 1554 EXPECT_EQ(0, delegate->on_data_sent_count()); |
1555 EXPECT_EQ(kProtoQUIC1SPDY3, delegate->GetProtocol()); | 1555 EXPECT_EQ(kProtoQUIC, delegate->GetProtocol()); |
1556 EXPECT_EQ(static_cast<int64_t>(spdy_request_headers_frame_length), | 1556 EXPECT_EQ(static_cast<int64_t>(spdy_request_headers_frame_length), |
1557 delegate->GetTotalSentBytes()); | 1557 delegate->GetTotalSentBytes()); |
1558 EXPECT_EQ(static_cast<int64_t>(spdy_response_headers_frame_length), | 1558 EXPECT_EQ(static_cast<int64_t>(spdy_response_headers_frame_length), |
1559 delegate->GetTotalReceivedBytes()); | 1559 delegate->GetTotalReceivedBytes()); |
1560 } | 1560 } |
1561 | 1561 |
1562 TEST_P(BidirectionalStreamQuicImplTest, DeleteStreamAfterReadData) { | 1562 TEST_P(BidirectionalStreamQuicImplTest, DeleteStreamAfterReadData) { |
1563 SetRequest("POST", "/", DEFAULT_PRIORITY); | 1563 SetRequest("POST", "/", DEFAULT_PRIORITY); |
1564 size_t spdy_request_headers_frame_length; | 1564 size_t spdy_request_headers_frame_length; |
1565 AddWrite(ConstructRequestHeadersPacket(1, !kFin, DEFAULT_PRIORITY, | 1565 AddWrite(ConstructRequestHeadersPacket(1, !kFin, DEFAULT_PRIORITY, |
(...skipping 30 matching lines...) Expand all Loading... |
1596 | 1596 |
1597 // Cancel the stream after ReadData returns ERR_IO_PENDING. | 1597 // Cancel the stream after ReadData returns ERR_IO_PENDING. |
1598 TestCompletionCallback cb; | 1598 TestCompletionCallback cb; |
1599 EXPECT_THAT(delegate->ReadData(cb.callback()), IsError(ERR_IO_PENDING)); | 1599 EXPECT_THAT(delegate->ReadData(cb.callback()), IsError(ERR_IO_PENDING)); |
1600 delegate->DeleteStream(); | 1600 delegate->DeleteStream(); |
1601 | 1601 |
1602 base::RunLoop().RunUntilIdle(); | 1602 base::RunLoop().RunUntilIdle(); |
1603 | 1603 |
1604 EXPECT_EQ(0, delegate->on_data_read_count()); | 1604 EXPECT_EQ(0, delegate->on_data_read_count()); |
1605 EXPECT_EQ(0, delegate->on_data_sent_count()); | 1605 EXPECT_EQ(0, delegate->on_data_sent_count()); |
1606 EXPECT_EQ(kProtoQUIC1SPDY3, delegate->GetProtocol()); | 1606 EXPECT_EQ(kProtoQUIC, delegate->GetProtocol()); |
1607 EXPECT_EQ(static_cast<int64_t>(spdy_request_headers_frame_length), | 1607 EXPECT_EQ(static_cast<int64_t>(spdy_request_headers_frame_length), |
1608 delegate->GetTotalSentBytes()); | 1608 delegate->GetTotalSentBytes()); |
1609 EXPECT_EQ(static_cast<int64_t>(spdy_response_headers_frame_length), | 1609 EXPECT_EQ(static_cast<int64_t>(spdy_response_headers_frame_length), |
1610 delegate->GetTotalReceivedBytes()); | 1610 delegate->GetTotalReceivedBytes()); |
1611 } | 1611 } |
1612 | 1612 |
1613 TEST_P(BidirectionalStreamQuicImplTest, DeleteStreamDuringOnHeadersReceived) { | 1613 TEST_P(BidirectionalStreamQuicImplTest, DeleteStreamDuringOnHeadersReceived) { |
1614 SetRequest("POST", "/", DEFAULT_PRIORITY); | 1614 SetRequest("POST", "/", DEFAULT_PRIORITY); |
1615 size_t spdy_request_headers_frame_length; | 1615 size_t spdy_request_headers_frame_length; |
1616 AddWrite(ConstructRequestHeadersPacket(1, !kFin, DEFAULT_PRIORITY, | 1616 AddWrite(ConstructRequestHeadersPacket(1, !kFin, DEFAULT_PRIORITY, |
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1770 | 1770 |
1771 base::RunLoop().RunUntilIdle(); | 1771 base::RunLoop().RunUntilIdle(); |
1772 | 1772 |
1773 EXPECT_EQ(1, delegate->on_data_read_count()); | 1773 EXPECT_EQ(1, delegate->on_data_read_count()); |
1774 EXPECT_EQ(0, delegate->on_data_sent_count()); | 1774 EXPECT_EQ(0, delegate->on_data_sent_count()); |
1775 } | 1775 } |
1776 | 1776 |
1777 } // namespace test | 1777 } // namespace test |
1778 | 1778 |
1779 } // namespace net | 1779 } // namespace net |
OLD | NEW |