12 #include "gtest/gtest.h"
18 class TestBinaryMessenger :
public BinaryMessenger {
20 void Send(
const std::string& channel,
22 const size_t message_size,
25 void SetMessageHandler(
const std::string& channel,
27 last_message_handler_channel_ = channel;
28 last_message_handler_ = handler;
31 std::string last_message_handler_channel() {
32 return last_message_handler_channel_;
38 std::string last_message_handler_channel_;
46 TEST(BasicMessageChannelTest, Registration) {
47 TestBinaryMessenger messenger;
48 const std::string channel_name(
"some_channel");
52 bool callback_called =
false;
53 const std::string message_value(
"hello");
55 [&callback_called, message_value](
const auto&
message,
auto reply) {
56 callback_called =
true;
59 EXPECT_EQ(std::get<std::string>(
message), message_value);
60 EXPECT_NE(reply,
nullptr);
62 EXPECT_EQ(messenger.last_message_handler_channel(), channel_name);
63 EXPECT_NE(messenger.last_message_handler(),
nullptr);
67 messenger.last_message_handler()(
69 [](
const uint8_t* reply,
const size_t reply_size) {});
70 EXPECT_EQ(callback_called,
true);
74 TEST(BasicMessageChannelTest, Unregistration) {
75 TestBinaryMessenger messenger;
76 const std::string channel_name(
"some_channel");
81 EXPECT_EQ(messenger.last_message_handler_channel(), channel_name);
82 EXPECT_NE(messenger.last_message_handler(),
nullptr);
85 EXPECT_EQ(messenger.last_message_handler_channel(), channel_name);
86 EXPECT_EQ(messenger.last_message_handler(),
nullptr);