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)),