Jacek Caban : vbscript: Added support for more builtin constants.

Alexandre Julliard julliard at winehq.org
Tue Oct 30 13:27:36 CDT 2012


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Tue Oct 30 10:32:01 2012 +0100

vbscript: Added support for more builtin constants.

---

 dlls/vbscript/global.c      |  136 +++++-------------------------------------
 dlls/vbscript/tests/api.vbs |   22 +++++++
 2 files changed, 39 insertions(+), 119 deletions(-)

diff --git a/dlls/vbscript/global.c b/dlls/vbscript/global.c
index fa2d64f..900242b 100644
--- a/dlls/vbscript/global.c
+++ b/dlls/vbscript/global.c
@@ -1680,108 +1680,6 @@ static HRESULT Global_vbNo(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARI
     return return_short(res, IDNO);
 }
 
-static HRESULT Global_vbEmpty(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
-{
-    FIXME("\n");
-    return E_NOTIMPL;
-}
-
-static HRESULT Global_vbNull(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
-{
-    FIXME("\n");
-    return E_NOTIMPL;
-}
-
-static HRESULT Global_vbInteger(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
-{
-    FIXME("\n");
-    return E_NOTIMPL;
-}
-
-static HRESULT Global_vbLong(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
-{
-    FIXME("\n");
-    return E_NOTIMPL;
-}
-
-static HRESULT Global_vbSingle(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
-{
-    FIXME("\n");
-    return E_NOTIMPL;
-}
-
-static HRESULT Global_vbDouble(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
-{
-    FIXME("\n");
-    return E_NOTIMPL;
-}
-
-static HRESULT Global_vbCurrency(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
-{
-    FIXME("\n");
-    return E_NOTIMPL;
-}
-
-static HRESULT Global_vbDate(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
-{
-    FIXME("\n");
-    return E_NOTIMPL;
-}
-
-static HRESULT Global_vbString(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
-{
-    FIXME("\n");
-    return E_NOTIMPL;
-}
-
-static HRESULT Global_vbObject(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
-{
-    FIXME("\n");
-    return E_NOTIMPL;
-}
-
-static HRESULT Global_vbError(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
-{
-    FIXME("\n");
-    return E_NOTIMPL;
-}
-
-static HRESULT Global_vbBoolean(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
-{
-    FIXME("\n");
-    return E_NOTIMPL;
-}
-
-static HRESULT Global_vbVariant(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
-{
-    FIXME("\n");
-    return E_NOTIMPL;
-}
-
-static HRESULT Global_vbDataObject(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
-{
-    FIXME("\n");
-    return E_NOTIMPL;
-}
-
-static HRESULT Global_vbDecimal(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
-{
-    FIXME("\n");
-    return E_NOTIMPL;
-}
-
-static HRESULT Global_vbByte(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
-{
-    FIXME("\n");
-    return E_NOTIMPL;
-}
-
-static HRESULT Global_vbArray(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
-{
-    FIXME("\n");
-    return E_NOTIMPL;
-}
-
 static HRESULT Global_vbTrue(vbdisp_t *This, VARIANT *arg, unsigned args_cnt, VARIANT *res)
 {
     FIXME("\n");
@@ -2016,23 +1914,23 @@ static const builtin_prop_t global_props[] = {
     {DISPID_GLOBAL_VBIGNORE,           Global_vbIgnore, BP_GET},
     {DISPID_GLOBAL_VBYES,              Global_vbYes, BP_GET},
     {DISPID_GLOBAL_VBNO,               Global_vbNo, BP_GET},
-    {DISPID_GLOBAL_VBEMPTY,            Global_vbEmpty, BP_GET},
-    {DISPID_GLOBAL_VBNULL,             Global_vbNull, BP_GET},
-    {DISPID_GLOBAL_VBINTEGER,          Global_vbInteger, BP_GET},
-    {DISPID_GLOBAL_VBLONG,             Global_vbLong, BP_GET},
-    {DISPID_GLOBAL_VBSINGLE,           Global_vbSingle, BP_GET},
-    {DISPID_GLOBAL_VBDOUBLE,           Global_vbDouble, BP_GET},
-    {DISPID_GLOBAL_VBCURRENCY,         Global_vbCurrency, BP_GET},
-    {DISPID_GLOBAL_VBDATE,             Global_vbDate, BP_GET},
-    {DISPID_GLOBAL_VBSTRING,           Global_vbString, BP_GET},
-    {DISPID_GLOBAL_VBOBJECT,           Global_vbObject, BP_GET},
-    {DISPID_GLOBAL_VBERROR,            Global_vbError, BP_GET},
-    {DISPID_GLOBAL_VBBOOLEAN,          Global_vbBoolean, BP_GET},
-    {DISPID_GLOBAL_VBVARIANT,          Global_vbVariant, BP_GET},
-    {DISPID_GLOBAL_VBDATAOBJECT,       Global_vbDataObject, BP_GET},
-    {DISPID_GLOBAL_VBDECIMAL,          Global_vbDecimal, BP_GET},
-    {DISPID_GLOBAL_VBBYTE,             Global_vbByte, BP_GET},
-    {DISPID_GLOBAL_VBARRAY,            Global_vbArray, BP_GET},
+    {DISPID_GLOBAL_VBEMPTY,            NULL, BP_GET, VT_EMPTY},
+    {DISPID_GLOBAL_VBNULL,             NULL, BP_GET, VT_NULL},
+    {DISPID_GLOBAL_VBINTEGER,          NULL, BP_GET, VT_I2},
+    {DISPID_GLOBAL_VBLONG,             NULL, BP_GET, VT_I4},
+    {DISPID_GLOBAL_VBSINGLE,           NULL, BP_GET, VT_R4},
+    {DISPID_GLOBAL_VBDOUBLE,           NULL, BP_GET, VT_R8},
+    {DISPID_GLOBAL_VBCURRENCY,         NULL, BP_GET, VT_CY},
+    {DISPID_GLOBAL_VBDATE,             NULL, BP_GET, VT_DATE},
+    {DISPID_GLOBAL_VBSTRING,           NULL, BP_GET, VT_BSTR},
+    {DISPID_GLOBAL_VBOBJECT,           NULL, BP_GET, VT_DISPATCH},
+    {DISPID_GLOBAL_VBERROR,            NULL, BP_GET, VT_ERROR},
+    {DISPID_GLOBAL_VBBOOLEAN,          NULL, BP_GET, VT_BOOL},
+    {DISPID_GLOBAL_VBVARIANT,          NULL, BP_GET, VT_VARIANT},
+    {DISPID_GLOBAL_VBDATAOBJECT,       NULL, BP_GET, VT_UNKNOWN},
+    {DISPID_GLOBAL_VBDECIMAL,          NULL, BP_GET, VT_DECIMAL},
+    {DISPID_GLOBAL_VBBYTE,             NULL, BP_GET, VT_UI1},
+    {DISPID_GLOBAL_VBARRAY,            NULL, BP_GET, VT_ARRAY},
     {DISPID_GLOBAL_VBTRUE,             Global_vbTrue, BP_GET},
     {DISPID_GLOBAL_VBFALSE,            Global_vbFalse, BP_GET},
     {DISPID_GLOBAL_VBUSEDEFAULT,       Global_vbUseDefault, BP_GET},
diff --git a/dlls/vbscript/tests/api.vbs b/dlls/vbscript/tests/api.vbs
index e986362..2cb7fe0 100644
--- a/dlls/vbscript/tests/api.vbs
+++ b/dlls/vbscript/tests/api.vbs
@@ -38,6 +38,28 @@ Call ok(getVT(vbFriday) = "VT_I2", "getVT(vbFriday) = " & getVT(vbFriday))
 Call ok(vbSaturday = 7, "vbSaturday = " & vbSaturday)
 Call ok(getVT(vbSaturday) = "VT_I2", "getVT(vbSaturday) = " & getVT(vbSaturday))
 
+Sub TestConstant(name, val, exval)
+    Call ok(val = exval, name & " =  " & val & " expected " & exval)
+    Call ok(getVT(val) = "VT_I2*", "getVT(" & name & ") = " & getVT(val))
+End Sub
+
+TestConstant "vbEmpty", vbEmpty, 0
+TestConstant "vbNull", vbNull, 1
+TestConstant "vbLong", vbLong, 3
+TestConstant "vbSingle", vbSingle, 4
+TestConstant "vbDouble", vbDouble, 5
+TestConstant "vbCurrency", vbCurrency, 6
+TestConstant "vbDate", vbDate, 7
+TestConstant "vbString", vbString, 8
+TestConstant "vbObject", vbObject, 9
+TestConstant "vbError", vbError, 10
+TestConstant "vbBoolean", vbBoolean, 11
+TestConstant "vbVariant", vbVariant, 12
+TestConstant "vbDataObject", vbDataObject, 13
+TestConstant "vbDecimal", vbDecimal, 14
+TestConstant "vbByte", vbByte, 17
+TestConstant "vbArray", vbArray, 8192
+
 Sub TestCStr(arg, exval)
     dim x
     x = CStr(arg)




More information about the wine-cvs mailing list