Jacek Caban : jscript/tests: Add VT_DATE handling tests.
Alexandre Julliard
julliard at winehq.org
Tue Jan 19 15:44:00 CST 2021
Module: wine
Branch: master
Commit: 859783e83b8c70e397b72594e0ce59c96803c3e6
URL: https://source.winehq.org/git/wine.git/?a=commit;h=859783e83b8c70e397b72594e0ce59c96803c3e6
Author: Jacek Caban <jacek at codeweavers.com>
Date: Tue Jan 19 14:33:29 2021 +0100
jscript/tests: Add VT_DATE handling tests.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/jscript/tests/lang.js | 9 +++++++++
dlls/jscript/tests/run.c | 29 +++++++++++++++++++++++++++++
2 files changed, 38 insertions(+)
diff --git a/dlls/jscript/tests/lang.js b/dlls/jscript/tests/lang.js
index be0d0d2fa10..dfe33f2f615 100644
--- a/dlls/jscript/tests/lang.js
+++ b/dlls/jscript/tests/lang.js
@@ -190,6 +190,15 @@ ok(testFunc1.arguments === null, "testFunc1.arguments = " + testFunc1.arguments)
(tmp) = 3;
ok(tmp === 3, "tmp = " + tmp);
+(function() {
+ /* VT_DATE handling */
+ var d, e;
+ ok(getVT(v_date(0)) === "VT_DATE", "vt v_date(0) = " + getVT(v_date(0)));
+ d = v_date(0);
+ e = Date.parse("Sat Dec 30 00:00:00 1899");
+ ok(getVT(d) === "VT_DATE", "vt v_date(0) = " + getVT(d));
+})();
+
function testRecFunc(x) {
ok(testRecFunc.arguments === arguments, "testRecFunc.arguments = " + testRecFunc.arguments);
if(x) {
diff --git a/dlls/jscript/tests/run.c b/dlls/jscript/tests/run.c
index 1deb460f715..7837d5fee4d 100644
--- a/dlls/jscript/tests/run.c
+++ b/dlls/jscript/tests/run.c
@@ -166,6 +166,7 @@ DEFINE_EXPECT(BindHandler);
#define DISPID_GLOBAL_PROPARGPUTOP 0x1020
#define DISPID_GLOBAL_THROWINT 0x1021
#define DISPID_GLOBAL_THROWEI 0x1022
+#define DISPID_GLOBAL_VDATE 0x1023
#define DISPID_GLOBAL_TESTPROPDELETE 0x2000
#define DISPID_GLOBAL_TESTNOPROPDELETE 0x2001
@@ -966,6 +967,11 @@ static HRESULT WINAPI Global_GetDispID(IDispatchEx *iface, BSTR bstrName, DWORD
return S_OK;
}
+ if(!lstrcmpW(bstrName, L"v_date")) {
+ *pid = DISPID_GLOBAL_VDATE;
+ return S_OK;
+ }
+
if(!lstrcmpW(bstrName, L"testArgTypes")) {
*pid = DISPID_GLOBAL_TESTARGTYPES;
return S_OK;
@@ -1161,6 +1167,9 @@ static HRESULT WINAPI Global_InvokeEx(IDispatchEx *iface, DISPID id, LCID lcid,
case VT_ARRAY|VT_VARIANT:
V_BSTR(pvarRes) = SysAllocString(L"VT_ARRAY|VT_VARIANT");
break;
+ case VT_DATE:
+ V_BSTR(pvarRes) = SysAllocString(L"VT_DATE");
+ break;
default:
ok(0, "unknown vt %d\n", V_VT(pdp->rgvarg));
return E_FAIL;
@@ -1507,6 +1516,26 @@ static HRESULT WINAPI Global_InvokeEx(IDispatchEx *iface, DISPID id, LCID lcid,
V_I2(pvarRes) = 10;
return S_OK;
+ case DISPID_GLOBAL_VDATE:
+ ok(wFlags == (DISPATCH_METHOD|DISPATCH_PROPERTYGET), "wFlags = %x\n", wFlags);
+ ok(pdp != NULL, "pdp == NULL\n");
+ ok(pdp->cArgs == 1, "cArgs = %d\n", pdp->cArgs);
+ ok(pvarRes != NULL, "pvarRes != NULL\n");
+ V_VT(pvarRes) = VT_DATE;
+ switch(V_VT(pdp->rgvarg))
+ {
+ case VT_I4:
+ V_DATE(pvarRes) = V_I4(pdp->rgvarg);
+ break;
+ case VT_R8:
+ V_DATE(pvarRes) = V_R8(pdp->rgvarg);
+ break;
+ default:
+ ok(0, "vt = %u\n", V_VT(pdp->rgvarg));
+ return E_INVALIDARG;
+ }
+ return S_OK;
+
case DISPID_GLOBAL_INTPROP:
V_VT(pvarRes) = VT_INT;
V_INT(pvarRes) = 22;
More information about the wine-cvs
mailing list