Official ECMAScript Conformance Test Suite
Go to file
jugglinmike d9d3f7cf4f Update RegExp tests (#614)
The RegExpBuiltinExec internal operation was modified in March of 2016
[1]: instead of referencing the `global` and `sticky` properties of the
"this" value, the algorithm now infers those values from the object's
[[OriginalFlags]] internal slot.

This change invalidated a number of tests. In cases where the change
resulted in an observable behavior, update the tests to assert the
latest specification text. In cases where the change removed a
previously-observable behavior, remove the files completely.

Specification text change set:

>        1. Assert: Type(_S_) is String.
>        1. Let _length_ be the number of code units in _S_.
>        1. Let _lastIndex_ be ? ToLength(? Get(_R_, `"lastIndex"`)).
>      - 1. Let _global_ be ToBoolean(? Get(_R_, `"global"`)).
>      - 1. Let _sticky_ be ToBoolean(? Get(_R_, `"sticky"`)).
>      + 1. Let _flags_ be the value of _R_'s [[OriginalFlags]] internal slot.
>      + 1. If _flags_ contains `"g"`, let _global_ be *true*, else let _global_ be *false*.
>      + 1. If _flags_ contains `"y"`, let _sticky_ be *true*, else let _sticky_ be *false*.
>        1. If _global_ is *false* and _sticky_ is *false*, let _lastIndex_ be 0.
>        1. Let _matcher_ be the value of _R_'s [[RegExpMatcher]] internal slot.
>      - 1. Let _flags_ be the value of _R_'s [[OriginalFlags]] internal slot.
>        1. If _flags_ contains `"u"`, let _fullUnicode_ be *true*, else let _fullUnicode_ be *false*.
>        1. Let _matchSucceeded_ be *false*.
>        1. Repeat, while _matchSucceeded_ is *false*

[1] https://github.com/tc39/ecma262/pull/494
2016-05-09 19:34:52 -04:00
docs Rename `String.prototype.contains` to `String.prototype.includes` 2014-12-10 13:27:42 -08:00
harness Merge pull request #543 from bocoup/enumerable-helper 2016-04-25 16:32:53 -07:00
src Add initial set of generated test sources 2016-03-16 15:29:30 -04:00
test Update RegExp tests (#614) 2016-05-09 19:34:52 -04:00
tools [generation] Preserve newlines in `info` tag 2016-04-26 16:13:30 -04:00
website Remove links to hg.ecmascript.org (non-license content) 2015-07-17 17:43:27 +02:00
.gitattributes Import tests from Google V8 (templates) 2015-04-02 12:13:51 -04:00
.gitignore async,promises: initial tests of Promises 2014-07-18 05:37:08 +01:00
.hgignore Regenerated console runner files. Excluded generated test cases. 2012-08-26 20:47:30 -07:00
.jshintrc Added new tests for chapters 6 and 9 of ECMAScript Internationalization API Specification. 2012-08-26 20:49:25 -07:00
CONTRIBUTING.md Merge pull request #545 from bocoup/generation 2016-04-15 17:56:36 -04:00
INTERPRETING.md Add documentation on interpreting tests (#508) 2016-04-18 14:31:51 -04:00
LICENSE New tests and test fixes for ECMAScript Internationalization API. 2013-03-24 23:48:59 -07:00
README.md Add documentation on interpreting tests (#508) 2016-04-18 14:31:51 -04:00
excludelist.xml Fix packager.py for updated locations 2014-12-09 14:52:12 -08:00
make.py Add initial set of generated test sources 2016-03-16 15:29:30 -04:00

README.md

Test262 is the official ECMAScript (ECMA-262) conformance suite.

Test262 tests conformance to the continually maintained draft future ECMAScript standard found at http://tc39.github.io/ecma262/ , together with any Stage 3 or later TC39 proposals. It is maintained by Gorkem Yakin (@goyakin) with significant contributions from many in the ECMAScript community.

Contributing to Test262

See CONTRIBUTING.md

  1. Sign the Test262 CLA.
  2. Send a pull request. Please make sure you have one commit per pull request. If you have multiple commits, squash them before sending the pull request.

Running Test262

See INTERPRETING.md