Jacek Caban : jscript: Expose RegExpError constructor in global object.

Alexandre Julliard julliard at winehq.org
Mon Jul 16 14:14:29 CDT 2012


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Mon Jul 16 15:31:58 2012 +0200

jscript: Expose RegExpError constructor in global object.

---

 dlls/jscript/global.c      |   10 ++++++++++
 dlls/jscript/tests/api.js  |    1 +
 dlls/jscript/tests/lang.js |    2 +-
 3 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/dlls/jscript/global.c b/dlls/jscript/global.c
index f50debf..23a36eb 100644
--- a/dlls/jscript/global.c
+++ b/dlls/jscript/global.c
@@ -48,6 +48,7 @@ static const WCHAR NumberW[] = {'N','u','m','b','e','r',0};
 static const WCHAR ObjectW[] = {'O','b','j','e','c','t',0};
 static const WCHAR StringW[] = {'S','t','r','i','n','g',0};
 static const WCHAR RegExpW[] = {'R','e','g','E','x','p',0};
+static const WCHAR RegExpErrorW[] = {'R','e','g','E','x','p','E','r','r','o','r',0};
 static const WCHAR ActiveXObjectW[] = {'A','c','t','i','v','e','X','O','b','j','e','c','t',0};
 static const WCHAR VBArrayW[] = {'V','B','A','r','r','a','y',0};
 static const WCHAR EnumeratorW[] = {'E','n','u','m','e','r','a','t','o','r',0};
@@ -172,6 +173,14 @@ static HRESULT JSGlobal_RangeError(script_ctx_t *ctx, vdisp_t *jsthis, WORD flag
     return constructor_call(ctx->range_error_constr, flags, argc, argv, retv, ei);
 }
 
+static HRESULT JSGlobal_RegExpError(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, unsigned argc, VARIANT *argv,
+        VARIANT *retv, jsexcept_t *ei)
+{
+    TRACE("\n");
+
+    return constructor_call(ctx->regexp_error_constr, flags, argc, argv, retv, ei);
+}
+
 static HRESULT JSGlobal_ReferenceError(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, unsigned argc, VARIANT *argv,
         VARIANT *retv, jsexcept_t *ei)
 {
@@ -1155,6 +1164,7 @@ static const builtin_prop_t JSGlobal_props[] = {
     {RangeErrorW,                JSGlobal_RangeError,                PROPF_CONSTR|1},
     {ReferenceErrorW,            JSGlobal_ReferenceError,            PROPF_CONSTR|1},
     {RegExpW,                    JSGlobal_RegExp,                    PROPF_CONSTR|2},
+    {RegExpErrorW,               JSGlobal_RegExpError,               PROPF_CONSTR|1},
     {ScriptEngineW,              JSGlobal_ScriptEngine,              PROPF_METHOD},
     {ScriptEngineBuildVersionW,  JSGlobal_ScriptEngineBuildVersion,  PROPF_METHOD},
     {ScriptEngineMajorVersionW,  JSGlobal_ScriptEngineMajorVersion,  PROPF_METHOD},
diff --git a/dlls/jscript/tests/api.js b/dlls/jscript/tests/api.js
index ac909b2..f6b22d3 100644
--- a/dlls/jscript/tests/api.js
+++ b/dlls/jscript/tests/api.js
@@ -2545,6 +2545,7 @@ ok(Date.length == 7, "Date.length = " + Date.length);
 ok(Enumerator.length == 7, "Enumerator.length = " + Enumerator.length);
 ok(Error.length == 1, "Error.length = " + Error.length);
 ok(EvalError.length == 1, "EvalError.length = " + EvalError.length);
+ok(RegExpError.length == 1, "RegExpError.length = " + RegExpError.length);
 ok(Function.length == 1, "Function.length = " + Function.length);
 ok(GetObject.length == 2, "GetObject.length = " + GetObject.length);
 ok(Number.length == 1, "Number.length = " + Number.length);
diff --git a/dlls/jscript/tests/lang.js b/dlls/jscript/tests/lang.js
index 78e7782..515f1b5 100644
--- a/dlls/jscript/tests/lang.js
+++ b/dlls/jscript/tests/lang.js
@@ -108,7 +108,7 @@ testConstructor(Error, "Error");
 testConstructor(EvalError, "EvalError");
 testConstructor(RangeError, "RangeError");
 testConstructor(ReferenceError, "ReferenceError");
-//testConstructor(RegExpError, "RegExpError");
+testConstructor(RegExpError, "RegExpError");
 testConstructor(SyntaxError, "SyntaxError");
 testConstructor(TypeError, "TypeError");
 testConstructor(URIError, "URIError");




More information about the wine-cvs mailing list