[IMM32_APITEST] Follow-up of #4876 (7355810)

CORE-11700
This commit is contained in:
Katayama Hirofumi MZ 2022-11-14 22:02:17 +09:00
parent 73558102e7
commit 2628309baf

View file

@ -13,6 +13,7 @@ static INT s_nCounter = 0;
static HIMC s_hImc1 = NULL; static HIMC s_hImc1 = NULL;
static HIMC s_hImc2 = NULL; static HIMC s_hImc2 = NULL;
static HIMC s_hImc3 = NULL; static HIMC s_hImc3 = NULL;
static HIMC s_hImc4 = NULL;
static BOOL CALLBACK static BOOL CALLBACK
ImcEnumProc(HIMC hImc, LPARAM lParam) ImcEnumProc(HIMC hImc, LPARAM lParam)
@ -42,23 +43,29 @@ ImcEnumProc(HIMC hImc, LPARAM lParam)
break; break;
case 5: case 5:
ok_long((LONG)lParam, 0xDEADBEEF); ok_long((LONG)lParam, 0xDEADBEEF);
s_hImc3 = hImc;
ok(hImc != s_hImc1, "hImc was %p, s_hImc1 was %p\n", hImc, s_hImc1); ok(hImc != s_hImc1, "hImc was %p, s_hImc1 was %p\n", hImc, s_hImc1);
ok(hImc != s_hImc2, "hImc was %p, s_hImc2 was %p\n", hImc, s_hImc2);
break; break;
case 6: case 6:
ok_long((LONG)lParam, 0xBEEFCAFE); ok_long((LONG)lParam, 0xBEEFCAFE);
ok(hImc != s_hImc1, "hImc was %p, s_hImc1 was %p\n", hImc, s_hImc1); ok(hImc == s_hImc3, "hImc was %p, s_hImc3 was %p\n", hImc, s_hImc3);
ok(hImc != s_hImc2, "hImc was %p, s_hImc2 was %p\n", hImc, s_hImc2);
break; break;
case 7: case 7:
ok_long((LONG)lParam, 0xDEADFACE); ok_long((LONG)lParam, 0xDEADFACE);
ok(hImc != s_hImc1, "hImc was %p, s_hImc1 was %p\n", hImc, s_hImc1); ok(hImc == s_hImc3, "hImc was %p, s_hImc3 was %p\n", hImc, s_hImc3);
ok(hImc != s_hImc2, "hImc was %p, s_hImc2 was %p\n", hImc, s_hImc2);
break; break;
case 8: case 8:
ok_long((LONG)lParam, 0xDEADFACE); ok_long((LONG)lParam, 0xDEADFACE);
ok(hImc == s_hImc4, "hImc was %p, s_hImc4 was %p\n", hImc, s_hImc4);
break;
case 9:
ok_long((LONG)lParam, 0xFEEDF00D);
ok(hImc == s_hImc3, "hImc was %p, s_hImc3 was %p\n", hImc, s_hImc3); ok(hImc == s_hImc3, "hImc was %p, s_hImc3 was %p\n", hImc, s_hImc3);
break; break;
case 10:
ok_long((LONG)lParam, 0xFEEDF00D);
ok(hImc == s_hImc1, "hImc was %p, s_hImc1 was %p\n", hImc, s_hImc1);
break;
default: default:
ok_long(0, 1); ok_long(0, 1);
ok_int(0, 1); ok_int(0, 1);
@ -76,13 +83,16 @@ static DWORD WINAPI AnotherThreadFunc(LPVOID arg)
ok_int(ImmEnumInputContext(GetCurrentThreadId(), ImcEnumProc, 0xBEEFCAFE), TRUE); ok_int(ImmEnumInputContext(GetCurrentThreadId(), ImcEnumProc, 0xBEEFCAFE), TRUE);
ok_int(s_nCounter, 7); ok_int(s_nCounter, 7);
s_hImc3 = ImmCreateContext(); s_hImc4 = ImmCreateContext();
ok_int(ImmEnumInputContext(0, ImcEnumProc, 0xDEADFACE), TRUE); ok_int(ImmEnumInputContext(0, ImcEnumProc, 0xDEADFACE), TRUE);
ok_int(s_nCounter, 9); ok_int(s_nCounter, 9);
ok_int(ImmDestroyContext(s_hImc3), TRUE); ok_int(ImmDestroyContext(s_hImc4), TRUE);
s_hImc3 = NULL; s_hImc4 = NULL;
ok_int(ImmEnumInputContext((DWORD)-1, ImcEnumProc, 0xFEEDF00D), TRUE);
ok_int(s_nCounter, 11);
PostMessageW(s_hwnd, WM_COMMAND, IDYES, 0); PostMessageW(s_hwnd, WM_COMMAND, IDYES, 0);
return 0; return 0;