diff --git a/rostests/winetests/msctf/inputprocessor.c b/rostests/winetests/msctf/inputprocessor.c index 89d1e1a7c64..dfa87318608 100644 --- a/rostests/winetests/msctf/inputprocessor.c +++ b/rostests/winetests/msctf/inputprocessor.c @@ -2186,6 +2186,28 @@ static void test_AssociateFocus(void) sink_check_ok(&test_OnPopContext,"OnPopContext"); } +static void test_profile_mgr(void) +{ + IEnumTfInputProcessorProfiles *enum_profiles; + ITfInputProcessorProfileMgr *ipp_mgr; + HRESULT hres; + + hres = ITfInputProcessorProfiles_QueryInterface(g_ipp, &IID_ITfInputProcessorProfileMgr, (void**)&ipp_mgr); + if (hres != S_OK) + { + win_skip("ITfInputProcessorProfileMgr is not supported.\n"); + return; + } + ok(hres == S_OK, "Could not get ITfInputProcessorProfileMgr iface: %08x\n", hres); + + hres = ITfInputProcessorProfileMgr_EnumProfiles(ipp_mgr, 0, &enum_profiles); + ok(hres == S_OK, "EnumProfiles failed: %08x\n", hres); + + IEnumTfInputProcessorProfiles_Release(enum_profiles); + + ITfInputProcessorProfileMgr_Release(ipp_mgr); +} + START_TEST(inputprocessor) { if (SUCCEEDED(initialize())) @@ -2212,6 +2234,7 @@ START_TEST(inputprocessor) test_ThreadMgrUnadviseSinks(); test_UnregisterCategory(); test_Unregister(); + test_profile_mgr(); } else skip("Unable to create InputProcessor\n");