c0fe56e63d
@@replace has a pretty complex implementation, taking different paths for various situations (e.g.: global/nonglobal regexp, functional/string replace argument, etc.). Each of these paths must implement similar logic for calling into the RegExpBuiltinExec spec operation, and many paths get this subtly wrong. This CL fixes a couple of issues related to the way @@replace handles lastIndex: * All paths now respect lastIndex when calling into exec (some used to assume 0). * lastIndex is now advanced after a successful match for sticky regexps. * lastIndex is now only reset to 0 on failure for sticky regexps. BUG=v8:5361 Review-Url: https://codereview.chromium.org/2685183003 Cr-Commit-Position: refs/heads/master@{#43234} |
||
---|---|---|
.. | ||
local-tests/test/intl402 | ||
archive.py | ||
BUILD.gn | ||
detachArrayBuffer.js | ||
harness-adapt.js | ||
list.py | ||
prune-local-tests.sh | ||
README | ||
test262.gyp | ||
test262.isolate | ||
test262.status | ||
testcfg.py | ||
upstream-local-tests.sh |
This directory contains code for binding the test262 test suite into the v8 test harness. The tests are checked out as a dependency from https://chromium.googlesource.com/external/github.com/tc39/test262 at a revision specified in the DEPS file as 'data' in this directory. They are fetched with 'gclient sync'. To update to a newer version, please change the DEPS file. Using a newer version, e.g. 'deadbeef' may be possible but the tests are only known to pass (and indeed run) with the DEPS revision. Example: cd data git fetch git checkout deadbeef If you do update to a newer revision you may have to change the test harness adapter code since it uses internal functionality from the harness that comes bundled with the tests. You will most likely also have to update the test expectation file.