Jacek Caban : jscript: Added Number function implementation.

Alexandre Julliard julliard at winehq.org
Mon Sep 22 07:04:06 CDT 2008


Module: wine
Branch: master
Commit: 53e831e2cb62fda468bf63c02ece2d31de5428d2
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=53e831e2cb62fda468bf63c02ece2d31de5428d2

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Sun Sep 21 15:37:57 2008 +0200

jscript: Added Number function implementation.

---

 dlls/jscript/number.c     |   17 +++++++++++++++++
 dlls/jscript/tests/api.js |    4 ++++
 2 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/dlls/jscript/number.c b/dlls/jscript/number.c
index 5106deb..4ace40b 100644
--- a/dlls/jscript/number.c
+++ b/dlls/jscript/number.c
@@ -167,6 +167,23 @@ static HRESULT NumberConstr_value(DispatchEx *dispex, LCID lcid, WORD flags, DIS
     TRACE("\n");
 
     switch(flags) {
+    case INVOKE_FUNC:
+        if(!arg_cnt(dp)) {
+            if(retv) {
+                V_VT(retv) = VT_I4;
+                V_I4(retv) = 0;
+            }
+            return S_OK;
+        }
+
+        hres = to_number(dispex->ctx, get_arg(dp, 0), ei, &num);
+        if(FAILED(hres))
+            return hres;
+
+        if(retv)
+            *retv = num;
+        break;
+
     case DISPATCH_CONSTRUCT: {
         DispatchEx *obj;
 
diff --git a/dlls/jscript/tests/api.js b/dlls/jscript/tests/api.js
index 2e426be..ecc6da4 100644
--- a/dlls/jscript/tests/api.js
+++ b/dlls/jscript/tests/api.js
@@ -89,4 +89,8 @@ ok(num.toString() === "2", "num(2).toString !== 2");
 var num = new Number();
 ok(num.toString() === "0", "num().toString !== 0");
 
+ok(Number() === 0, "Number() = " + Number());
+ok(Number(false) === 0, "Number(false) = " + Number(false));
+ok(Number("43") === 43, "Number('43') = " + Number("43"));
+
 reportSuccess();




More information about the wine-cvs mailing list