From 94624ee307e46c952c73e192f9a6d168743cb008 Mon Sep 17 00:00:00 2001 From: Aric Stewart Date: Tue, 21 Apr 2009 11:02:24 -0500 Subject: [PATCH] msctf/tests: Test activation and deactivation of a text service. --- dlls/msctf/tests/inputprocessor.c | 32 +++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/dlls/msctf/tests/inputprocessor.c b/dlls/msctf/tests/inputprocessor.c index 4fd61b510db..62c93d73f0e 100644 --- a/dlls/msctf/tests/inputprocessor.c +++ b/dlls/msctf/tests/inputprocessor.c @@ -33,6 +33,11 @@ static ITfInputProcessorProfiles* g_ipp; static LANGID gLangid; static ITfCategoryMgr * g_cm = NULL; static ITfThreadMgr* g_tm = NULL; +static TfClientId cid = 0; +static TfClientId tid = 0; + +static BOOL test_ShouldActivate = FALSE; +static BOOL test_ShouldDeactivate = FALSE; static DWORD tmSinkCookie; static DWORD tmSinkRefCount; @@ -240,6 +245,27 @@ static void test_ThreadMgrUnadviseSinks(void) ITfSource_Release(source); } +static void test_Activate(void) +{ + HRESULT hr; + + hr = ITfInputProcessorProfiles_ActivateLanguageProfile(g_ipp,&CLSID_FakeService,gLangid,&CLSID_FakeService); + todo_wine ok(SUCCEEDED(hr),"Failed to Activate text service\n"); +} + +static void test_startSession(void) +{ + test_ShouldActivate = TRUE; + ITfThreadMgr_Activate(g_tm,&cid); + todo_wine ok(cid != tid,"TextService id mistakenly matches Client id\n"); +} + +static void test_endSession(void) +{ + test_ShouldDeactivate = TRUE; + ITfThreadMgr_Deactivate(g_tm); +} + START_TEST(inputprocessor) { if (SUCCEEDED(initialize())) @@ -250,6 +276,9 @@ START_TEST(inputprocessor) test_EnumInputProcessorInfo(); test_Enable(); test_ThreadMgrAdviseSinks(); + test_Activate(); + test_startSession(); + test_endSession(); test_EnumLanguageProfiles(); test_FindClosestCategory(); test_Disable(); @@ -527,12 +556,15 @@ static HRESULT WINAPI TextService_Activate(ITfTextInputProcessor *iface, ITfThreadMgr *ptim, TfClientId id) { trace("TextService_Activate\n"); + ok(test_ShouldActivate,"Activation came unexpectedly\n"); + tid = id; return S_OK; } static HRESULT WINAPI TextService_Deactivate(ITfTextInputProcessor *iface) { trace("TextService_Deactivate\n"); + ok(test_ShouldDeactivate,"Deactivation came unexpectedly\n"); return S_OK; }