From b5b52371d1776b9fb0b44b7583e65fb0ddfbd757 Mon Sep 17 00:00:00 2001 From: Qian Hong Date: Mon, 12 Aug 2013 22:10:42 +0800 Subject: [PATCH] imm32/tests: Added more IMC lock count tests. --- dlls/imm32/tests/imm32.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/dlls/imm32/tests/imm32.c b/dlls/imm32/tests/imm32.c index 0a511e6b020..13b9bc119d8 100644 --- a/dlls/imm32/tests/imm32.c +++ b/dlls/imm32/tests/imm32.c @@ -691,7 +691,7 @@ static void test_ImmDefaultHwnd(void) static void test_ImmGetIMCLockCount(void) { HIMC imc; - DWORD count, ret; + DWORD count, ret, i; INPUTCONTEXT *ic; imc = ImmCreateContext(); @@ -709,6 +709,23 @@ static void test_ImmGetIMCLockCount(void) ok(ret == TRUE, "expect TRUE, ret %d\n", ret); count = ImmGetIMCLockCount(imc); ok(count == 0, "expect 0, returned %d\n", count); + + for (i = 0; i < GMEM_LOCKCOUNT * 2; i++) + { + ic = ImmLockIMC(imc); + ok(ic != NULL, "ImmLockIMC failed!\n"); + } + count = ImmGetIMCLockCount(imc); + todo_wine ok(count == GMEM_LOCKCOUNT, "expect GMEM_LOCKCOUNT, returned %d\n", count); + + for (i = 0; i < GMEM_LOCKCOUNT - 1; i++) + ImmUnlockIMC(imc); + count = ImmGetIMCLockCount(imc); + todo_wine ok(count == 1, "expect 1, returned %d\n", count); + ImmUnlockIMC(imc); + count = ImmGetIMCLockCount(imc); + todo_wine ok(count == 0, "expect 0, returned %d\n", count); + ImmDestroyContext(imc); }