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