10 #include "flutter/shell/platform/linux/testing/fl_mock_binary_messenger.h"
12 #include "gmock/gmock.h"
13 #include "gtest/gtest.h"
23 fl_mock_keyboard_handler_delegate,
25 MOCK_KEYBOARD_HANDLER_DELEGATE,
35 FlKeyboardViewDelegateInterface* iface);
38 FlMockKeyboardHandlerDelegate,
39 fl_mock_keyboard_handler_delegate,
41 G_IMPLEMENT_INTERFACE(
42 fl_keyboard_view_delegate_get_type(),
45 static void fl_mock_keyboard_handler_delegate_init(
46 FlMockKeyboardHandlerDelegate*
self) {}
49 FlMockKeyboardHandlerDelegateClass* klass) {}
52 FlKeyboardViewDelegateInterface* iface) {}
55 FlMockKeyboardHandlerDelegate*
self = FL_MOCK_KEYBOARD_HANDLER_DELEGATE(
56 g_object_new(fl_mock_keyboard_handler_delegate_get_type(),
nullptr));
59 FL_IS_MOCK_KEYBOARD_HANDLER_DELEGATE(
self);
64 TEST(FlKeyboardHandlerTest, KeyboardChannelGetPressedState) {
65 g_autoptr(FlMockBinaryMessenger) messenger = fl_mock_binary_messenger_new();
66 g_autoptr(FlEngine) engine =
67 FL_ENGINE(g_object_new(fl_engine_get_type(),
"binary-messenger",
68 FL_BINARY_MESSENGER(messenger),
nullptr));
69 g_autoptr(FlMockKeyboardHandlerDelegate) view_delegate =
71 g_autoptr(FlKeyboardManager) manager =
76 GHashTable* result = g_hash_table_new(g_direct_hash, g_direct_equal);
77 g_hash_table_insert(result,
84 g_autoptr(FlKeyboardHandler) handler =
86 EXPECT_NE(handler,
nullptr);
88 gboolean called = FALSE;
89 fl_mock_binary_messenger_invoke_standard_method(
91 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
93 gboolean* called =
static_cast<gboolean*
>(
user_data);
96 EXPECT_TRUE(FL_IS_METHOD_SUCCESS_RESPONSE(response));
102 FL_METHOD_SUCCESS_RESPONSE(response)),
void fl_binary_messenger_shutdown(FlBinaryMessenger *self)
G_BEGIN_DECLS G_MODULE_EXPORT FlValue gpointer user_data
FlKeyboardHandler * fl_keyboard_handler_new(FlBinaryMessenger *messenger, FlKeyboardManager *keyboard_manager)
static void fl_mock_keyboard_handler_delegate_keyboard_view_delegate_iface_init(FlKeyboardViewDelegateInterface *iface)
static FlMockKeyboardHandlerDelegate * fl_mock_keyboard_handler_delegate_new()
static constexpr char kKeyboardChannelName[]
G_BEGIN_DECLS G_DECLARE_FINAL_TYPE(FlMockKeyboardHandlerDelegate, fl_mock_keyboard_handler_delegate, FL, MOCK_KEYBOARD_HANDLER_DELEGATE, GObject)
static constexpr uint64_t kMockPhysicalKey
G_DEFINE_TYPE_WITH_CODE(FlMockKeyboardHandlerDelegate, fl_mock_keyboard_handler_delegate, G_TYPE_OBJECT, G_IMPLEMENT_INTERFACE(fl_keyboard_view_delegate_get_type(), fl_mock_keyboard_handler_delegate_keyboard_view_delegate_iface_init)) static void fl_mock_keyboard_handler_delegate_init(FlMockKeyboardHandlerDelegate *self)
static constexpr uint64_t kMockLogicalKey
static void fl_mock_keyboard_handler_delegate_class_init(FlMockKeyboardHandlerDelegateClass *klass)
static constexpr char kGetKeyboardStateMethod[]
TEST(FlKeyboardHandlerTest, KeyboardChannelGetPressedState)
void fl_keyboard_manager_set_get_pressed_state_handler(FlKeyboardManager *self, FlKeyboardManagerGetPressedStateHandler get_pressed_state_handler, gpointer user_data)
FlKeyboardManager * fl_keyboard_manager_new(FlEngine *engine, FlKeyboardViewDelegate *view_delegate)
G_MODULE_EXPORT FlValue * fl_method_success_response_get_result(FlMethodSuccessResponse *self)
G_MODULE_EXPORT void fl_value_set_take(FlValue *self, FlValue *key, FlValue *value)
G_MODULE_EXPORT bool fl_value_equal(FlValue *a, FlValue *b)
G_MODULE_EXPORT FlValue * fl_value_new_int(int64_t value)
G_MODULE_EXPORT FlValue * fl_value_new_map()
typedefG_BEGIN_DECLS struct _FlValue FlValue