6 #include "flutter/shell/platform/linux/testing/linux_test.h"
7 #include "gtest/gtest.h"
13 #include "flutter/shell/platform/linux/testing/fl_mock_binary_messenger.h"
28 gboolean called = FALSE;
29 fl_mock_binary_messenger_set_standard_message_channel(
31 [](FlMockBinaryMessenger* messenger, GTask* task,
FlValue*
message,
33 gboolean* called =
static_cast<gboolean*
>(
user_data);
41 return static_cast<FlValue*
>(
nullptr);
47 FL_BINARY_MESSENGER(messenger),
"test", FL_MESSAGE_CODEC(codec));
57 fl_mock_binary_messenger_set_standard_message_channel(
59 [](FlMockBinaryMessenger* messenger, GTask* task,
FlValue*
message,
71 FL_BINARY_MESSENGER(messenger),
"test", FL_MESSAGE_CODEC(codec));
75 [](GObject*
object, GAsyncResult* result, gpointer
user_data) {
78 FL_BASIC_MESSAGE_CHANNEL(
object), result, &
error);
80 EXPECT_EQ(
error,
nullptr);
85 g_main_loop_quit(
static_cast<GMainLoop*
>(
user_data));
89 g_main_loop_run(loop);
94 fl_mock_binary_messenger_set_error_channel(messenger,
"test", 42,
"Error");
98 FL_BINARY_MESSENGER(messenger),
"test", FL_MESSAGE_CODEC(codec));
102 [](GObject*
object, GAsyncResult* result, gpointer
user_data) {
105 FL_BASIC_MESSAGE_CHANNEL(
object), result, &
error);
107 EXPECT_NE(
error,
nullptr);
108 EXPECT_EQ(
error->code, 42);
109 EXPECT_STREQ(
error->message,
"Error");
111 g_main_loop_quit(
static_cast<GMainLoop*
>(
user_data));
115 g_main_loop_run(loop);
122 g_autoptr(FlBasicMessageChannel) messages_channel =
124 FL_MESSAGE_CODEC(codec));
128 FlBasicMessageChannelResponseHandle* response_handle,
138 EXPECT_EQ(
error,
nullptr);
144 gboolean called = FALSE;
145 fl_mock_binary_messenger_send_standard_message(
147 [](FlMockBinaryMessenger* messenger,
FlValue* response,
149 gboolean* called =
static_cast<gboolean*
>(
user_data);
152 EXPECT_NE(response,
nullptr);
163 fl_mock_binary_messenger_set_standard_message_channel(
165 [](FlMockBinaryMessenger* messenger, GTask* task,
FlValue*
message,
171 FL_BINARY_MESSENGER(messenger),
"test", FL_MESSAGE_CODEC(codec));
173 channel,
nullptr,
nullptr,
174 [](GObject*
object, GAsyncResult* result, gpointer
user_data) {
177 FL_BASIC_MESSAGE_CHANNEL(
object), result, &
error);
179 EXPECT_EQ(
error,
nullptr);
183 g_main_loop_quit(
static_cast<GMainLoop*
>(
user_data));
187 g_main_loop_run(loop);
192 fl_mock_binary_messenger_set_standard_message_channel(
194 [](FlMockBinaryMessenger* messenger, GTask* task,
FlValue*
message,
200 FL_BINARY_MESSENGER(messenger),
"test", FL_MESSAGE_CODEC(codec));
204 [](GObject*
object, GAsyncResult* result, gpointer
user_data) {
207 FL_BASIC_MESSAGE_CHANNEL(
object), result, &
error);
209 EXPECT_NE(
error,
nullptr);
210 EXPECT_STREQ(
error->message,
"Custom value not implemented");
212 g_main_loop_quit(
static_cast<GMainLoop*
>(
user_data));
216 g_main_loop_run(loop);
FlMockBinaryMessenger * messenger
~FlBasicMessageChannelTest()
g_autoptr(FlEngine) engine
const char FlTextDirection FlAssertiveness gpointer user_data
G_MODULE_EXPORT FlValue * fl_basic_message_channel_send_finish(FlBasicMessageChannel *self, GAsyncResult *result, GError **error)
G_MODULE_EXPORT void fl_basic_message_channel_set_message_handler(FlBasicMessageChannel *self, FlBasicMessageChannelMessageHandler handler, gpointer user_data, GDestroyNotify destroy_notify)
G_MODULE_EXPORT FlBasicMessageChannel * fl_basic_message_channel_new(FlBinaryMessenger *messenger, const gchar *name, FlMessageCodec *codec)
G_MODULE_EXPORT gboolean fl_basic_message_channel_respond(FlBasicMessageChannel *self, FlBasicMessageChannelResponseHandle *response_handle, FlValue *message, GError **error)
G_MODULE_EXPORT void fl_basic_message_channel_send(FlBasicMessageChannel *self, FlValue *message, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data)
TEST_F(FlBasicMessageChannelTest, SendMessageWithoutResponse)
const uint8_t uint32_t uint32_t GError ** error
G_MODULE_EXPORT FlStandardMessageCodec * fl_standard_message_codec_new()
G_MODULE_EXPORT FlValue * fl_value_new_custom(int type, gconstpointer value, GDestroyNotify destroy_notify)
G_MODULE_EXPORT FlValue * fl_value_new_string(const gchar *value)
G_MODULE_EXPORT FlValueType fl_value_get_type(FlValue *self)
G_MODULE_EXPORT FlValue * fl_value_new_null()
G_MODULE_EXPORT const gchar * fl_value_get_string(FlValue *self)
typedefG_BEGIN_DECLS struct _FlValue FlValue