Jacek Caban : jscript: Make RegExp object properties non-writable.
Alexandre Julliard
julliard at winehq.org
Thu May 10 18:23:16 CDT 2018
Module: wine
Branch: master
Commit: 2538a74c801230941c326f2629ba07962e14fa4b
URL: https://source.winehq.org/git/wine.git/?a=commit;h=2538a74c801230941c326f2629ba07962e14fa4b
Author: Jacek Caban <jacek at codeweavers.com>
Date: Thu May 10 19:20:45 2018 +0200
jscript: Make RegExp object properties non-writable.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/jscript/jsregexp.c | 40 ++++++++--------------------------------
dlls/mshtml/tests/es5.js | 4 ++++
2 files changed, 12 insertions(+), 32 deletions(-)
diff --git a/dlls/jscript/jsregexp.c b/dlls/jscript/jsregexp.c
index 5798635..821c016 100644
--- a/dlls/jscript/jsregexp.c
+++ b/dlls/jscript/jsregexp.c
@@ -256,12 +256,6 @@ static HRESULT RegExp_get_source(script_ctx_t *ctx, jsdisp_t *jsthis, jsval_t *r
return S_OK;
}
-static HRESULT RegExp_set_source(script_ctx_t *ctx, jsdisp_t *jsthis, jsval_t value)
-{
- FIXME("\n");
- return E_NOTIMPL;
-}
-
static HRESULT RegExp_get_global(script_ctx_t *ctx, jsdisp_t *jsthis, jsval_t *r)
{
TRACE("\n");
@@ -270,12 +264,6 @@ static HRESULT RegExp_get_global(script_ctx_t *ctx, jsdisp_t *jsthis, jsval_t *r
return S_OK;
}
-static HRESULT RegExp_set_global(script_ctx_t *ctx, jsdisp_t *jsthis, jsval_t value)
-{
- FIXME("\n");
- return E_NOTIMPL;
-}
-
static HRESULT RegExp_get_ignoreCase(script_ctx_t *ctx, jsdisp_t *jsthis, jsval_t *r)
{
TRACE("\n");
@@ -284,12 +272,6 @@ static HRESULT RegExp_get_ignoreCase(script_ctx_t *ctx, jsdisp_t *jsthis, jsval_
return S_OK;
}
-static HRESULT RegExp_set_ignoreCase(script_ctx_t *ctx, jsdisp_t *jsthis, jsval_t value)
-{
- FIXME("\n");
- return E_NOTIMPL;
-}
-
static HRESULT RegExp_get_multiline(script_ctx_t *ctx, jsdisp_t *jsthis, jsval_t *r)
{
TRACE("\n");
@@ -298,12 +280,6 @@ static HRESULT RegExp_get_multiline(script_ctx_t *ctx, jsdisp_t *jsthis, jsval_t
return S_OK;
}
-static HRESULT RegExp_set_multiline(script_ctx_t *ctx, jsdisp_t *jsthis, jsval_t value)
-{
- FIXME("\n");
- return E_NOTIMPL;
-}
-
static INT index_from_val(script_ctx_t *ctx, jsval_t v)
{
double n;
@@ -607,11 +583,11 @@ static void RegExp_destructor(jsdisp_t *dispex)
static const builtin_prop_t RegExp_props[] = {
{execW, RegExp_exec, PROPF_METHOD|1},
- {globalW, NULL,0, RegExp_get_global, RegExp_set_global},
- {ignoreCaseW, NULL,0, RegExp_get_ignoreCase, RegExp_set_ignoreCase},
+ {globalW, NULL,0, RegExp_get_global},
+ {ignoreCaseW, NULL,0, RegExp_get_ignoreCase},
{lastIndexW, NULL,0, RegExp_get_lastIndex, RegExp_set_lastIndex},
- {multilineW, NULL,0, RegExp_get_multiline, RegExp_set_multiline},
- {sourceW, NULL,0, RegExp_get_source, RegExp_set_source},
+ {multilineW, NULL,0, RegExp_get_multiline},
+ {sourceW, NULL,0, RegExp_get_source},
{testW, RegExp_test, PROPF_METHOD|1},
{toStringW, RegExp_toString, PROPF_METHOD}
};
@@ -626,11 +602,11 @@ static const builtin_info_t RegExp_info = {
};
static const builtin_prop_t RegExpInst_props[] = {
- {globalW, NULL,0, RegExp_get_global, RegExp_set_global},
- {ignoreCaseW, NULL,0, RegExp_get_ignoreCase, RegExp_set_ignoreCase},
+ {globalW, NULL,0, RegExp_get_global},
+ {ignoreCaseW, NULL,0, RegExp_get_ignoreCase},
{lastIndexW, NULL,0, RegExp_get_lastIndex, RegExp_set_lastIndex},
- {multilineW, NULL,0, RegExp_get_multiline, RegExp_set_multiline},
- {sourceW, NULL,0, RegExp_get_source, RegExp_set_source}
+ {multilineW, NULL,0, RegExp_get_multiline},
+ {sourceW, NULL,0, RegExp_get_source}
};
static const builtin_info_t RegExpInst_info = {
diff --git a/dlls/mshtml/tests/es5.js b/dlls/mshtml/tests/es5.js
index 6b84b40..a769a49 100644
--- a/dlls/mshtml/tests/es5.js
+++ b/dlls/mshtml/tests/es5.js
@@ -179,7 +179,11 @@ function test_getOwnPropertyDescriptor() {
test_own_data_prop_desc(obj, "arguments", false, false, false);
obj = /test/;
+ test_own_data_prop_desc(obj, "global", false, false, false);
+ test_own_data_prop_desc(obj, "ignoreCase", false, false, false);
test_own_data_prop_desc(obj, "lastIndex", true, false, false);
+ test_own_data_prop_desc(obj, "multiline", false, false, false);
+ test_own_data_prop_desc(obj, "source", false, false, false);
next_test();
}
More information about the wine-cvs
mailing list