From 6c3e203ba90ae0efa9e3dbe216b666ec3d69b993 Mon Sep 17 00:00:00 2001 From: Vincent Povirk Date: Wed, 16 Sep 2009 11:23:47 -0500 Subject: [PATCH] oleaut32: Add test for HREFTYPE's from inherited methods. --- dlls/oleaut32/tests/tmarshal.idl | 2 +- dlls/oleaut32/tests/typelib.c | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletions(-) diff --git a/dlls/oleaut32/tests/tmarshal.idl b/dlls/oleaut32/tests/tmarshal.idl index f9b18b8..71d53cf 100644 --- a/dlls/oleaut32/tests/tmarshal.idl +++ b/dlls/oleaut32/tests/tmarshal.idl @@ -285,7 +285,7 @@ library TestTypelib ] interface ItestIF7 : ItestIF6 { - [id(0x1236)] HRESULT fn6([in] int a); + [id(0x1236)] HRESULT fn6([in] GUID a); } [ diff --git a/dlls/oleaut32/tests/typelib.c b/dlls/oleaut32/tests/typelib.c index 8b3bf15..01c36c0 100644 --- a/dlls/oleaut32/tests/typelib.c +++ b/dlls/oleaut32/tests/typelib.c @@ -916,6 +916,16 @@ if(use_midl_tlb) { ok(hr == S_OK, "hr %08x\n", hr); ok(pFD->memid == 0x1236, "memid %08x\n", pFD->memid); ok(pFD->oVft == 9 * sizeof(void *), "oVft %d\n", pFD->oVft); + + /* first argument to 10th function is an HREFTYPE from the impl type */ + ok(pFD->cParams == 1, "cParams %i\n", pFD->cParams); + ok(pFD->lprgelemdescParam[0].tdesc.vt == VT_USERDEFINED, + "vt 0x%x\n", pFD->lprgelemdescParam[0].tdesc.vt); + href = U(pFD->lprgelemdescParam[0].tdesc).hreftype; + ok((href & 0xff000000) == 0x04000000, "href 0x%08x\n", href); + hr = ITypeInfo_GetRefTypeInfo(pTI, href, &pTI_p); + todo_wine ok(SUCCEEDED(hr), "hr %08x\n", hr); + if (SUCCEEDED(hr)) ITypeInfo_Release(pTI_p); ITypeInfo_ReleaseFuncDesc(pTI, pFD); } ITypeInfo_Release(pTI); -- 1.5.4.3