imm32/tests: Fix some spurious failures with Windows ko_KR IME.

Still fails spuriously from time to time as the IME sometimes doesn't
kick in, but hopefully less often.
This commit is contained in:
Rémi Bernon 2024-01-31 10:51:33 +01:00 committed by Alexandre Julliard
parent 8b04d34583
commit d8a075dc91

View file

@ -7092,11 +7092,11 @@ static void test_ImmTranslateMessage( BOOL kbd_char_first )
{
{
.hkl = expect_ime, .himc = 0/*himc*/, .func = IME_PROCESS_KEY,
.process_key = {.vkey = 'Q', .lparam = MAKELONG(1, 0x10)},
.process_key = {.vkey = VK_RETURN, .lparam = MAKELONG(1, 0x1c)},
},
{
.hkl = expect_ime, .himc = 0/*himc*/, .func = IME_TO_ASCII_EX,
.to_ascii_ex = {.vkey = kbd_char_first ? MAKELONG('Q', 'q') : 'Q', .vsc = 0x10},
.to_ascii_ex = {.vkey = kbd_char_first ? MAKELONG(VK_RETURN, VK_RETURN) : VK_RETURN, .vsc = 0x1c},
},
{0},
};
@ -7104,11 +7104,11 @@ static void test_ImmTranslateMessage( BOOL kbd_char_first )
{
{
.hkl = expect_ime, .himc = 0/*himc*/, .func = IME_PROCESS_KEY,
.process_key = {.vkey = 'Q', .lparam = MAKELONG(1, 0xc010)},
.process_key = {.vkey = VK_RETURN, .lparam = MAKELONG(1, 0xc01c)},
},
{
.hkl = expect_ime, .himc = 0/*himc*/, .func = IME_TO_ASCII_EX,
.to_ascii_ex = {.vkey = 'Q', .vsc = 0xc010},
.to_ascii_ex = {.vkey = VK_RETURN, .vsc = 0xc01c},
},
{0},
};
@ -7240,12 +7240,12 @@ static void test_ImmTranslateMessage( BOOL kbd_char_first )
ignore_WM_IME_NOTIFY = TRUE;
ignore_IME_NOTIFY = TRUE;
keybd_event( 'Q', 0x10, 0, 0 );
keybd_event( VK_RETURN, 0x1c, 0, 0 );
flush_events();
process_messages_( hwnd );
ok_seq( key_down_seq );
keybd_event( 'Q', 0x10, KEYEVENTF_KEYUP, 0 );
keybd_event( VK_RETURN, 0x1c, KEYEVENTF_KEYUP, 0 );
flush_events();
process_messages_( hwnd );
ok_seq( key_up_seq );
@ -7500,6 +7500,9 @@ static void test_ga_na_da(void)
ok( !!hwnd, "CreateWindowW failed, error %lu\n", GetLastError() );
flush_events();
ignore_WM_IME_NOTIFY = TRUE;
ignore_IME_NOTIFY = TRUE;
himc = ImmCreateContext();
ok_ne( NULL, himc, HIMC, "%p" );
ctx = ImmLockIMC( himc );
@ -7508,6 +7511,15 @@ static void test_ga_na_da(void)
ok_ret( 1, ImmSetOpenStatus( himc, TRUE ) );
ok_ret( 1, ImmSetConversionStatus( himc, IME_CMODE_FULLSHAPE | IME_CMODE_NATIVE, IME_SMODE_PHRASEPREDICT ) );
flush_events();
keybd_event( 'R', 0x13, 0, 0 );
flush_events();
keybd_event( 'R', 0x13, KEYEVENTF_KEYUP, 0 );
keybd_event( VK_RETURN, 0x1c, 0, 0 );
flush_events();
keybd_event( VK_RETURN, 0x1c, KEYEVENTF_KEYUP, 0 );
flush_events();
memset( ime_calls, 0, sizeof(ime_calls) );
ime_call_count = 0;
@ -7608,9 +7620,6 @@ static void test_ga_na_da(void)
todo_wine ok_seq( partial_return_seq );
ignore_WM_IME_NOTIFY = TRUE;
ignore_IME_NOTIFY = TRUE;
/* cancelling clears the composition string */
keybd_event( 'R', 0x13, 0, 0 );
@ -8033,6 +8042,12 @@ START_TEST(imm32)
test_ImmEnumInputContext();
/* run these before installing the custom IME, sometimes it takes a moment
* to uninstall and the default IME doesn't activate immediately
*/
test_ga_na_da();
test_nihongo_no();
test_ImmInstallIME();
wineime_hkl = ime_install();
@ -8084,9 +8099,6 @@ START_TEST(imm32)
if (wineime_hkl) ime_cleanup( wineime_hkl, TRUE );
test_ga_na_da();
test_nihongo_no();
if (init())
{
test_ImmNotifyIME();