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