Module: wine Branch: master Commit: 3a1698ff06069cbf2397ca6a80eaa3869403c803 URL: http://source.winehq.org/git/wine.git/?a=commit;h=3a1698ff06069cbf2397ca6a80...
Author: Piotr Caban piotr.caban@gmail.com Date: Tue Jul 7 14:07:47 2009 +0200
jscript: Added Object_valueOf implementation.
---
dlls/jscript/object.c | 12 ++++++++++-- dlls/jscript/tests/api.js | 3 +++ 2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/dlls/jscript/object.c b/dlls/jscript/object.c index 9474bc4..f2e3956 100644 --- a/dlls/jscript/object.c +++ b/dlls/jscript/object.c @@ -49,8 +49,16 @@ static HRESULT Object_toLocaleString(DispatchEx *dispex, LCID lcid, WORD flags, static HRESULT Object_valueOf(DispatchEx *dispex, LCID lcid, WORD flags, DISPPARAMS *dp, VARIANT *retv, jsexcept_t *ei, IServiceProvider *sp) { - FIXME("\n"); - return E_NOTIMPL; + TRACE("\n"); + + if(retv) { + IDispatchEx_AddRef(_IDispatchEx_(dispex)); + + V_VT(retv) = VT_DISPATCH; + V_DISPATCH(retv) = (IDispatch*)_IDispatchEx_(dispex); + } + + return S_OK; }
static HRESULT Object_hasOwnProperty(DispatchEx *dispex, LCID lcid, WORD flags, DISPPARAMS *dp, diff --git a/dlls/jscript/tests/api.js b/dlls/jscript/tests/api.js index 23a4ad5..7075aec 100644 --- a/dlls/jscript/tests/api.js +++ b/dlls/jscript/tests/api.js @@ -439,6 +439,9 @@ ok(arr.sort() === arr, "arr.sort() !== arr"); for(var i=0; i < arr.length; i++) ok(arr[i] === tmp[i], "arr[" + i + "] = " + arr[i] + " expected " + tmp[i]);
+ok(arr.valueOf === Object.prototype.valueOf, "arr.valueOf !== Object.prototype.valueOf"); +ok(arr === arr.valueOf(), "arr !== arr.valueOf"); + var num = new Number(6); arr = [0,1,2]; tmp = arr.concat(3, [4,5], num);