Chromium Code Reviews| Index: blimp/net/stream_packet_writer_unittest.cc |
| diff --git a/blimp/net/stream_packet_writer_unittest.cc b/blimp/net/stream_packet_writer_unittest.cc |
| index c8014f9481f8bcc3ddc3c3ec7220e5f89a7bb04d..302647ef47facf036513f0ad49c29888c66abe7a 100644 |
| --- a/blimp/net/stream_packet_writer_unittest.cc |
| +++ b/blimp/net/stream_packet_writer_unittest.cc |
| @@ -41,9 +41,9 @@ class StreamPacketWriterTest : public testing::Test { |
| const std::string test_data_str_ = "U WOT M8"; |
|
Wez
2015/11/24 23:43:18
Is it actually permitted to inline-initialize a no
Kevin M
2015/11/25 01:18:37
There aren't any prohibitions against non-POD type
|
| scoped_refptr<net::DrainableIOBuffer> test_data_; |
| + base::MessageLoop message_loop_; |
|
Wez
2015/11/24 23:43:18
Where is this being used?
Kevin M
2015/11/25 01:18:37
Ditto for reader - it's used as the threadlocal Me
|
| MockStreamSocket socket_; |
| StreamPacketWriter message_writer_; |
| - base::MessageLoop message_loop_; |
| testing::InSequence mock_sequence_; |
| private: |
| @@ -56,20 +56,14 @@ TEST_F(StreamPacketWriterTest, TestWriteAsync) { |
| net::CompletionCallback header_cb; |
| net::CompletionCallback payload_cb; |
| - // Write header. |
| EXPECT_CALL(socket_, Write(BufferEquals(EncodeHeader(test_data_str_.size())), |
| kPacketHeaderSizeBytes, _)) |
| .WillOnce(DoAll(SaveArg<2>(&header_cb), Return(net::ERR_IO_PENDING))); |
| - EXPECT_EQ(net::ERR_IO_PENDING, |
| - message_writer_.WritePacket(test_data_, writer_cb.callback())); |
| - Mock::VerifyAndClearExpectations(&socket_); |
| - |
| - // Write payload. |
| + message_writer_.WritePacket(test_data_, writer_cb.callback()); |
| EXPECT_CALL(socket_, |
| Write(BufferEquals(test_data_str_), test_data_str_.size(), _)) |
| .WillOnce(DoAll(SaveArg<2>(&payload_cb), Return(net::ERR_IO_PENDING))); |
| header_cb.Run(kPacketHeaderSizeBytes); |
| - Mock::VerifyAndClearExpectations(&socket_); |
| payload_cb.Run(test_data_str_.size()); |
| EXPECT_EQ(net::OK, writer_cb.WaitForResult()); |
| @@ -100,8 +94,7 @@ TEST_F(StreamPacketWriterTest, TestPartialWriteAsync) { |
| .WillOnce(DoAll(SaveArg<2>(&payload_cb), Return(net::ERR_IO_PENDING))) |
| .RetiresOnSaturation(); |
| - EXPECT_EQ(net::ERR_IO_PENDING, |
| - message_writer_.WritePacket(test_data_, writer_cb.callback())); |
| + message_writer_.WritePacket(test_data_, writer_cb.callback()); |
| // Header is written - first one byte, then the remainder. |
| header_cb.Run(1); |
| @@ -127,8 +120,7 @@ TEST_F(StreamPacketWriterTest, TestWriteErrorAsync) { |
| Write(BufferEquals(test_data_str_), test_data_str_.size(), _)) |
| .WillOnce(DoAll(SaveArg<2>(&payload_cb), Return(net::ERR_IO_PENDING))); |
| - EXPECT_EQ(net::ERR_IO_PENDING, |
| - message_writer_.WritePacket(test_data_, writer_cb.callback())); |
| + message_writer_.WritePacket(test_data_, writer_cb.callback()); |
| header_cb.Run(kPacketHeaderSizeBytes); |
| payload_cb.Run(net::ERR_CONNECTION_RESET); |
| @@ -138,15 +130,16 @@ TEST_F(StreamPacketWriterTest, TestWriteErrorAsync) { |
| // Successful write with 1 sync header write and 1 sync payload write. |
| TEST_F(StreamPacketWriterTest, TestWriteSync) { |
| net::TestCompletionCallback writer_cb; |
| + |
| EXPECT_CALL(socket_, Write(BufferEquals(EncodeHeader(test_data_str_.size())), |
| kPacketHeaderSizeBytes, _)) |
| .WillOnce(Return(kPacketHeaderSizeBytes)); |
| EXPECT_CALL(socket_, |
| Write(BufferEquals(test_data_str_), test_data_str_.size(), _)) |
| .WillOnce(Return(test_data_str_.size())); |
| - EXPECT_EQ(net::OK, |
| - message_writer_.WritePacket(test_data_, writer_cb.callback())); |
| - EXPECT_FALSE(writer_cb.have_result()); |
| + |
| + message_writer_.WritePacket(test_data_, writer_cb.callback()); |
| + EXPECT_EQ(net::OK, writer_cb.WaitForResult()); |
| } |
| // Successful write with 2 sync header writes and 2 sync payload writes. |
| @@ -167,20 +160,19 @@ TEST_F(StreamPacketWriterTest, TestPartialWriteSync) { |
| payload.size() - 1, _)) |
| .WillOnce(Return(payload.size() - 1)); |
| - EXPECT_EQ(net::OK, |
| - message_writer_.WritePacket(test_data_, writer_cb.callback())); |
| - EXPECT_FALSE(writer_cb.have_result()); |
| + message_writer_.WritePacket(test_data_, writer_cb.callback()); |
| + EXPECT_EQ(net::OK, writer_cb.WaitForResult()); |
| } |
| // Verify that zero-length packets are rejected. |
| TEST_F(StreamPacketWriterTest, TestZeroLengthPacketsRejected) { |
| net::TestCompletionCallback writer_cb; |
| - EXPECT_EQ(net::ERR_INVALID_ARGUMENT, |
| - message_writer_.WritePacket( |
| - new net::DrainableIOBuffer(new net::IOBuffer(0), 0), |
| - writer_cb.callback())); |
| + message_writer_.WritePacket( |
| + new net::DrainableIOBuffer(new net::IOBuffer(0), 0), |
| + writer_cb.callback()); |
| + EXPECT_EQ(net::ERR_INVALID_ARGUMENT, writer_cb.WaitForResult()); |
| EXPECT_FALSE(writer_cb.have_result()); |
| } |
| @@ -192,9 +184,8 @@ TEST_F(StreamPacketWriterTest, TestWriteHeaderErrorSync) { |
| kPacketHeaderSizeBytes, _)) |
| .WillOnce(Return(net::ERR_FAILED)); |
| - EXPECT_EQ(net::ERR_FAILED, |
| - message_writer_.WritePacket(test_data_, writer_cb.callback())); |
| - |
| + message_writer_.WritePacket(test_data_, writer_cb.callback()); |
| + EXPECT_EQ(net::ERR_FAILED, writer_cb.WaitForResult()); |
| EXPECT_EQ(net::ERR_EMPTY_RESPONSE, |
| writer_cb.GetResult(net::ERR_EMPTY_RESPONSE)); |
| EXPECT_FALSE(writer_cb.have_result()); |
| @@ -211,9 +202,8 @@ TEST_F(StreamPacketWriterTest, TestWritePayloadErrorSync) { |
| Write(BufferEquals(test_data_str_), test_data_str_.size(), _)) |
| .WillOnce(Return(net::ERR_FAILED)); |
| - EXPECT_EQ(net::ERR_FAILED, |
| - message_writer_.WritePacket(test_data_, writer_cb.callback())); |
| - EXPECT_FALSE(writer_cb.have_result()); |
| + message_writer_.WritePacket(test_data_, writer_cb.callback()); |
| + EXPECT_EQ(net::ERR_FAILED, writer_cb.WaitForResult()); |
| } |
| // Verify that asynchronous header write completions don't cause a |
| @@ -228,8 +218,7 @@ TEST_F(StreamPacketWriterTest, DeletedDuringHeaderWrite) { |
| EXPECT_CALL(socket_, Write(BufferEquals(EncodeHeader(test_data_str_.size())), |
| kPacketHeaderSizeBytes, _)) |
| .WillOnce(DoAll(SaveArg<2>(&header_cb), Return(net::ERR_IO_PENDING))); |
| - EXPECT_EQ(net::ERR_IO_PENDING, |
| - writer->WritePacket(test_data_, writer_cb.callback())); |
| + writer->WritePacket(test_data_, writer_cb.callback()); |
| Mock::VerifyAndClearExpectations(&socket_); |
| // Header write completion callback is invoked after the writer died. |
| @@ -252,8 +241,7 @@ TEST_F(StreamPacketWriterTest, DeletedDuringPayloadWrite) { |
| Write(BufferEquals(test_data_str_), test_data_str_.size(), _)) |
| .WillOnce(DoAll(SaveArg<2>(&payload_cb), Return(net::ERR_IO_PENDING))); |
| - EXPECT_EQ(net::ERR_IO_PENDING, |
| - writer->WritePacket(test_data_, writer_cb.callback())); |
| + writer->WritePacket(test_data_, writer_cb.callback()); |
| // Header write completes successfully. |
| header_cb.Run(kPacketHeaderSizeBytes); |