- Apr 18, 2017
-
-
Mike Pennisi authored
-
- Apr 13, 2017
-
-
André Bargull authored
-
- Mar 27, 2017
-
-
Leo Balter authored
-
- Mar 20, 2017
-
-
Leonardo Balter authored
-
- Mar 14, 2017
-
-
Leonardo Balter authored
-
- Mar 06, 2017
-
-
Leonardo Balter authored
-
- Oct 19, 2016
-
-
Mike Pennisi authored
-
Mike Pennisi authored
-
- Jul 09, 2016
-
-
jugglinmike authored
* Extend tests for class "name" inference Ensure that when a class defines a static "name" method, that method definition prevents the "name" inference behavior. * Re-generate tests
-
- Jul 05, 2016
-
-
jugglinmike authored
This re-factors some existing Sputnik tests to be more targeted and to use a pattern that can be generalized to other forms. We could test these all day, but I've limited myself to forms introduced in ES2015, specifically YieldExpression and new.target. Note that SpiderMonkey incorrectly throws a SyntaxError for these. I thoughtlessly wrote ReferenceError tests for yield = 1 until I realized that such productions are not actually recognized by the grammar, so the early errors do not apply. Instead, I've added a negative syntax test for that case. * Refactor test for valid cover * Add tests for ValidSimpleAssignmentTarget Ensure that constructs introduced in ES2015 are disallowed as assignment targets, with or without a "cover" grammar. * Add test for grammar precedence of YieldExpression
-
- May 25, 2016
-
-
Mike Pennisi authored
-
Mike Pennisi authored
Utilize the test generation tool to increase coverage of destructuring assignment semantics. Previously, only destructuring assignment in the AssignmentExpression position was tested. With this change applied, the same tests will assert expected behavior for destructuring assignment in `for..of` statements, as well. A limited number of tests are applied to the `for..in` statement as well, but due to the iteration protocol observed by that statement, many destructuring tests are not relevant, and others cannot be automatically generated from this format.
-
- May 19, 2016
-
-
jugglinmike authored
-
- Apr 25, 2016
-
-
Mike Pennisi authored
This harness function is not necessary in the majority of cases in which it is used. Remove its usage to simplify tests and decrease the amount of domain-specific knowledge necessary to contribute to the test suite. Persist the harness function itself for use by future tests for ES2015 modules (such a helper is necessary for tests that are interpreted as module code).
-
- Apr 18, 2016
-
-
jugglinmike authored
The files in this patch are organized according to the following naming scheme: Prefix | Grammar production -------------------|------------------- `array-empty-` | ArrayAssignmentPattern : [ ] `array-elision-` | ArrayAssignmentPattern : [ Elision ] `array-rest-` | ArrayAssignmentPattern : [ Elisionopt AssignmentRestElement ] `array-elem-` | ArrayAssignmentPattern : [ AssignmentElementList ] `array-elem-trlg-` | ArrayAssignmentPattern : [ AssignmentElementList , Elisionopt AssignmentRestElementopt ] Suffix | Intent -------------------|------- `-abpt-close-err` | The assignment evaluation returns an abrupt completion, and the iterator's `return` method throws an error `-abpt-close-skip` | The assignment evaluation returns an abrupt completion, but IteratorClose is not invoked `-abpt-close` | The assignment evaluation returns an abrupt completion, and IteratorClose is invoked as specified `-get-err` | Abrupt completion returned from GetIterator `-nrml-close-err` | The assignment evaluation completes, and the iterator's `return` method throws an error `-nrml-close-null` | The assignment evaluation completes, and the iterator's `return` method returns a non-Object value (there is no corresponding `-abpt-` suffix because the algorithm does not reference the return value in those cases) `-nrml-close-skip` | The assignment evaluation completes, but IteratorClose is not invoked `-nrml-close` | The assignment evaluation completes, and IteratorClose is invoked as specified Not all suffixes are appropriate for all productions. Suffixes have been simplified in cases where less specificity is necessary to disambiguate test cases.
-
- Aug 13, 2015
-
-
André Bargull authored
-
- Aug 11, 2015
-
-
André Bargull authored
-
- Aug 06, 2015
-
-
André Bargull authored
-
- Jul 22, 2015
-
-
Mike Pennisi authored
This change set includes tests for most invocations of the SetFunctionName abstract operation in the ES2015 specification. Practical testing considerations preclude the introduction of tests for certain invocations: - The project is still vetting methods to sustainably test the semantics of the Destructuring Binding pattern across all valid productions. - 13.3.3.6 Runtime Semantics: IteratorBindingInitialization - 13.3.3.7 Runtime Semantics: KeyedBindingInitialization - Without a loader, there is no way to access a function object declared in an ExportDeclaration, so `name` assignment cannot be tested in these cases - 14.1.19 Runtime Semantics: InstantiateFunctionObject - 14.4.12 Runtime Semantics: InstantiateFunctionObject - 14.5.15 Runtime Semantics: BindingClassDeclarationEvaluation - 15.2.3.11 Runtime Semantics: Evaluation
-
- Jul 17, 2015
-
-
André Bargull authored
- Remove duplicate word - Add missing license
-
André Bargull authored
-
- Jul 15, 2015
-
-
Thomas Wood authored
SyntaxError => TypeError for writing to a non-writeable field. Fixes #372
-
- Jul 10, 2015
-
-
Mike Pennisi authored
The `negative` frontmatter tag expresses an expectation for the behavior of the test file as a whole. The `assert.throws` helper function offers more fine-grained control over expectations because it may be applied to specific statements and expressions. This makes it preferable in cases where it may be used (i.e. when the test body does not describe a syntax error or early error). Re-implement assertions for errors to use the `assert.throws` helper function wherever possible.
-
- Jun 29, 2015
-
-
Mike Pennisi authored
In ECMAScript 5, assignment to a non-reference value throws a runtime ReferenceError. ECMAscript 6 specifies an early ReferenceError in these cases. Tests for this behavior have been authored to pass in both cases. Simplify these tests to describe and assert the early error.
-
- Jun 18, 2015
-
-
Mike Pennisi authored
Some tests specifically concern the application of the `use strict` directive as it appears in JavaScript source code. These tests should *not* be run with the `onlyStrict` flag because relying on the test runner to enable strict mode makes the semantics of the source code irrelevant. Update these tests to use the `noStrict` flag. Other tests concern language semantics that are only valid in strict mode, but the mechanism for enabling strictness is inconseqential. Update these tests to use the `onlyStrict` flag and remove any redundant `use strict` directive prologues contained within. Still other tests are valid both within and outside of strict mode. In keeping with the majority of other tests, do not specify any restrictions on the environments in which these tests may be run.
-
- Jun 03, 2015
-
-
Mike Pennisi authored
-
- May 18, 2015
-
-
André Bargull authored
The assignment operator evaluates its operands from left to right. When the left-hand side expression is a property accessor, RequireObjectCoercible and ToPropertyKey are called on the property accessor before the right-hand side expression is evaluated.
-
- Feb 12, 2015
-
-
Rick Waldron authored
-
- Dec 11, 2014
-
-
André Bargull authored
- Add missing noStrict flags when tests explicitly require non-strict semantics (e.g. unqualified delete, with statement) - Change `throw new Exception(...)` to `$ERROR(...)` in call/* - Replace dynamic strict mode check with noStrict flag in call/11.2.3-3_8 - Align assignment/11.13.1_A3.1 with 11.13.1_A3.2 to avoid creating implicit global variable - Split test into multiple files when undeclared variable are under test - addition/S11.6.1_A2.4_T3 - division/11.5.2_A2.4_T3 - does-not-equals/11.9.2_A2.4_T3 - equals/S11.9.1_A2.4_T3 - greater-than/S11.8.2_A2.4_T3 - greater-than-or-equal/S11.8.4_A2.4_T3 - in/S11.8.7_A2.4_T3 - instanceof/11.8.6_A2.4_T3 - left-shift/S11.7.1_A2.4_T3 - less-than/S11.8.1_A2.4_T3 - less-than-or-equal/S11.8.3_A2.4_T3 - modulus/S11.5.3_A2.4_T3 - multiplication/11.5.1_A2.4_T3 - right-shift/11.7.2_A2.4_T3 - strict-does-not-equals/11.9.5_A2.4_T3 - strict-equals/11.9.4_A2.4_T3 - subtraction/11.6.2_A2.4_T3 - unsigned-right-shift/11.7.3_A2.4_T3 - Add declaration when implicit global variable creation not part of the test - assignment/11.13.1_A4_T1 - compound-assignment/S11.13.2_A3.1_T* - compound-assignment/S11.13.2_A3.2_T* - grouping/11.1.6_A3_T5 - instanceof/S15.3.5.3_* - Split test into multiple files when unqualified delete is used - delete/S11.4.1_A2.2_T1.js - delete/11.4.1_A3.2 - grouping/S11.1.6_A2 - grouping/S11.1.6_A3_T6
-
André Bargull authored
Identifier resolution in dynamic scope context is missing test coverage, resolves https://bugs.ecmascript.org/show_bug.cgi?id=1751 .
-
- Dec 07, 2014
-
-
Brian Terlson authored
-