Mike McCormack : msi: Add a test for the version method.
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Feb 7 16:00:05 CST 2007
Module: wine
Branch: master
Commit: 3ca5f8bbf99b311792cb1b6a4d706376c88b5b9a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=3ca5f8bbf99b311792cb1b6a4d706376c88b5b9a
Author: Mike McCormack <mike at codeweavers.com>
Date: Wed Feb 7 20:21:11 2007 +0900
msi: Add a test for the version method.
---
dlls/msi/tests/iface.c | 39 +++++++++++++++++++++++++++------------
1 files changed, 27 insertions(+), 12 deletions(-)
diff --git a/dlls/msi/tests/iface.c b/dlls/msi/tests/iface.c
index 9a0742b..8a18e34 100644
--- a/dlls/msi/tests/iface.c
+++ b/dlls/msi/tests/iface.c
@@ -170,32 +170,47 @@ static void test_msi_invoke(void)
r = IDispatch_Invoke( installer, dispid, &IID_NULL, 0,
DISPATCH_METHOD, ¶m, &result, NULL, NULL);
todo_wine ok( r == S_OK, "dispatch failed %08x\n", r);
- if (FAILED(r))
+ if (SUCCEEDED(r))
{
- skip( "failed to create record\n");
- return;
- }
+ ok( V_VT(&result) == VT_DISPATCH, "type wrong\n");
+
+ record = V_DISPATCH(&result);
- ok( V_VT(&result) == VT_DISPATCH, "type wrong\n");
+ memset( &result, 0, sizeof result );
+ dispid = get_dispid( record, "FieldCount" );
- record = V_DISPATCH(&result);
+ param.cArgs = 0;
+ param.cNamedArgs = 0;
+ param.rgvarg = &varg;
+ param.rgdispidNamedArgs = &arg;
+
+ r = IDispatch_Invoke( record, dispid, &IID_NULL, 0,
+ DISPATCH_PROPERTYGET, ¶m, &result, NULL, NULL );
+ ok( r == S_OK, "dispatch failed %08x\n", r);
+
+ ok( V_VT(&result) == VT_I4, "type wrong\n");
+ ok( V_I4(&result) == 1, "field count wrong\n");
+
+ IDispatch_Release( record );
+ }
+ else
+ skip( "failed to create record\n");
memset( &result, 0, sizeof result );
- dispid = get_dispid( record, "FieldCount" );
+ dispid = get_dispid( installer, "Version" );
param.cArgs = 0;
param.cNamedArgs = 0;
param.rgvarg = &varg;
param.rgdispidNamedArgs = &arg;
- r = IDispatch_Invoke( record, dispid, &IID_NULL, 0,
+ r = IDispatch_Invoke( installer, dispid, &IID_NULL, 0,
DISPATCH_PROPERTYGET, ¶m, &result, NULL, NULL );
+ todo_wine {
ok( r == S_OK, "dispatch failed %08x\n", r);
+ ok( V_VT(&result) == VT_BSTR, "type wrong %d\n", V_VT(&result));
+ }
- ok( V_VT(&result) == VT_I4, "type wrong\n");
- ok( V_I4(&result) == 1, "field count wrong\n");
-
- IDispatch_Release( record );
IDispatch_Release( installer );
}
More information about the wine-cvs
mailing list