From: Jacek Caban Subject: [PATCH 3/5] jscript: Added RegExp.global getter implementation. Message-Id: <574595A3.8020609@codeweavers.com> Date: Wed, 25 May 2016 14:08:03 +0200 Signed-off-by: Jacek Caban --- dlls/jscript/jsregexp.c | 6 ++++-- dlls/jscript/tests/regexp.js | 5 +++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/dlls/jscript/jsregexp.c b/dlls/jscript/jsregexp.c index be9f8d8..e4fae22 100644 --- a/dlls/jscript/jsregexp.c +++ b/dlls/jscript/jsregexp.c @@ -264,8 +264,10 @@ static HRESULT RegExp_set_source(script_ctx_t *ctx, jsdisp_t *jsthis, jsval_t va static HRESULT RegExp_get_global(script_ctx_t *ctx, jsdisp_t *jsthis, jsval_t *r) { - FIXME("\n"); - return E_NOTIMPL; + TRACE("\n"); + + *r = jsval_bool(!!(regexp_from_jsdisp(jsthis)->jsregexp->flags & REG_GLOB)); + return S_OK; } static HRESULT RegExp_set_global(script_ctx_t *ctx, jsdisp_t *jsthis, jsval_t value) diff --git a/dlls/jscript/tests/regexp.js b/dlls/jscript/tests/regexp.js index 48f65bc..b200364 100644 --- a/dlls/jscript/tests/regexp.js +++ b/dlls/jscript/tests/regexp.js @@ -663,13 +663,18 @@ ok(/abc/.toString(1, false, "3") === "/abc/", "/abc/.toString(1, false, \"3\") = re = /x/; ok(re.ignoreCase === false, "re.ignoreCase = " + re.ignoreCase); ok(re.multiline === false, "re.multiline = " + re.multiline); +ok(re.global === false, "re.global = " + re.global); re = /x/i; ok(re.ignoreCase === true, "re.ignoreCase = " + re.ignoreCase); ok(re.multiline === false, "re.multiline = " + re.multiline); +ok(re.global === false, "re.global = " + re.global); re = new RegExp("xxx", "gi"); ok(re.ignoreCase === true, "re.ignoreCase = " + re.ignoreCase); ok(re.multiline === false, "re.multiline = " + re.multiline); +ok(re.global === true, "re.global = " + re.global); re = /x/mg; +ok(re.ignoreCase === false, "re.ignoreCase = " + re.ignoreCase); ok(re.multiline === true, "re.multiline = " + re.multiline); +ok(re.global === true, "re.global = " + re.global); reportSuccess();