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, &param, &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, &param, &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, &param, &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