v8/test/test262
jgruber c0fe56e63d [regexp] Correct lastIndex behavior in RegExp.prototype[@@replace]
@@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}
2017-02-16 09:21:37 +00:00
..
local-tests/test/intl402 test262 roll 2017-02-10 19:05:55 +00:00
archive.py Revert of [test] Speculatively remove local-tests from archive (patchset #2 id:20001 of https://codereview.chromium.org/2643983002/ ) 2017-01-19 07:58:43 +00:00
BUILD.gn [gn] Port test262 archiving to gn 2016-06-06 08:56:58 +00:00
detachArrayBuffer.js Revert of test262 roll (patchset #1 id:1 of https://codereview.chromium.org/2681833003/ ) 2017-02-07 23:33:08 +00:00
harness-adapt.js Revert of test262 roll (patchset #1 id:1 of https://codereview.chromium.org/2681833003/ ) 2017-02-07 23:33:08 +00:00
list.py Revert of [test] Speculatively remove local-tests from archive (patchset #2 id:20001 of https://codereview.chromium.org/2643983002/ ) 2017-01-19 07:58:43 +00:00
prune-local-tests.sh test262 roll 2017-02-10 19:05:55 +00:00
README Make test262 README file revision independent. 2015-11-04 10:52:44 +00:00
test262.gyp test262 roll 2016-10-20 10:29:28 +00:00
test262.isolate Revert of [test] Speculatively remove local-tests from archive (patchset #2 id:20001 of https://codereview.chromium.org/2643983002/ ) 2017-01-19 07:58:43 +00:00
test262.status [regexp] Correct lastIndex behavior in RegExp.prototype[@@replace] 2017-02-16 09:21:37 +00:00
testcfg.py [test] Allow command-line flags to be turned on per test262 test 2017-01-12 01:51:38 +00:00
upstream-local-tests.sh [test] Process to locally develop and upstream test262 tests 2017-01-07 02:44:49 +00:00

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.