Piotr Caban : jscript: Added Object_valueOf implementation.
Alexandre Julliard
julliard at winehq.org
Tue Jul 7 08:08:23 CDT 2009
Module: wine
Branch: master
Commit: 3a1698ff06069cbf2397ca6a80eaa3869403c803
URL: http://source.winehq.org/git/wine.git/?a=commit;h=3a1698ff06069cbf2397ca6a80eaa3869403c803
Author: Piotr Caban <piotr.caban at 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);
More information about the wine-cvs
mailing list