jscript: Added null and undefined values support to to_object.
This commit is contained in:
parent
c092d82500
commit
99d1a8529b
|
@ -820,6 +820,10 @@ HRESULT to_object(script_ctx_t *ctx, jsval_t val, IDispatch **disp)
|
||||||
|
|
||||||
*disp = to_disp(dispex);
|
*disp = to_disp(dispex);
|
||||||
break;
|
break;
|
||||||
|
case JSV_UNDEFINED:
|
||||||
|
case JSV_NULL:
|
||||||
|
WARN("object expected\n");
|
||||||
|
return throw_type_error(ctx, JS_E_OBJECT_EXPECTED, NULL);
|
||||||
case JSV_VARIANT:
|
case JSV_VARIANT:
|
||||||
switch(V_VT(get_variant(val))) {
|
switch(V_VT(get_variant(val))) {
|
||||||
case VT_ARRAY|VT_VARIANT:
|
case VT_ARRAY|VT_VARIANT:
|
||||||
|
@ -835,9 +839,6 @@ HRESULT to_object(script_ctx_t *ctx, jsval_t val, IDispatch **disp)
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
|
||||||
FIXME("unsupported %s\n", debugstr_jsval(val));
|
|
||||||
return E_NOTIMPL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
|
|
|
@ -2300,6 +2300,8 @@ testException(function() {+nullDisp.prop;}, "E_OBJECT_REQUIRED");
|
||||||
testException(function() {+nullDisp["prop"];}, "E_OBJECT_REQUIRED");
|
testException(function() {+nullDisp["prop"];}, "E_OBJECT_REQUIRED");
|
||||||
testException(function() {delete (new Object());}, "E_INVALID_DELETE");
|
testException(function() {delete (new Object());}, "E_INVALID_DELETE");
|
||||||
testException(function() {delete false;}, "E_INVALID_DELETE");
|
testException(function() {delete false;}, "E_INVALID_DELETE");
|
||||||
|
testException(function() {undefined.toString();}, "E_OBJECT_EXPECTED");
|
||||||
|
testException(function() {null.toString();}, "E_OBJECT_EXPECTED");
|
||||||
|
|
||||||
obj = new Object();
|
obj = new Object();
|
||||||
obj.prop = 1;
|
obj.prop = 1;
|
||||||
|
|
Loading…
Reference in New Issue