Jacek Caban : jscript: Added ScriptEngine() implementation.

Alexandre Julliard julliard at winehq.org
Mon Dec 27 10:03:58 CST 2010


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Mon Dec 27 13:37:54 2010 +0100

jscript: Added ScriptEngine() implementation.

---

 dlls/jscript/global.c     |   18 ++++++++++++++++--
 dlls/jscript/tests/api.js |    3 +++
 2 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/dlls/jscript/global.c b/dlls/jscript/global.c
index 81aee50..0d922c8 100644
--- a/dlls/jscript/global.c
+++ b/dlls/jscript/global.c
@@ -706,8 +706,22 @@ static HRESULT JSGlobal_GetObject(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags
 static HRESULT JSGlobal_ScriptEngine(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, DISPPARAMS *dp,
         VARIANT *retv, jsexcept_t *ei, IServiceProvider *sp)
 {
-    FIXME("\n");
-    return E_NOTIMPL;
+    static const WCHAR JScriptW[] = {'J','S','c','r','i','p','t',0};
+
+    TRACE("\n");
+
+    if(retv) {
+        BSTR ret;
+
+        ret = SysAllocString(JScriptW);
+        if(!ret)
+            return E_OUTOFMEMORY;
+
+        V_VT(retv) = VT_BSTR;
+        V_BSTR(retv) = ret;
+    }
+
+    return S_OK;
 }
 
 static HRESULT JSGlobal_ScriptEngineMajorVersion(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, DISPPARAMS *dp,
diff --git a/dlls/jscript/tests/api.js b/dlls/jscript/tests/api.js
index ba5235d..aed6c84 100644
--- a/dlls/jscript/tests/api.js
+++ b/dlls/jscript/tests/api.js
@@ -18,6 +18,9 @@
 
 var tmp, i;
 
+ok(ScriptEngine() === "JScript", "ScriptEngine() = " + ScriptEngine());
+ok(ScriptEngine(3) === "JScript", "ScriptEngine(3) = " + ScriptEngine(3));
+
 i = parseInt("0");
 ok(i === 0, "parseInt('0') = " + i);
 i = parseInt("123");




More information about the wine-cvs mailing list