Jacek Caban : vbscript: Added more parameterized assignment tests.

Alexandre Julliard julliard at winehq.org
Tue Jul 3 10:58:27 CDT 2012


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Tue Jul  3 17:05:04 2012 +0200

vbscript: Added more parameterized assignment tests.

---

 dlls/vbscript/tests/run.c |   46 +++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 44 insertions(+), 2 deletions(-)

diff --git a/dlls/vbscript/tests/run.c b/dlls/vbscript/tests/run.c
index 861ec7b..e52e5ba 100644
--- a/dlls/vbscript/tests/run.c
+++ b/dlls/vbscript/tests/run.c
@@ -63,6 +63,8 @@ DEFINE_EXPECT(testobj_propput_d);
 DEFINE_EXPECT(testobj_propput_i);
 DEFINE_EXPECT(global_propargput_d);
 DEFINE_EXPECT(global_propargput_i);
+DEFINE_EXPECT(global_propargput1_d);
+DEFINE_EXPECT(global_propargput1_i);
 
 #define DISPID_GLOBAL_REPORTSUCCESS 1000
 #define DISPID_GLOBAL_TRACE         1001
@@ -74,8 +76,9 @@ DEFINE_EXPECT(global_propargput_i);
 #define DISPID_GLOBAL_ISNULLDISP    1007
 #define DISPID_GLOBAL_TESTDISP      1008
 #define DISPID_GLOBAL_REFOBJ        1009
-#define DISPID_GLOBAL_PROPARGPUT    1010
-#define DISPID_GLOBAL_COUNTER       1011
+#define DISPID_GLOBAL_COUNTER       1010
+#define DISPID_GLOBAL_PROPARGPUT    1011
+#define DISPID_GLOBAL_PROPARGPUT1   1012
 
 #define DISPID_TESTOBJ_PROPGET      2000
 #define DISPID_TESTOBJ_PROPPUT      2001
@@ -609,6 +612,12 @@ static HRESULT WINAPI Global_GetDispID(IDispatchEx *iface, BSTR bstrName, DWORD
         *pid = DISPID_GLOBAL_PROPARGPUT;
         return S_OK;
     }
+    if(!strcmp_wa(bstrName, "propargput1")) {
+        CHECK_EXPECT(global_propargput1_d);
+        test_grfdex(grfdex, fdexNameCaseInsensitive);
+        *pid = DISPID_GLOBAL_PROPARGPUT1;
+        return S_OK;
+    }
     if(!strcmp_wa(bstrName, "counter")) {
         test_grfdex(grfdex, fdexNameCaseInsensitive);
         *pid = DISPID_GLOBAL_COUNTER;
@@ -819,6 +828,27 @@ static HRESULT WINAPI Global_InvokeEx(IDispatchEx *iface, DISPID id, LCID lcid,
         ok(V_I2(pdp->rgvarg+2) == 1, "V_I2(psp->rgvargs+2) = %d\n", V_I2(pdp->rgvarg+2));
         return S_OK;
 
+    case DISPID_GLOBAL_PROPARGPUT1:
+        CHECK_EXPECT(global_propargput1_i);
+
+        ok(wFlags == DISPATCH_PROPERTYPUT, "wFlags = %x\n", wFlags);
+        ok(pdp != NULL, "pdp == NULL\n");
+        ok(pdp->rgvarg != NULL, "rgvarg == NULL\n");
+        ok(pdp->rgdispidNamedArgs != NULL, "rgdispidNamedArgs == NULL\n");
+        ok(pdp->cArgs == 2, "cArgs = %d\n", pdp->cArgs);
+        ok(pdp->cNamedArgs == 1, "cNamedArgs = %d\n", pdp->cNamedArgs);
+        ok(pdp->rgdispidNamedArgs[0] == DISPID_PROPERTYPUT, "pdp->rgdispidNamedArgs[0] = %d\n", pdp->rgdispidNamedArgs[0]);
+        ok(!pvarRes, "pvarRes != NULL\n");
+        ok(pei != NULL, "pei == NULL\n");
+
+        ok(V_VT(pdp->rgvarg) == VT_I2, "V_VT(psp->rgvargs) = %d\n", V_VT(pdp->rgvarg));
+        ok(V_I2(pdp->rgvarg) == 0, "V_I2(psp->rgvargs) = %d\n", V_I2(pdp->rgvarg));
+
+        ok(V_VT(pdp->rgvarg+1) == VT_I2, "V_VT(psp->rgvargs+1) = %d\n", V_VT(pdp->rgvarg+1));
+        ok(V_I2(pdp->rgvarg+1) == 1, "V_I2(psp->rgvargs+1) = %d\n", V_I2(pdp->rgvarg+1));
+
+        return S_OK;
+
     case DISPID_GLOBAL_COUNTER:
         ok(pdp != NULL, "pdp == NULL\n");
         todo_wine ok(pdp->rgvarg != NULL, "rgvarg == NULL\n");
@@ -1294,6 +1324,18 @@ static void run_tests(void)
     CHECK_CALLED(global_propargput_d);
     CHECK_CALLED(global_propargput_i);
 
+    SET_EXPECT(global_propargput1_d);
+    SET_EXPECT(global_propargput1_i);
+    parse_script_a("propargput1 (counter()) = counter()");
+    CHECK_CALLED(global_propargput1_d);
+    CHECK_CALLED(global_propargput1_i);
+
+    SET_EXPECT(global_propargput1_d);
+    SET_EXPECT(global_propargput1_i);
+    parse_script_a("test.propargput1(counter()) = counter()");
+    CHECK_CALLED(global_propargput1_d);
+    CHECK_CALLED(global_propargput1_i);
+
     parse_script_a("x = 1\n Call ok(x = 1, \"x = \" & x)");
 
     parse_script_a("x = _    \n3");




More information about the wine-cvs mailing list