jscript/tests: Add VT_DATE handling tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
5f8e6137b4
commit
859783e83b
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue