| Index: blimp/net/blimp_message_dispatcher_unittest.cc
|
| diff --git a/blimp/net/blimp_message_dispatcher_unittest.cc b/blimp/net/blimp_message_dispatcher_unittest.cc
|
| index 8c22c0c580ab18833f3ee8a381f66312fa326761..9885453879f66688a4d3ae28fb216762ff9df0f6 100644
|
| --- a/blimp/net/blimp_message_dispatcher_unittest.cc
|
| +++ b/blimp/net/blimp_message_dispatcher_unittest.cc
|
| @@ -7,40 +7,46 @@
|
| #include "blimp/net/blimp_message_dispatcher.h"
|
|
|
| #include "base/logging.h"
|
| +#include "blimp/net/test_common.h"
|
| +#include "net/base/net_errors.h"
|
| +#include "net/base/test_completion_callback.h"
|
| #include "testing/gmock/include/gmock/gmock.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| +using testing::_;
|
| +using testing::InvokeArgument;
|
| using testing::Ref;
|
| using testing::Return;
|
| +using testing::SaveArg;
|
|
|
| namespace blimp {
|
|
|
| -class MockReceiver : public BlimpMessageReceiver {
|
| - public:
|
| - MockReceiver() {}
|
| - ~MockReceiver() override {}
|
| -
|
| - MOCK_METHOD1(OnBlimpMessage, net::Error(const BlimpMessage& message));
|
| -};
|
| -
|
| TEST(BlimpMessageDispatcherTest, AllInteractions) {
|
| BlimpMessage input_msg;
|
| BlimpMessage compositor_msg;
|
| input_msg.set_type(BlimpMessage::INPUT);
|
| compositor_msg.set_type(BlimpMessage::COMPOSITOR);
|
|
|
| - MockReceiver receiver1;
|
| - MockReceiver receiver2;
|
| - EXPECT_CALL(receiver1, OnBlimpMessage(Ref(input_msg)))
|
| - .WillOnce(Return(net::OK));
|
| - EXPECT_CALL(receiver2, OnBlimpMessage(Ref(compositor_msg)))
|
| - .WillOnce(Return(net::ERR_FAILED));
|
| + MockBlimpMessageProcessor receiver1;
|
| + MockBlimpMessageProcessor receiver2;
|
| + net::CompletionCallback captured_cb;
|
| + EXPECT_CALL(receiver1, ProcessMessage(Ref(input_msg), _))
|
| + .WillOnce(SaveArg<1>(&captured_cb));
|
| + EXPECT_CALL(receiver2, ProcessMessage(Ref(compositor_msg), _))
|
| + .WillOnce(SaveArg<1>(&captured_cb));
|
|
|
| BlimpMessageDispatcher dispatcher;
|
| dispatcher.AddReceiver(BlimpMessage::INPUT, &receiver1);
|
| dispatcher.AddReceiver(BlimpMessage::COMPOSITOR, &receiver2);
|
| - EXPECT_EQ(net::OK, dispatcher.OnBlimpMessage(input_msg));
|
| - EXPECT_EQ(net::ERR_FAILED, dispatcher.OnBlimpMessage(compositor_msg));
|
| +
|
| + net::TestCompletionCallback cb1;
|
| + dispatcher.ProcessMessage(input_msg, cb1.callback());
|
| + captured_cb.Run(net::OK);
|
| + EXPECT_EQ(net::OK, cb1.WaitForResult());
|
| + net::TestCompletionCallback cb2;
|
| + dispatcher.ProcessMessage(compositor_msg, cb2.callback());
|
| + captured_cb.Run(net::ERR_FAILED);
|
| + EXPECT_EQ(net::ERR_FAILED, cb2.WaitForResult());
|
| }
|
|
|
| } // namespace blimp
|
|
|