Fwd: [JS-internals] additional test for 15.10.6.2, RegExp.prototype.exec
# Till Schneidereit (12 years ago)
Note that we have a bug1 open and a patch in review for that now. As of now, it looks like a bug we're going to fix, but Jeff might come to a different conclusion during the review.
Note that we have a bug[1] open and a patch in review for that now. As of now, it looks like a bug we're going to fix, but Jeff might come to a different conclusion during the review. [1]: https://bugzilla.mozilla.org/show_bug.cgi?id=887676 On Fri, Jun 28, 2013 at 1:23 PM, Paul Ruizendaal <pnr at planet.nl> wrote: > > > From: Brendan Eich <brendan at mozilla.com> > > Subject: Re: [JS-internals] additional test for 15.10.6.2, > RegExp.prototype.exec > > Date: 27 June 2013 0:16:49 GMT+02:00 > > To: Paul Ruizendaal <pnr at planet.nl> > > > > Please resend to es-discuss. At least two browsers agree on each side of > the fence, so this isn't just a mozilla.dev.tech.js-engine.internal issue. > > > > /be > > > > Paul Ruizendaal wrote: > >> The Spidermonkey test suite contains the following test (in file > ecma_5/RegExp/exec.js): > >> > >> r = /abc/; > >> r.lastIndex = -17; > >> res = r.exec("cdefg"); > >> assertEq(res, null); > >> assertEq(r.lastIndex, -17); > >> > >> In my understanding this test is wrong, lastIndex should be 0 due to > step 9.a.(i). Safari and Firefox report -17, Chrome and IE report 0. I > guess it is a tricky part of the spec as most real world implementations > will move the iteration of step 9 into the [[Match]] routine as to enable > first character optimizations and alike. The correct behavior is not > covered in test262. Recommend to add the following test: > >> > >> /* > >> * @es5id 15.10.6.2 (step 9.a.i) > >> * @description If the pattern does not match, lastIndex is always set > to 0, even if the 'global' flag is false. > >> */ > >> function testCase() > >> { > >> var r = /abc/; > >> r.lastIndex = -17; > >> res = r.exec("defg"); > >> return r.lastIndex===0; > >> } > >> > >> Note that the original Spidermonkey test is in the public domain, > according to the file header. This post is also placed in the public domain. > >> > >> Paul > >> > >> _______________________________________________ > >> dev-tech-js-engine-internals mailing list > >> dev-tech-js-engine-internals at lists.mozilla.org > >> https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals > > _______________________________________________ > es-discuss mailing list > es-discuss at mozilla.org > https://mail.mozilla.org/listinfo/es-discuss > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20130628/fe8f4b13/attachment.html>