#include "flutter/shell/platform/linux/fl_key_channel_responder.h"
#include "gtest/gtest.h"
#include "flutter/shell/platform/linux/fl_binary_messenger_private.h"
#include "flutter/shell/platform/linux/testing/fl_mock_binary_messenger.h"
Go to the source code of this file.
|
static void | set_key_event_channel (FlMockBinaryMessenger *messenger, const gchar *expected_message, gboolean handled) |
|
| TEST (FlKeyChannelResponderTest, SendKeyEvent) |
|
void | test_lock_event (guint key_code, const char *down_expected, const char *up_expected) |
|
| TEST (FlKeyChannelResponderTest, SendNumLockKeyEvent) |
|
| TEST (FlKeyChannelResponderTest, SendCapsLockKeyEvent) |
|
| TEST (FlKeyChannelResponderTest, SendShiftLockKeyEvent) |
|
| TEST (FlKeyChannelResponderTest, TestKeyEventHandledByFramework) |
|
| TEST (FlKeyChannelResponderTest, UseSpecifiedLogicalKey) |
|
◆ set_key_event_channel()
static void set_key_event_channel |
( |
FlMockBinaryMessenger * |
messenger, |
|
|
const gchar * |
expected_message, |
|
|
gboolean |
handled |
|
) |
| |
|
static |
Definition at line 17 of file fl_key_channel_responder_test.cc.
23 fl_mock_binary_messenger_set_json_message_channel(
24 messenger,
"flutter/keyevent",
25 [](FlMockBinaryMessenger* messenger, GTask* task,
FlValue* message,
30 EXPECT_STREQ(message_string, data->expected_message);
References KeyEventData::expected_message, fl_value_new_bool(), fl_value_new_map(), fl_value_set_string_take(), fl_value_to_string(), KeyEventData::handled, and user_data.
Referenced by TEST(), and test_lock_event().
◆ TEST() [1/6]
TEST |
( |
FlKeyChannelResponderTest |
, |
|
|
SendCapsLockKeyEvent |
|
|
) |
| |
Definition at line 142 of file fl_key_channel_responder_test.cc.
144 "{type: keydown, keymap: linux, scanCode: 4, toolkit: gtk, "
145 "keyCode: 65509, modifiers: 2}",
146 "{type: keyup, keymap: linux, scanCode: 4, toolkit: gtk, "
147 "keyCode: 65509, modifiers: 0}");
References test_lock_event().
◆ TEST() [2/6]
TEST |
( |
FlKeyChannelResponderTest |
, |
|
|
SendKeyEvent |
|
|
) |
| |
Definition at line 42 of file fl_key_channel_responder_test.cc.
43 g_autoptr(GMainLoop) loop = g_main_loop_new(
nullptr, 0);
45 g_autoptr(FlMockBinaryMessenger) messenger = fl_mock_binary_messenger_new();
46 g_autoptr(FlKeyChannelResponder) responder =
51 "{type: keydown, keymap: linux, scanCode: 4, toolkit: gtk, keyCode: 65, "
52 "modifiers: 0, unicodeScalarValues: 65}",
55 12345,
TRUE, 0x04, GDK_KEY_A,
static_cast<GdkModifierType
>(0), 0);
57 responder, event1, 0,
nullptr,
58 [](GObject*
object, GAsyncResult* result, gpointer
user_data) {
61 FL_KEY_CHANNEL_RESPONDER(
object), result, &handled,
nullptr));
62 EXPECT_FALSE(handled);
63 g_main_loop_quit(
static_cast<GMainLoop*
>(
user_data));
66 g_main_loop_run(loop);
70 "{type: keyup, keymap: linux, scanCode: 4, toolkit: gtk, keyCode: 65, "
71 "modifiers: 0, unicodeScalarValues: 65}",
74 23456, FALSE, 0x04, GDK_KEY_A,
static_cast<GdkModifierType
>(0), 0);
76 responder, event2, 0,
nullptr,
77 [](GObject*
object, GAsyncResult* result, gpointer
user_data) {
80 FL_KEY_CHANNEL_RESPONDER(
object), result, &handled,
nullptr));
81 EXPECT_FALSE(handled);
82 g_main_loop_quit(
static_cast<GMainLoop*
>(
user_data));
85 g_main_loop_run(loop);
References fl_binary_messenger_shutdown(), fl_key_channel_responder_handle_event(), fl_key_channel_responder_handle_event_finish(), fl_key_channel_responder_new(), fl_key_event_new(), set_key_event_channel(), TRUE, and user_data.
◆ TEST() [3/6]
TEST |
( |
FlKeyChannelResponderTest |
, |
|
|
SendNumLockKeyEvent |
|
|
) |
| |
Definition at line 133 of file fl_key_channel_responder_test.cc.
135 "{type: keydown, keymap: linux, scanCode: 4, toolkit: gtk, "
136 "keyCode: 65407, modifiers: 16}",
137 "{type: keyup, keymap: linux, scanCode: 4, toolkit: gtk, "
138 "keyCode: 65407, modifiers: 0}");
References test_lock_event().
◆ TEST() [4/6]
TEST |
( |
FlKeyChannelResponderTest |
, |
|
|
SendShiftLockKeyEvent |
|
|
) |
| |
Definition at line 151 of file fl_key_channel_responder_test.cc.
153 "{type: keydown, keymap: linux, scanCode: 4, toolkit: gtk, "
154 "keyCode: 65510, modifiers: 2}",
155 "{type: keyup, keymap: linux, scanCode: 4, toolkit: gtk, "
156 "keyCode: 65510, modifiers: 0}");
References test_lock_event().
◆ TEST() [5/6]
TEST |
( |
FlKeyChannelResponderTest |
, |
|
|
TestKeyEventHandledByFramework |
|
|
) |
| |
Definition at line 159 of file fl_key_channel_responder_test.cc.
160 g_autoptr(GMainLoop) loop = g_main_loop_new(
nullptr, 0);
162 g_autoptr(FlMockBinaryMessenger) messenger = fl_mock_binary_messenger_new();
163 g_autoptr(FlKeyChannelResponder) responder =
168 "{type: keydown, keymap: linux, scanCode: 4, toolkit: gtk, "
169 "keyCode: 65, modifiers: 0, unicodeScalarValues: 65}",
172 12345,
TRUE, 0x04, GDK_KEY_A,
static_cast<GdkModifierType
>(0), 0);
174 responder, event, 0,
nullptr,
175 [](GObject*
object, GAsyncResult* result, gpointer
user_data) {
178 FL_KEY_CHANNEL_RESPONDER(
object), result, &handled,
nullptr));
179 EXPECT_TRUE(handled);
180 g_main_loop_quit(
static_cast<GMainLoop*
>(
user_data));
183 g_main_loop_run(loop);
References fl_binary_messenger_shutdown(), fl_key_channel_responder_handle_event(), fl_key_channel_responder_handle_event_finish(), fl_key_channel_responder_new(), fl_key_event_new(), set_key_event_channel(), TRUE, and user_data.
◆ TEST() [6/6]
TEST |
( |
FlKeyChannelResponderTest |
, |
|
|
UseSpecifiedLogicalKey |
|
|
) |
| |
Definition at line 188 of file fl_key_channel_responder_test.cc.
189 g_autoptr(GMainLoop) loop = g_main_loop_new(
nullptr, 0);
191 g_autoptr(FlMockBinaryMessenger) messenger = fl_mock_binary_messenger_new();
192 g_autoptr(FlKeyChannelResponder) responder =
197 "{type: keydown, keymap: linux, scanCode: 4, toolkit: gtk, "
198 "keyCode: 65, modifiers: 0, unicodeScalarValues: 65, "
199 "specifiedLogicalKey: 888}",
202 12345,
TRUE, 0x04, GDK_KEY_A,
static_cast<GdkModifierType
>(0), 0);
204 responder, event, 888,
nullptr,
205 [](GObject*
object, GAsyncResult* result, gpointer
user_data) {
208 FL_KEY_CHANNEL_RESPONDER(
object), result, &handled,
nullptr));
209 EXPECT_TRUE(handled);
210 g_main_loop_quit(
static_cast<GMainLoop*
>(
user_data));
213 g_main_loop_run(loop);
References fl_binary_messenger_shutdown(), fl_key_channel_responder_handle_event(), fl_key_channel_responder_handle_event_finish(), fl_key_channel_responder_new(), fl_key_event_new(), set_key_event_channel(), TRUE, and user_data.
◆ test_lock_event()
void test_lock_event |
( |
guint |
key_code, |
|
|
const char * |
down_expected, |
|
|
const char * |
up_expected |
|
) |
| |
Definition at line 90 of file fl_key_channel_responder_test.cc.
93 g_autoptr(GMainLoop) loop = g_main_loop_new(
nullptr, 0);
95 g_autoptr(FlMockBinaryMessenger) messenger = fl_mock_binary_messenger_new();
96 g_autoptr(FlKeyChannelResponder) responder =
101 12345,
TRUE, 0x04, key_code,
static_cast<GdkModifierType
>(0), 0);
103 responder, event1, 0,
nullptr,
104 [](GObject*
object, GAsyncResult* result, gpointer
user_data) {
107 FL_KEY_CHANNEL_RESPONDER(
object), result, &handled,
nullptr));
108 EXPECT_FALSE(handled);
109 g_main_loop_quit(
static_cast<GMainLoop*
>(
user_data));
112 g_main_loop_run(loop);
116 12346, FALSE, 0x04, key_code,
static_cast<GdkModifierType
>(0), 0);
118 responder, event2, 0,
nullptr,
119 [](GObject*
object, GAsyncResult* result, gpointer
user_data) {
122 FL_KEY_CHANNEL_RESPONDER(
object), result, &handled,
nullptr));
123 EXPECT_FALSE(handled);
124 g_main_loop_quit(
static_cast<GMainLoop*
>(
user_data));
127 g_main_loop_run(loop);
References fl_binary_messenger_shutdown(), fl_key_channel_responder_handle_event(), fl_key_channel_responder_handle_event_finish(), fl_key_channel_responder_new(), fl_key_event_new(), set_key_event_channel(), TRUE, and user_data.
Referenced by TEST().