Module: wine Branch: master Commit: b1773131ac85567e7781ecefc5ff54740fedf774 URL: http://source.winehq.org/git/wine.git/?a=commit;h=b1773131ac85567e7781ecefc5...
Author: Jacek Caban jacek@codeweavers.com Date: Wed May 25 14:08:03 2016 +0200
jscript: Added RegExp.global getter implementation.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
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();