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..3212e928fa9b8e5a36bff614d2f5ed705478880a 100644 |
--- a/blimp/net/stream_packet_writer_unittest.cc |
+++ b/blimp/net/stream_packet_writer_unittest.cc |
@@ -35,15 +35,13 @@ class StreamPacketWriterTest : public testing::Test { |
test_data_str_.size())), |
message_writer_(&socket_) {} |
- ~StreamPacketWriterTest() override {} |
- |
protected: |
const std::string test_data_str_ = "U WOT M8"; |
scoped_refptr<net::DrainableIOBuffer> test_data_; |
+ base::MessageLoop message_loop_; |
MockStreamSocket socket_; |
StreamPacketWriter message_writer_; |
- base::MessageLoop message_loop_; |
testing::InSequence mock_sequence_; |
private: |
@@ -56,20 +54,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 +92,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 +118,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 +128,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,21 +158,8 @@ 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()); |
-} |
- |
-// 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())); |
- |
- EXPECT_FALSE(writer_cb.have_result()); |
+ message_writer_.WritePacket(test_data_, writer_cb.callback()); |
+ EXPECT_EQ(net::OK, writer_cb.WaitForResult()); |
} |
// Sync socket error while writing header data. |
@@ -192,9 +170,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 +188,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 +204,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 +227,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); |