6 #include "flutter/shell/platform/linux/testing/linux_test.h"
7 #include "gtest/gtest.h"
12 #include "flutter/shell/platform/linux/testing/fl_mock_binary_messenger.h"
27 FL_BINARY_MESSENGER(messenger),
"test", FL_METHOD_CODEC(codec));
33 return static_cast<FlMethodErrorResponse*
>(
nullptr);
35 nullptr,
nullptr,
nullptr);
37 gboolean called = FALSE;
38 fl_mock_binary_messenger_invoke_standard_method(
39 messenger,
"test",
"listen",
nullptr,
40 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
42 gboolean* called =
static_cast<gboolean*
>(
user_data);
45 EXPECT_TRUE(FL_IS_METHOD_SUCCESS_RESPONSE(response));
47 FL_METHOD_SUCCESS_RESPONSE(response));
58 FL_BINARY_MESSENGER(messenger),
"test", FL_METHOD_CODEC(codec));
63 "LISTEN-ERROR-MESSAGE",
nullptr);
65 nullptr,
nullptr,
nullptr);
67 gboolean called = FALSE;
68 fl_mock_binary_messenger_invoke_standard_method(
69 messenger,
"test",
"listen",
nullptr,
70 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
72 gboolean* called =
static_cast<gboolean*
>(
user_data);
75 EXPECT_TRUE(FL_IS_METHOD_ERROR_RESPONSE(response));
77 FL_METHOD_ERROR_RESPONSE(response)),
80 FL_METHOD_ERROR_RESPONSE(response)),
81 "LISTEN-ERROR-MESSAGE");
91 FL_BINARY_MESSENGER(messenger),
"test", FL_METHOD_CODEC(codec));
97 return static_cast<FlMethodErrorResponse*
>(
nullptr);
101 fl_mock_binary_messenger_invoke_standard_method(
102 messenger,
"test",
"listen",
nullptr,
103 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
106 gboolean called = FALSE;
107 fl_mock_binary_messenger_invoke_standard_method(
108 messenger,
"test",
"cancel",
nullptr,
109 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
111 gboolean* called =
static_cast<gboolean*
>(
user_data);
114 EXPECT_TRUE(FL_IS_METHOD_SUCCESS_RESPONSE(response));
116 FL_METHOD_SUCCESS_RESPONSE(response));
127 FL_BINARY_MESSENGER(messenger),
"test", FL_METHOD_CODEC(codec));
132 "CANCEL-ERROR-MESSAGE",
nullptr);
136 fl_mock_binary_messenger_invoke_standard_method(
137 messenger,
"test",
"listen",
nullptr,
138 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
141 gboolean called = FALSE;
142 fl_mock_binary_messenger_invoke_standard_method(
143 messenger,
"test",
"cancel",
nullptr,
144 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
146 gboolean* called =
static_cast<gboolean*
>(
user_data);
149 EXPECT_TRUE(FL_IS_METHOD_ERROR_RESPONSE(response));
151 FL_METHOD_ERROR_RESPONSE(response)),
154 FL_METHOD_ERROR_RESPONSE(response)),
155 "CANCEL-ERROR-MESSAGE");
165 FL_BINARY_MESSENGER(messenger),
"test", FL_METHOD_CODEC(codec));
170 int* call_count =
static_cast<int*
>(
user_data);
171 EXPECT_EQ(*call_count, 0);
177 return static_cast<FlMethodErrorResponse*
>(
nullptr);
180 int* call_count =
static_cast<int*
>(
user_data);
181 EXPECT_EQ(*call_count, 1);
187 return static_cast<FlMethodErrorResponse*
>(
nullptr);
189 &call_count,
nullptr);
192 fl_mock_binary_messenger_invoke_standard_method(
193 messenger,
"test",
"listen", listen_args,
194 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
198 fl_mock_binary_messenger_invoke_standard_method(
199 messenger,
"test",
"cancel", cancel_args,
200 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
204 EXPECT_EQ(call_count, 2);
210 fl_mock_binary_messenger_set_standard_event_channel(
213 int* event_count =
static_cast<int*
>(
user_data);
220 [](FlMockBinaryMessenger* messenger,
const gchar* code,
226 FL_BINARY_MESSENGER(messenger),
"test", FL_METHOD_CODEC(codec));
231 for (
int i = 0;
i < 5;
i++) {
235 EXPECT_EQ(
error,
nullptr);
238 return static_cast<FlMethodErrorResponse*
>(
nullptr);
240 nullptr,
nullptr,
nullptr);
242 fl_mock_binary_messenger_invoke_standard_method(
243 messenger,
"test",
"listen",
nullptr,
244 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
247 fl_mock_binary_messenger_invoke_standard_method(
248 messenger,
"test",
"cancel",
nullptr,
249 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
253 EXPECT_EQ(event_count, 5);
260 fl_mock_binary_messenger_set_standard_event_channel(
263 int* event_count =
static_cast<int*
>(
user_data);
270 [](FlMockBinaryMessenger* messenger,
const gchar* code,
276 FL_BINARY_MESSENGER(messenger),
"test", FL_METHOD_CODEC(codec));
281 for (
int i = 0;
i < 5;
i++) {
285 EXPECT_EQ(
error,
nullptr);
288 return static_cast<FlMethodErrorResponse*
>(
nullptr);
290 nullptr,
nullptr,
nullptr);
293 g_object_unref(channel1);
297 FL_BINARY_MESSENGER(messenger),
"test", FL_METHOD_CODEC(codec));
302 for (
int i = 0;
i < 5;
i++) {
306 EXPECT_EQ(
error,
nullptr);
309 return static_cast<FlMethodErrorResponse*
>(
nullptr);
311 nullptr,
nullptr,
nullptr);
313 fl_mock_binary_messenger_invoke_standard_method(
314 messenger,
"test",
"listen",
nullptr,
315 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
318 fl_mock_binary_messenger_invoke_standard_method(
319 messenger,
"test",
"cancel",
nullptr,
320 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
324 EXPECT_EQ(event_count, 5);
330 fl_mock_binary_messenger_set_standard_event_channel(
333 int* event_count =
static_cast<int*
>(
user_data);
340 [](FlMockBinaryMessenger* messenger,
const gchar* code,
346 FL_BINARY_MESSENGER(messenger),
"test", FL_METHOD_CODEC(codec));
351 for (
int i = 0;
i < 5;
i++) {
355 EXPECT_EQ(
error,
nullptr);
358 return static_cast<FlMethodErrorResponse*
>(
nullptr);
360 nullptr,
nullptr,
nullptr);
364 FL_BINARY_MESSENGER(messenger),
"test", FL_METHOD_CODEC(codec));
369 for (
int i = 0;
i < 5;
i++) {
373 EXPECT_EQ(
error,
nullptr);
376 return static_cast<FlMethodErrorResponse*
>(
nullptr);
378 nullptr,
nullptr,
nullptr);
380 fl_mock_binary_messenger_invoke_standard_method(
381 messenger,
"test",
"listen",
nullptr,
382 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
385 fl_mock_binary_messenger_invoke_standard_method(
386 messenger,
"test",
"cancel",
nullptr,
387 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
391 EXPECT_EQ(event_count, 5);
FlMockBinaryMessenger * messenger
g_autoptr(FlEngine) engine
const char FlTextDirection FlAssertiveness gpointer user_data
G_MODULE_EXPORT gboolean fl_event_channel_send(FlEventChannel *self, FlValue *event, GCancellable *cancellable, GError **error)
G_MODULE_EXPORT void fl_event_channel_set_stream_handlers(FlEventChannel *self, FlEventChannelHandler listen_handler, FlEventChannelHandler cancel_handler, gpointer user_data, GDestroyNotify destroy_notify)
G_MODULE_EXPORT FlEventChannel * fl_event_channel_new(FlBinaryMessenger *messenger, const gchar *name, FlMethodCodec *codec)
G_BEGIN_DECLS G_MODULE_EXPORT FlValue * args
TEST_F(FlEventChannelTest, Listen)
G_MODULE_EXPORT FlMethodErrorResponse * fl_method_error_response_new(const gchar *code, const gchar *message, FlValue *details)
G_MODULE_EXPORT const gchar * fl_method_error_response_get_code(FlMethodErrorResponse *self)
G_MODULE_EXPORT const gchar * fl_method_error_response_get_message(FlMethodErrorResponse *self)
G_MODULE_EXPORT FlValue * fl_method_success_response_get_result(FlMethodSuccessResponse *self)
const uint8_t uint32_t uint32_t GError ** error
G_MODULE_EXPORT FlStandardMethodCodec * fl_standard_method_codec_new()
G_MODULE_EXPORT int64_t fl_value_get_int(FlValue *self)
G_MODULE_EXPORT FlValue * fl_value_new_string(const gchar *value)
G_MODULE_EXPORT FlValueType fl_value_get_type(FlValue *self)
G_MODULE_EXPORT bool fl_value_equal(FlValue *a, FlValue *b)
G_MODULE_EXPORT FlValue * fl_value_new_int(int64_t value)
typedefG_BEGIN_DECLS struct _FlValue FlValue