| 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));
|
|
|
|
|