summaryrefslogtreecommitdiff
path: root/README.md
blob: da61c46db201f48345804f8ade197bc5009248b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
## Test262: ECMAScript Test Suite ([ECMA TR/104](http://ecma-international.org/publications/techreports/E-TR-104.htm))


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

- [ECMA-262, ECMAScript Language Specification](https://tc39.github.io/ecma262/)
- [ECMA-402, ECMAScript Internationalization API Specification](https://tc39.github.io/ecma402/) 
- [ECMA-404, The JSON Data Interchange Format](https://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf) (pdf)

Test262 itself is described in [ECMA TR/104]((http://ecma-international.org/publications/techreports/E-TR-104.htm)) and is included in [ECMA-414](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-414.pdf) (pdf).

### State of Test262

(fixme)

In this location, we should describe the present state and ideal state of Test262:
(1) goal state: every "observable" behavior identified in ECMAScript ?
(2) current state: can you summarize how comprehensive Test262 presently is ? Perhaps breakdown by each of the stanards (262, 402 and 404)

We welcome any contributions to Test262 that help make test coverage of existing features more comprehensive.

### ECMAScript feature proposals

As defined in the [TC39 Process](https://tc39.github.io/process-document/), 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](./CONTRIBUTING.md). 

**Authors of contributions from non-Ecma member organizations must sign the [Test262 CLA](http://tc39.github.io/test262-cla)**

### Running Test262

Guidance for running Test262 and explanations of how a test file is interpreted by a test runner is in [INTERPRETING](./INTERPRETING.md)


### Test262 Runners & Harnesses

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

- https://github.com/bterlson/test262-harness (platform: Node.js)
- https://github.com/test262-utils/test262-harness-py (platform: Python)
- https://bakkot.github.io/test262-web-runner/ (platform: web)