Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(494)

Unified Diff: remoting/protocol/message_reader_unittest.cc

Issue 1655433002: Remove done notifications from incoming message handlers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « remoting/protocol/message_reader.cc ('k') | remoting/protocol/protobuf_message_parser.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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));
« no previous file with comments | « remoting/protocol/message_reader.cc ('k') | remoting/protocol/protobuf_message_parser.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698