Official ECMAScript Conformance Test Suite
Go to file
Alexey Shvayka d0b5137c15 Improve JSON.stringify coverage (#2168)
* Rename & improve "length" test

* Use verifyProperty in "name" test

* Rename & improve property descriptor test

* Remove duplicated test

https://github.com/tc39/test262/blob/master/test/built-ins/Object/prototype/toString/proxy-array.js

* Rename proxy value test

* Rename & improve String object unwrapping test

* Rename & improve Number object unwrapping test

* Rename & improve Boolean object unwrapping test

* Rename & merge replacer returns undefined tests

* Rename & merge replacer function tests

* Rename replacer array revoked proxy test

* Add cross-realm replacer array revoked proxy test

* Add array proxy replacer test

* Add replacer array keys order test

* Add empty replacer array test

* Add non-finite numbers serialization test

* Add replacer array abrupt completion test

* Add replacer array with duplicates test

* Add replacer array ignores undefined test

* Add replacer array unwraps strings test

* Add replacer array unwraps numbers test

* Rename & merge circular object tests

* Add circular array test

* Rename & merge top-level primitives tests

* Rename string escape tests

* Rename BigInt tests

* Rename & improve function value test

* Add replacer function abrupt test

* Rename & merge wrong space type tests

* Rename float number space test

* Rename & improve Number object space test

* Rename & improve String object space test

* Rename basic numeric space test

* Rename string space slice test

* Add replacer array numbers test

* Add toJSON abrupt completions test

* Add not callable toJSON test

* Add toJSON call arguments test

* Add replacer array wrong types test

* Rename & improve string space test

* Rename & improve replacer wrong type test

* Add built-in object requirements test

* Add basic toJSON result test

* Add abrupt array value test

* Add abrupt object value test

* Rename & merge space number clamp tests

* Add replacer function wrapper test

* Add symbol value test

* Add negative zero value test

* Add replacer function & toJSON test

* Add circular object from toJSON test

* Add circular array from toJSON test

* Add circular object from replacer test

* Add circular array from replacer test

* Add replacer function arguments test

* Split & improve proxy value test

* Split & improve revoked proxy value test
2019-08-28 17:34:59 -03:00
.circleci Generation: Support Python 3 (#2288) 2019-08-14 12:46:23 -04:00
docs Rename `String.prototype.contains` to `String.prototype.includes` 2014-12-10 13:27:42 -08:00
harness Format symbols 2019-08-24 13:35:51 +03:00
implementation-contributed Merge pull request #2063 from test262-automation/javascriptcore-test262-automation-export-7a0293f26c 2019-07-21 21:17:36 -04:00
src Merge pull request #2296 from caiolima/private-static-members-inner-class 2019-08-28 16:04:17 -03:00
test Improve JSON.stringify coverage (#2168) 2019-08-28 17:34:59 -03:00
tools Generation: Support Python 3 (#2288) 2019-08-14 12:46:23 -04:00
website fix: comparing typeof expression 2018-05-31 23:27:46 +08:00
.editorconfig Unify indentation and add .editorconfig (#973) 2017-04-13 10:37:32 -04:00
.gitattributes Import tests from Google V8 (templates) 2015-04-02 12:13:51 -04:00
.gitignore Atomics: fix typo "throwes" => "throws" 2018-06-26 14:51:45 -04: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
.npmrc Only apps should have lockfiles 2017-07-25 23:05:46 -07:00
CODE_OF_CONDUCT.md Add CoC.md reference file 2018-04-11 16:16:55 -04:00
CONTRIBUTING.md Call $DONE function exactly once per test 2019-07-22 02:12:24 -07:00
ECMA TR-104.pdf Update TR-104 with released version 2017-05-18 15:47:35 -04:00
INTERPRETING.md INTERPRETING.md: Add $262.gc() and "host-gc-required" feature (#2208) 2019-06-21 11:18:10 -04:00
LICENSE New tests and test fixes for ECMAScript Internationalization API. 2013-03-24 23:48:59 -07:00
README.md Added URL for C++ test harness. (#1615) 2018-06-29 14:59:45 -04:00
excludelist.xml Fix packager.py for updated locations 2014-12-09 14:52:12 -08:00
features.txt First set of tests for Top Level Await 2019-08-05 23:07:53 -04:00
github-deploy-key.enc Update deploy keys 2017-04-24 15:11:02 -04:00
lint.exceptions Remove obsolete lint exceptions. (#2276) 2019-08-09 10:58:44 -04:00
make.py Automate deployment (#546) 2017-04-10 15:31:19 -04:00
package.json Fix test:diff npm scripts (#2225) 2019-07-08 15:32:35 -04:00

README.md

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 CONTRIBUTING.md.

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: