jscript: Added bool and null to number conversion implementation.
This commit is contained in:
parent
7c6b6c8ca8
commit
1bbc34f2f2
|
@ -219,10 +219,18 @@ HRESULT to_boolean(VARIANT *v, VARIANT_BOOL *b)
|
||||||
HRESULT to_number(script_ctx_t *ctx, VARIANT *v, jsexcept_t *ei, VARIANT *ret)
|
HRESULT to_number(script_ctx_t *ctx, VARIANT *v, jsexcept_t *ei, VARIANT *ret)
|
||||||
{
|
{
|
||||||
switch(V_VT(v)) {
|
switch(V_VT(v)) {
|
||||||
|
case VT_NULL:
|
||||||
|
V_VT(ret) = VT_I4;
|
||||||
|
V_I4(ret) = 0;
|
||||||
|
break;
|
||||||
case VT_I4:
|
case VT_I4:
|
||||||
case VT_R8:
|
case VT_R8:
|
||||||
*ret = *v;
|
*ret = *v;
|
||||||
break;
|
break;
|
||||||
|
case VT_BOOL:
|
||||||
|
V_VT(ret) = VT_I4;
|
||||||
|
V_I4(ret) = V_BOOL(v) ? 1 : 0;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
FIXME("unimplemented for vt %d\n", V_VT(v));
|
FIXME("unimplemented for vt %d\n", V_VT(v));
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
|
|
|
@ -308,6 +308,9 @@ ok(getVT(tmp) === "VT_I4", "getVT(~1) = " + getVT(tmp));
|
||||||
ok((3,4) === 4, "(3,4) !== 4");
|
ok((3,4) === 4, "(3,4) !== 4");
|
||||||
|
|
||||||
ok(+3 === 3, "+3 !== 3");
|
ok(+3 === 3, "+3 !== 3");
|
||||||
|
ok(+true === 1, "+true !== 1");
|
||||||
|
ok(+false === 0, "+false !== 0");
|
||||||
|
ok(+null === 0, "+null !== 0");
|
||||||
|
|
||||||
ok(1 < 3.4, "1 < 3.4 failed");
|
ok(1 < 3.4, "1 < 3.4 failed");
|
||||||
ok(!(3.4 < 1), "3.4 < 1");
|
ok(!(3.4 < 1), "3.4 < 1");
|
||||||
|
|
Loading…
Reference in New Issue