Official ECMAScript Conformance Test Suite
JavaScript Python HTML CSS Shell WebAssembly
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
docs Rename `String.prototype.contains` to `String.prototype.includes` Dec 10, 2014
harness Remove requirement that ToNumber(value) completes in less than $262.a… Aug 19, 2018
implementation-contributed [javascriptcore-test262-automation] Updated curation log with latest … Aug 19, 2018
src Add feature flags for `` Jul 24, 2018
test some quick fixes for Array.prototype.{flat,flatMap} tests Aug 20, 2018
tools Lint: make esid check allow "%" (#1638) Jul 13, 2018
website fix: comparing typeof expression May 31, 2018
.editorconfig Unify indentation and add .editorconfig (#973) Apr 13, 2017
.gitattributes Import tests from Google V8 (templates) Apr 2, 2015
.gitignore Atomics: fix typo "throwes" => "throws" Jun 26, 2018
.hgignore Regenerated console runner files. Excluded generated test cases. Aug 27, 2012
.jshintrc Added new tests for chapters 6 and 9 of ECMAScript Internationalizati… Aug 27, 2012
.npmrc Only apps should have lockfiles Jul 26, 2017
.travis.yml Install linter dependencies in CI Dec 3, 2017 Add reference file Apr 11, 2018 Docs: have link to referenced file Aug 13, 2018
ECMA TR-104.pdf Update TR-104 with released version May 18, 2017 Documentation: $ is expected to convert its argumen… Jul 30, 2018
LICENSE New tests and test fixes for ECMAScript Internationalization API. Mar 25, 2013 Added URL for C++ test harness. (#1615) Jun 29, 2018
excludelist.xml Fix for updated locations Dec 9, 2014
features.txt Object.fromEntries: add basic tests Aug 13, 2018
github-deploy-key.enc Update deploy keys Apr 24, 2017
lint.whitelist Remove faulty `throw` statements Jul 13, 2017 Automate deployment (#546) Apr 10, 2017
package.json v3.0.0 May 3, 2018

Test262: ECMAScript Test Suite (ECMA TR/104)

Test262 is the implementation conformance test suite for the latest drafts (or most recent published edition) of the following Ecma specifications:

Test262 itself is described in ECMA TR/104 and is included in ECMA-414 (pdf).

Goals & State of Test262

The goal of Test262 is to provide test material that covers every observable behavior specified in the ECMA-414 Standards Suite. Development of Test262 is an on-going process. As of October 2017, Test262 consisted of over 29272 individual test files covering the majority of the pseudo-code algorithms and grammar productions defined in the ECMA-414 Standards Suite. Each of these files contains one or more distinct test cases. This marks the most comprehensive ECMAScript test suite to date. While test coverage is broad, TC39 does not consider coverage to be complete and as with any software project there exists the possibility of omissions and errors. This project welcomes any contributions to Test262 that help make test coverage of existing features more comprehensive.

ECMAScript feature proposals

As defined in the TC39 Process, Stage 4 Entrance Criteria requires tests for new feature proposals to advance. Tests may be written by proposal champions, implementers, or any interested community member.

A proposal champion is someone that worked on the feature proposal and specification directly.

An implementer is someone that works on implementing the proposal into a JavaScript engine, parser, runtime or embedding.

A community member is you, and we welcome you to contribute! If you're having trouble getting started, or even just want to ask a question, feel free to open an issue.

Contributing to Test262

Guidance for contributing to Test262 can be found in

Authors of contributions from non-Ecma member organizations must sign the Test262 CLA

Running Test262

Guidance for running Test262 and explanations of how a test file is interpreted by a test runner is in INTERPRETING

Test262 Runners & Harnesses

Volunteer-maintained projects that may be used to execute Test262 in various ECMAScript hosts: