Vincent Povirk : oleaut32: Add test for HREFTYPE's from inherited methods.

Alexandre Julliard julliard at winehq.org
Wed Sep 16 16:01:31 CDT 2009


Module: wine
Branch: master
Commit: 004ad9af10ce1b9f03237f1bb6f529389d5bb632
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=004ad9af10ce1b9f03237f1bb6f529389d5bb632

Author: Vincent Povirk <vincent at 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);




More information about the wine-cvs mailing list