532 Commits

Author SHA1 Message Date
Marijn Haverbeke
aac1807838 Include Harmony tests in test/index.html 2014-07-29 14:43:20 +02:00
Ingvar Stepanyan
ff9c3550a4 Allow computed class method names (as per ariya/esprima#271). 2014-07-29 14:41:49 +02:00
Ingvar Stepanyan
acbef8557f Treat line ending after yield keyword as end of YieldExpression
(as per http://people.mozilla.org/~jorendorff/es6-draft.html#sec-generator-function-definitions-runtime-semantics-evaluation).
2014-07-29 14:41:45 +02:00
Ingvar Stepanyan
9d552efe45 Added Generator Comprehension support. 2014-07-29 14:41:44 +02:00
Ingvar Stepanyan
1c548e7848 Add missing Traceur source to repo. 2014-07-29 14:41:44 +02:00
Ingvar Stepanyan
e9635f450e Delete harmonytest.js 2014-07-29 14:41:44 +02:00
Ingvar Stepanyan
afefac56bf Added test to represent "import x, { ... } from 'module'" case. 2014-07-29 14:41:44 +02:00
Ingvar Stepanyan
9d5e0e7973 Increased benchmark time to 5 seconds per parser to get more realistic numbers. 2014-07-29 14:41:44 +02:00
Ingvar Stepanyan
8b19246615 Replaced UglifyJS2 with Traceur for fair comparison of ES6-enabled parsers. 2014-07-29 14:41:38 +02:00
Ingvar Stepanyan
82b9f30fc9 Allow some keywords to be treated as identifier names; update ecmaVersion in benchmark. 2014-07-29 14:41:32 +02:00
Ingvar Stepanyan
3ee9e288a2 Forbid spread element in sequence expressions. 2014-07-29 14:41:32 +02:00
Ingvar Stepanyan
8f96965d36 Added yield support (completed generators). 2014-07-29 14:41:32 +02:00
Ingvar Stepanyan
b8a3300a21 Added function * support (part of generators feature). 2014-07-29 14:41:32 +02:00
Ingvar Stepanyan
4f24e13fd5 Added template string support. 2014-07-29 14:41:32 +02:00
Ingvar Stepanyan
a8cf37fc46 Test fixes for imports. 2014-07-29 14:41:32 +02:00
Ingvar Stepanyan
26818e1f36 Removed module-related tests and implemented corresponding alternatives support.
`module ModuleName { ... }` was removed from spec in favor of separate files.
`module LocalName from '...'` is being replaced with `import * as LocalName from '...'` as per http://jsmodules.io/ and https://twitter.com/domenic/status/492735387140243456 (c) @domenic.
2014-07-29 14:41:29 +02:00
Ingvar Stepanyan
b38c15a94b Added export declaration support.
See http://people.mozilla.org/~jorendorff/es6-draft.html#sec-exports, ariya/esprima#216, square/es6-module-transpiler#63 for latest decisions on `export default 42` vs `export default = 42` (first wins, so returning AST as it was in older Esprima Harmony and used by https://github.com/square/es6-module-transpiler/).
2014-07-29 14:41:24 +02:00
Ingvar Stepanyan
f2dfeff977 Added test for BindingPattern inside ArrayComprehension
(fails in esprima - https://code.google.com/p/esprima/issues/detail?id=570).
2014-07-29 14:41:18 +02:00
Ingvar Stepanyan
bcc97e2d52 Array Comprehensions as per latest ES6 drafts. 2014-07-29 14:41:18 +02:00
Ingvar Stepanyan
dd37866fdb Added backward-compatible test that object properties have type of "Property".
(Better fix for Constellation/estraverse#4, Constellation/escodegen#80 and similar bugs)
2014-07-29 14:41:10 +02:00
Ingvar Stepanyan
648f3159cc Added for (..of..) support and guard against for (let var=.. in|of ..) loops. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
8b0be7cec9 Improved destruction assignment guards. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
0f56e32512 Object shorthand properties; small fixes to ES6 function parameters. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
50a82135c4 Recursive destructuring assignment with function arguments name clash checks. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
5ab6837208 Workaround for joyent/node#3584. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
7c34bb34ce Exit should wait for stdout (joyent/node#1669). 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
3779ed41a4 Added exit code 1 for failed test session. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
f7fe322490 Better parentheses check for arrow expression argument list. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
1f801001cf ArrowExpression rest parameter support, brackets check and test fixes. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
5d50be1447 Removed dirty hack in favor of fixed expected locations for arrow and method functions (node's location should include arguments). 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
19696af666 Added computed properties support. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
44a4f8c016 Added ES6 classes support. 2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
eadda16c42 Added SpreadElement support.
testFail message fixes for object methods.
2014-07-29 14:41:09 +02:00
Ingvar Stepanyan
a5cf393134 Fixed testFail messages for character escape sequences. 2014-07-29 14:41:08 +02:00
Ingvar Stepanyan
2db14fbb08 Checking argument names clash in strict mode for arrow functions.
Some more testFail message fixes.
2014-07-29 14:41:08 +02:00
Ingvar Stepanyan
47c4196d41 Some testFail message fixes. 2014-07-29 14:41:08 +02:00
Ingvar Stepanyan
757545a612 Basic ES6 Arrow Expressions support.
Added Property type to ObjectExpression properties.
Reserved ES6 properties in Property type.
2014-07-29 14:41:08 +02:00
Ingvar Stepanyan
47587e6e9b Turned on location tracking for harmony tests. 2014-07-29 14:41:08 +02:00
Ingvar Stepanyan
88e355a6ae Converted esprima's harmony tests. 2014-07-29 14:41:08 +02:00
Ingvar Stepanyan
937350dd84 Updated esprima and added harmonytest.js from ariya/esprima@2bb17ef9a4. 2014-07-29 14:41:08 +02:00
Artem Govorov
1e5bfc2c55 ecma 6 partial support: let and const 2014-06-06 12:10:09 +02:00
Brandon Mills
5552e866f9 Support rest parameters
http://wiki.ecmascript.org/doku.php?id=harmony:rest_parameters
The final parameter to a function is a rest parameter if it is
prefixed by "...". FunctionExpression and FunctionDeclaration
nodes have a new "rest" property that is null if there is no
rest parameter, or contains an Identifer for the parameter.
https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API#Functions

Implemented by adding a new token, `_ellipsis`, which consists of
three dots. Modified the body of parseFunction to allow a single
rest parameter at the end of an argument list. Both the token and
the rest parameter require `options.ecmaVersion` >= 6, otherwise
three dots are tokenized as three dots.
2014-05-08 07:46:47 +02:00
Marijn Haverbeke
5bd50cce6f Don't complain about reserved words in property name position
Also add forbidReserved: "everywhere" support.

Issue #85
2014-02-14 11:27:48 +01:00
Marijn Haverbeke
dd456e3ad5 Fix bug causing comments after 'use strict' to be handled twice
Closes #76
2013-11-11 11:25:59 +01:00
Marijn Haverbeke
22c3161b6e Fix wrong end position for VariableDeclaration nodes
It should include the semicolon.

Closes #67
2013-10-02 20:39:51 +02:00
Marijn Haverbeke
b998d5e22d Add support for bizarro <!-- and --> behavior
Issue #62
2013-09-06 10:52:04 +02:00
Marijn Haverbeke
6659f7a033 Fix special case to handle regexps that start with =
Closes #55
2013-08-28 10:35:21 +02:00
Marijn Haverbeke
6113324cd2 Fix bug with parsing slash after operator-keyword property
Closes #53
2013-08-25 15:01:20 +02:00
Marijn Haverbeke
314327537a Add charset to script link that includes test suite
So that browsers don't get confused by the utf-8 sequences.
2013-06-08 20:36:50 +02:00
Marijn Haverbeke
38f0e80547 Include diacritical combining marks in identifier character set
Closes marijn/tern#157
2013-05-21 09:07:50 +02:00