Skip to content

Instantly share code, notes, and snippets.

@bterlson
Last active January 4, 2016 13:09
Show Gist options
  • Star 7 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save bterlson/8626464 to your computer and use it in GitHub Desktop.
Save bterlson/8626464 to your computer and use it in GitHub Desktop.

Contributing to Test262

Generally useful links:

Finding Projects

Current ES6 Implementations

Kangax's Compatibility Table gives a high level overview of what features are implemented where, though even green items may be very incomplete.

Developing test262 tests is easier with a command-line implementation. Here are some useful ones:

Contributing

Unfortunately, there are some IP issues to work out yet with ECMA regarding allowing community contributions. These should be resolved soon, but in the meantime the ideal process is unclear. The current guidance is to license put a CC0 public domain disclosure at the top of each source file.

Other than that, use the standard fork & pull request workflow. Put your tests under test/suite/es6/<feature name here>. This is temporary until a final organizational structure for ES6 is determined.

NOTE: If you are on Windows, beware of path length limitations. Best to clone to a very shallow directory.

Implementing Tests

  • Example test: Sputnik-style (usually nicer for language-level tests)
  • If you want to write Proxy Trap tests, this helper might be useful.
  • Tests are stored under test/suite directory and should serve as good examples. Chapter 15 tests are good examples of library tests (like Arrays and Strings and such), whereas earlier chapters have more language testing.
  • Running the tests is probably easiest by pasting into some browsers' dev tools. But, you can run on the command line using Python 2 by invoking python tools\packaging\test262.py --command "jsshell" es6.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment