From fdc4d40d18231d5297e7b34c00ac7aeaba26644f Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Fri, 10 May 2013 10:42:35 +0200 Subject: [PATCH] ole32: Added more default handler QueryInterface tests. --- dlls/ole32/tests/defaulthandler.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/dlls/ole32/tests/defaulthandler.c b/dlls/ole32/tests/defaulthandler.c index 5da7ced074a..e524f97a78e 100644 --- a/dlls/ole32/tests/defaulthandler.c +++ b/dlls/ole32/tests/defaulthandler.c @@ -54,8 +54,15 @@ expect_ ## func = called_ ## func = FALSE; \ }while(0) +#define CHECK_NOT_CALLED(func) \ + do { \ + ok(!called_ ## func, "unexpected " #func "\n"); \ + expect_ ## func = called_ ## func = FALSE; \ + }while(0) + DEFINE_EXPECT(CF_QueryInterface_ClassFactory); DEFINE_EXPECT(CF_CreateInstance); +DEFINE_EXPECT(CF_QueryInterface_IMarshal); static const char *debugstr_guid(REFIID riid) { @@ -178,6 +185,7 @@ static HRESULT WINAPI ClassFactory_QueryInterface(IClassFactory *iface, REFIID r *ppv = iface; return S_OK; }else if(IsEqualGUID(riid, &IID_IMarshal)) { + CHECK_EXPECT(CF_QueryInterface_IMarshal); *ppv = NULL; return E_NOINTERFACE; }else if(IsEqualGUID(riid, &IID_IClassFactory)) { @@ -262,11 +270,15 @@ static void test_default_handler_run(void) ok(hres == REGDB_E_CLASSNOTREG, "Run returned: %x, expected REGDB_E_CLASSNOTREG\n", hres); IRunnableObject_Release(ro); + SET_EXPECT(CF_QueryInterface_IMarshal); CoRevokeClassObject(class_reg); + todo_wine CHECK_CALLED(CF_QueryInterface_IMarshal); + SET_EXPECT(CF_QueryInterface_IMarshal); hres = CoRegisterClassObject(&test_server_clsid, (IUnknown*)&ClassFactory, CLSCTX_LOCAL_SERVER, 0, &class_reg); ok(hres == S_OK, "CoRegisterClassObject failed: %x\n", hres); + todo_wine CHECK_NOT_CALLED(CF_QueryInterface_IMarshal); hres = OleCreateDefaultHandler(&test_server_clsid, NULL, &IID_IUnknown, (void**)&unk); ok(hres == S_OK, "OleCreateDefaultHandler failed: %x\n", hres); @@ -283,7 +295,9 @@ static void test_default_handler_run(void) CHECK_CALLED(CF_CreateInstance); IRunnableObject_Release(ro); + SET_EXPECT(CF_QueryInterface_IMarshal); CoRevokeClassObject(class_reg); + todo_wine CHECK_CALLED(CF_QueryInterface_IMarshal); } START_TEST(defaulthandler) -- 2.11.4.GIT