diff --git a/regexp_test.go b/regexp_test.go index afee5be..4713b60 100644 --- a/regexp_test.go +++ b/regexp_test.go @@ -199,6 +199,14 @@ func TestRegExp_source(t *testing.T) { var def = new RegExp(abc); [ abc.source, def.source, abc.source === def.source ]; `, ".,.,true") + + test(` + var abc = /./i; + var def = abc.hasOwnProperty("source"); + var ghi = abc.source; + abc.source = "xyzzy"; + [ def, abc.source ]; + `, "true,.") } func TestRegExp_newRegExp(t *testing.T) { diff --git a/type_regexp.go b/type_regexp.go index a3d2d20..ad49968 100644 --- a/type_regexp.go +++ b/type_regexp.go @@ -306,7 +306,7 @@ func (self *_regExpStash) put(name string, value Value) { switch name { case "global", "ignoreCase", "multiline", "source": // TODO Is this good enough? Check DefineOwnProperty - panic(newTypeError()) + return case "lastIndex": self._regExpObject.LastIndex = value return