user32/tests: Add more test for unicode input with vkey.

This commit is contained in:
Alexandros Frantzis 2024-05-30 18:38:30 +03:00 committed by Alexandre Julliard
parent 95e6302e82
commit e382867599

View file

@ -1169,6 +1169,25 @@ static void test_SendInput_keyboard_messages( WORD vkey, WORD scan, WCHAR wch, W
{0},
};
struct send_input_keyboard_test unicode_vkey_ctrl[] =
{
{.scan = 0x3c0, .vkey = VK_CONTROL, .flags = KEYEVENTF_UNICODE,
.expect_state = {[VK_CONTROL] = 0x80, [VK_LCONTROL] = 0x80}, .todo_state = {[VK_LCONTROL] = TRUE},
.expect = {KEY_HOOK(WM_KEYDOWN, 0xc0, VK_LCONTROL, .todo_value = TRUE), KEY_MSG(WM_KEYDOWN, 0xc0, VK_CONTROL), {0}}},
{.scan = 0x3c0, .vkey = VK_CONTROL, .flags = KEYEVENTF_UNICODE | KEYEVENTF_KEYUP,
.expect = {KEY_HOOK(WM_KEYUP, 0xc0, VK_LCONTROL, .todo_value = TRUE), KEY_MSG(WM_KEYUP, 0xc0, VK_CONTROL), {0}}},
{0},
};
struct send_input_keyboard_test unicode_vkey_packet[] =
{
{.scan = 0x3c0, .vkey = VK_PACKET, .flags = KEYEVENTF_UNICODE, .expect_state = {[VK_PACKET] = 0x80},
.expect = {KEY_HOOK(WM_KEYDOWN, 0xc0, VK_PACKET), KEY_MSG(WM_KEYDOWN, 0, VK_PACKET, .todo_value = TRUE), WIN_MSG(WM_CHAR, 0xc0, 1), {0}}},
{.scan = 0x3c0, .vkey = VK_PACKET, .flags = KEYEVENTF_UNICODE | KEYEVENTF_KEYUP,
.expect = {KEY_HOOK(WM_KEYUP, 0xc0, VK_PACKET), KEY_MSG(WM_KEYUP, 0, VK_PACKET, .todo_value = TRUE), {0}}},
{0},
};
struct send_input_keyboard_test numpad_scan[] =
{
{.scan = 0x4b, .flags = KEYEVENTF_SCANCODE, .expect_state = {[VK_LEFT] = 0x80},
@ -1288,6 +1307,8 @@ static void test_SendInput_keyboard_messages( WORD vkey, WORD scan, WCHAR wch, W
check_send_input_keyboard_test( unicode, TRUE );
check_send_input_keyboard_test( lmenu_unicode_peeked, TRUE );
check_send_input_keyboard_test( unicode_vkey, TRUE );
check_send_input_keyboard_test( unicode_vkey_ctrl, TRUE );
check_send_input_keyboard_test( unicode_vkey_packet, TRUE );
check_send_input_keyboard_test( numpad_scan, TRUE );
check_send_input_keyboard_test( numpad_scan_numlock, TRUE );
winetest_pop_context();
@ -1333,6 +1354,8 @@ static void test_SendInput_keyboard_messages( WORD vkey, WORD scan, WCHAR wch, W
check_send_input_keyboard_test( unicode, FALSE );
check_send_input_keyboard_test( lmenu_unicode, FALSE );
check_send_input_keyboard_test( unicode_vkey, FALSE );
check_send_input_keyboard_test( unicode_vkey_ctrl, FALSE );
check_send_input_keyboard_test( unicode_vkey_packet, FALSE );
check_send_input_keyboard_test( numpad_scan, FALSE );
check_send_input_keyboard_test( numpad_scan_numlock, FALSE );
winetest_pop_context();