Piotr Caban : oleaut32: Add ICreateTypeLib2::SetCustData tests.
Alexandre Julliard
julliard at wine.codeweavers.com
Thu Jan 28 10:06:45 CST 2016
Module: wine
Branch: master
Commit: c2090c88450ef9c2dd316f7b828299bad6553805
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c2090c88450ef9c2dd316f7b828299bad6553805
Author: Piotr Caban <piotr at codeweavers.com>
Date: Wed Jan 27 13:04:36 2016 +0100
oleaut32: Add ICreateTypeLib2::SetCustData tests.
Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/oleaut32/tests/typelib.c | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/dlls/oleaut32/tests/typelib.c b/dlls/oleaut32/tests/typelib.c
index ee8568c..8338719 100644
--- a/dlls/oleaut32/tests/typelib.c
+++ b/dlls/oleaut32/tests/typelib.c
@@ -1667,6 +1667,7 @@ static void test_CreateTypeLib(SYSKIND sys) {
static OLECHAR *names1[] = {func1W, param1W, param2W};
static OLECHAR *names2[] = {func2W, param1W, param2W};
static OLECHAR *propname[] = {prop1W, param1W};
+ static const GUID tlcustguid = {0xbf611abe,0x5b38,0x11df,{0x91,0x5c,0x08,0x02,0x79,0x79,0x94,0x69}};
static const GUID custguid = {0xbf611abe,0x5b38,0x11df,{0x91,0x5c,0x08,0x02,0x79,0x79,0x94,0x70}};
static const GUID bogusguid = {0xbf611abe,0x5b38,0x11df,{0x91,0x5c,0x08,0x02,0x79,0x79,0x94,0x71}};
static const GUID interfaceguid = {0x3b9ff02f,0x9675,0x4861,{0xb7,0x81,0xce,0xae,0xa4,0x78,0x2a,0xcc}};
@@ -1678,6 +1679,7 @@ static void test_CreateTypeLib(SYSKIND sys) {
ICreateTypeInfo *createti;
ICreateTypeInfo2 *createti2;
ITypeLib *tl, *stdole;
+ ITypeLib2 *tl2;
ITypeInfo *interface1, *interface2, *dual, *unknown, *dispatch, *ti;
ITypeInfo *tinfos[2];
ITypeInfo2 *ti2;
@@ -1796,6 +1798,23 @@ static void test_CreateTypeLib(SYSKIND sys) {
SysFreeString(name);
SysFreeString(helpfile);
+ V_VT(&cust_data) = VT_I4;
+ V_I4(&cust_data) = 1;
+ hres = ICreateTypeLib2_SetCustData(createtl, &tlcustguid, &cust_data);
+ ok(hres == S_OK, "got %08x\n", hres);
+
+ hres = ITypeLib_QueryInterface(tl, &IID_ITypeLib2, (void**)&tl2);
+ ok(hres == S_OK, "no ITypeLib2 interface (%x)\n", hres);
+
+ V_VT(&cust_data) = VT_EMPTY;
+ V_I4(&cust_data) = 0;
+ hres = ITypeLib2_GetCustData(tl2, &tlcustguid, &cust_data);
+ ok(hres == S_OK, "got %08x\n", hres);
+ ok(V_VT(&cust_data) == VT_I4, "V_VT(&cust_data) = %d\n", V_VT(&cust_data));
+ ok(V_I4(&cust_data) == 1, "V_I4(&cust_data) = %d\n", V_I4(&cust_data));
+
+ ITypeLib2_Release(tl2);
+
/* invalid parameters */
hres = ICreateTypeLib2_CreateTypeInfo(createtl, NULL, TKIND_INTERFACE, &createti);
ok(hres == E_INVALIDARG, "got %08x\n", hres);
@@ -2860,6 +2879,16 @@ static void test_CreateTypeLib(SYSKIND sys) {
SysFreeString(name);
SysFreeString(helpfile);
+ hres = ITypeLib_QueryInterface(tl, &IID_ITypeLib2, (void**)&tl2);
+ ok(hres == S_OK, "no ITypeLib2 interface (%x)\n", hres);
+ V_VT(&cust_data) = VT_EMPTY;
+ V_I4(&cust_data) = 0;
+ hres = ITypeLib2_GetCustData(tl2, &tlcustguid, &cust_data);
+ ok(hres == S_OK, "got %08x\n", hres);
+ ok(V_VT(&cust_data) == VT_I4, "V_VT(&cust_data) = %d\n", V_VT(&cust_data));
+ ok(V_I4(&cust_data) == 1, "V_I4(&cust_data) = %d\n", V_I4(&cust_data));
+ ITypeLib2_Release(tl2);
+
hres = ITypeLib_GetTypeInfo(tl, 0, &ti);
ok(hres == S_OK, "got %08x\n", hres);
More information about the wine-cvs
mailing list