Index: remoting/protocol/message_reader_unittest.cc |
diff --git a/remoting/protocol/message_reader_unittest.cc b/remoting/protocol/message_reader_unittest.cc |
index af494488460fc06667c13933956d92f9b5c4780e..2361cb6e6a53966767a694fd0af0db540aecd498 100644 |
--- a/remoting/protocol/message_reader_unittest.cc |
+++ b/remoting/protocol/message_reader_unittest.cc |
@@ -30,41 +30,20 @@ namespace protocol { |
namespace { |
const char kTestMessage1[] = "Message1"; |
const char kTestMessage2[] = "Message2"; |
- |
-ACTION(CallDoneTask) { |
- arg0.Run(); |
-} |
} // namespace |
class MockMessageReceivedCallback { |
public: |
- MOCK_METHOD1(OnMessage, void(const base::Closure&)); |
+ MOCK_METHOD0(OnMessage, void()); |
}; |
class MessageReaderTest : public testing::Test { |
public: |
- MessageReaderTest() |
- : in_callback_(false) { |
- } |
- |
// Following two methods are used by the ReadFromCallback test. |
- void AddSecondMessage(const base::Closure& task) { |
- AddMessage(kTestMessage2); |
- in_callback_ = true; |
- task.Run(); |
- in_callback_ = false; |
- } |
- |
- void OnSecondMessage(const base::Closure& task) { |
- EXPECT_FALSE(in_callback_); |
- task.Run(); |
- } |
+ void AddSecondMessage() { AddMessage(kTestMessage2); } |
// Used by the DeleteFromCallback() test. |
- void DeleteReader(const base::Closure& task) { |
- reader_.reset(); |
- task.Run(); |
- } |
+ void DeleteReader() { reader_.reset(); } |
protected: |
void SetUp() override { |
@@ -98,10 +77,9 @@ class MessageReaderTest : public testing::Test { |
reader_.reset(); |
} |
- void OnMessage(scoped_ptr<CompoundBuffer> buffer, |
- const base::Closure& done_callback) { |
+ void OnMessage(scoped_ptr<CompoundBuffer> buffer) { |
messages_.push_back(buffer.release()); |
- callback_.OnMessage(done_callback); |
+ callback_.OnMessage(); |
} |
base::MessageLoop message_loop_; |
@@ -110,43 +88,13 @@ class MessageReaderTest : public testing::Test { |
MockMessageReceivedCallback callback_; |
int read_error_ = 0; |
std::vector<CompoundBuffer*> messages_; |
- bool in_callback_; |
}; |
-// Receive one message and process it with delay |
-TEST_F(MessageReaderTest, OneMessage_Delay) { |
- base::Closure done_task; |
- |
- AddMessage(kTestMessage1); |
- |
- EXPECT_CALL(callback_, OnMessage(_)) |
- .Times(1) |
- .WillOnce(SaveArg<0>(&done_task)); |
- |
- InitReader(); |
- base::RunLoop().RunUntilIdle(); |
- |
- Mock::VerifyAndClearExpectations(&callback_); |
- Mock::VerifyAndClearExpectations(&socket_); |
- |
- EXPECT_TRUE(CompareResult(messages_[0], kTestMessage1)); |
- |
- // Verify that the reader starts reading again only after we've |
- // finished processing the previous message. |
- EXPECT_FALSE(socket_.read_pending()); |
- |
- done_task.Run(); |
- |
- EXPECT_TRUE(socket_.read_pending()); |
-} |
- |
-// Receive one message and process it instantly. |
-TEST_F(MessageReaderTest, OneMessage_Instant) { |
+// Receive one message. |
+TEST_F(MessageReaderTest, OneMessage) { |
AddMessage(kTestMessage1); |
- EXPECT_CALL(callback_, OnMessage(_)) |
- .Times(1) |
- .WillOnce(CallDoneTask()); |
+ EXPECT_CALL(callback_, OnMessage()).Times(1); |
InitReader(); |
base::RunLoop().RunUntilIdle(); |
@@ -157,16 +105,10 @@ TEST_F(MessageReaderTest, OneMessage_Instant) { |
// Receive two messages in one packet. |
TEST_F(MessageReaderTest, TwoMessages_Together) { |
- base::Closure done_task1; |
- base::Closure done_task2; |
- |
AddMessage(kTestMessage1); |
AddMessage(kTestMessage2); |
- EXPECT_CALL(callback_, OnMessage(_)) |
- .Times(2) |
- .WillOnce(SaveArg<0>(&done_task1)) |
- .WillOnce(SaveArg<0>(&done_task2)); |
+ EXPECT_CALL(callback_, OnMessage()).Times(2); |
InitReader(); |
base::RunLoop().RunUntilIdle(); |
@@ -177,77 +119,15 @@ TEST_F(MessageReaderTest, TwoMessages_Together) { |
EXPECT_TRUE(CompareResult(messages_[0], kTestMessage1)); |
EXPECT_TRUE(CompareResult(messages_[1], kTestMessage2)); |
- // Verify that the reader starts reading again only after we've |
- // finished processing the previous message. |
- EXPECT_FALSE(socket_.read_pending()); |
- |
- done_task1.Run(); |
- base::RunLoop().RunUntilIdle(); |
- |
- EXPECT_FALSE(socket_.read_pending()); |
- |
- done_task2.Run(); |
- base::RunLoop().RunUntilIdle(); |
- |
- EXPECT_TRUE(socket_.read_pending()); |
-} |
- |
-// Receive two messages in one packet, and process the first one |
-// instantly. |
-TEST_F(MessageReaderTest, TwoMessages_Instant) { |
- base::Closure done_task2; |
- |
- AddMessage(kTestMessage1); |
- AddMessage(kTestMessage2); |
- |
- EXPECT_CALL(callback_, OnMessage(_)) |
- .Times(2) |
- .WillOnce(CallDoneTask()) |
- .WillOnce(SaveArg<0>(&done_task2)); |
- |
- InitReader(); |
- base::RunLoop().RunUntilIdle(); |
- |
- Mock::VerifyAndClearExpectations(&callback_); |
- Mock::VerifyAndClearExpectations(&socket_); |
- |
- EXPECT_TRUE(CompareResult(messages_[1], kTestMessage2)); |
- |
- // Verify that the reader starts reading again only after we've |
- // finished processing the second message. |
- EXPECT_FALSE(socket_.read_pending()); |
- |
- done_task2.Run(); |
- |
- EXPECT_TRUE(socket_.read_pending()); |
-} |
- |
-// Receive two messages in one packet, and process both of them |
-// instantly. |
-TEST_F(MessageReaderTest, TwoMessages_Instant2) { |
- AddMessage(kTestMessage1); |
- AddMessage(kTestMessage2); |
- |
- EXPECT_CALL(callback_, OnMessage(_)) |
- .Times(2) |
- .WillOnce(CallDoneTask()) |
- .WillOnce(CallDoneTask()); |
- |
- InitReader(); |
- base::RunLoop().RunUntilIdle(); |
- |
EXPECT_TRUE(socket_.read_pending()); |
} |
// Receive two messages in separate packets. |
TEST_F(MessageReaderTest, TwoMessages_Separately) { |
- base::Closure done_task; |
- |
AddMessage(kTestMessage1); |
- EXPECT_CALL(callback_, OnMessage(_)) |
- .Times(1) |
- .WillOnce(SaveArg<0>(&done_task)); |
+ EXPECT_CALL(callback_, OnMessage()) |
+ .Times(1); |
InitReader(); |
base::RunLoop().RunUntilIdle(); |
@@ -257,30 +137,16 @@ TEST_F(MessageReaderTest, TwoMessages_Separately) { |
EXPECT_TRUE(CompareResult(messages_[0], kTestMessage1)); |
- // Verify that the reader starts reading again only after we've |
- // finished processing the previous message. |
- EXPECT_FALSE(socket_.read_pending()); |
- |
- done_task.Run(); |
- base::RunLoop().RunUntilIdle(); |
- |
EXPECT_TRUE(socket_.read_pending()); |
// Write another message and verify that we receive it. |
- EXPECT_CALL(callback_, OnMessage(_)) |
- .Times(1) |
- .WillOnce(SaveArg<0>(&done_task)); |
+ EXPECT_CALL(callback_, OnMessage()) |
+ .Times(1); |
AddMessage(kTestMessage2); |
base::RunLoop().RunUntilIdle(); |
EXPECT_TRUE(CompareResult(messages_[1], kTestMessage2)); |
- // Verify that the reader starts reading again only after we've |
- // finished processing the previous message. |
- EXPECT_FALSE(socket_.read_pending()); |
- |
- done_task.Run(); |
- |
EXPECT_TRUE(socket_.read_pending()); |
} |
@@ -288,7 +154,7 @@ TEST_F(MessageReaderTest, TwoMessages_Separately) { |
TEST_F(MessageReaderTest, ReadError) { |
socket_.AppendReadError(net::ERR_FAILED); |
- EXPECT_CALL(callback_, OnMessage(_)).Times(0); |
+ EXPECT_CALL(callback_, OnMessage()).Times(0); |
InitReader(); |
@@ -300,10 +166,9 @@ TEST_F(MessageReaderTest, ReadError) { |
TEST_F(MessageReaderTest, ReadFromCallback) { |
AddMessage(kTestMessage1); |
- EXPECT_CALL(callback_, OnMessage(_)) |
+ EXPECT_CALL(callback_, OnMessage()) |
.Times(2) |
- .WillOnce(Invoke(this, &MessageReaderTest::AddSecondMessage)) |
- .WillOnce(Invoke(this, &MessageReaderTest::OnSecondMessage)); |
+ .WillOnce(Invoke(this, &MessageReaderTest::AddSecondMessage)); |
InitReader(); |
base::RunLoop().RunUntilIdle(); |
@@ -313,14 +178,11 @@ TEST_F(MessageReaderTest, ReadFromCallback) { |
// Verify that we stop getting callbacks after deleting MessageReader. |
TEST_F(MessageReaderTest, DeleteFromCallback) { |
- base::Closure done_task1; |
- base::Closure done_task2; |
- |
AddMessage(kTestMessage1); |
AddMessage(kTestMessage2); |
// OnMessage() should never be called for the second message. |
- EXPECT_CALL(callback_, OnMessage(_)) |
+ EXPECT_CALL(callback_, OnMessage()) |
.Times(1) |
.WillOnce(Invoke(this, &MessageReaderTest::DeleteReader)); |