Module: wine Branch: master Commit: 004ad9af10ce1b9f03237f1bb6f529389d5bb632 URL: http://source.winehq.org/git/wine.git/?a=commit;h=004ad9af10ce1b9f03237f1bb6...
Author: Vincent Povirk vincent@codeweavers.com Date: Wed Sep 16 11:23:47 2009 -0500
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 9834d10..e447440 100644 --- a/dlls/oleaut32/tests/typelib.c +++ b/dlls/oleaut32/tests/typelib.c @@ -915,6 +915,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);