Skip to content
Snippets Groups Projects
  1. Apr 18, 2017
  2. Apr 13, 2017
  3. Mar 27, 2017
  4. Mar 20, 2017
  5. Mar 14, 2017
  6. Mar 06, 2017
  7. Oct 19, 2016
  8. Jul 09, 2016
  9. Jul 05, 2016
    • jugglinmike's avatar
      Add tests for assignment target validation of new ES2015 forms (#693) · ab4ff914
      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
      ab4ff914
  10. May 25, 2016
    • Mike Pennisi's avatar
      Generate tests · 88879de7
      Mike Pennisi authored
      88879de7
    • Mike Pennisi's avatar
      Re-format destructuring assignment tests · c24a2065
      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.
      c24a2065
  11. May 19, 2016
  12. Apr 25, 2016
    • Mike Pennisi's avatar
      Reduce reliance on `fnGlobalObject.js` · eb644bb2
      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).
      eb644bb2
  13. Apr 18, 2016
    • jugglinmike's avatar
      Add tests for IteratorClose in dstr assignment (#524) · 26676bea
      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.
      26676bea
  14. Aug 13, 2015
  15. Aug 11, 2015
  16. Aug 06, 2015
  17. Jul 22, 2015
    • Mike Pennisi's avatar
      Add tests for function `name` attribute · 2fe07413
      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
      2fe07413
  18. Jul 17, 2015
  19. Jul 15, 2015
  20. Jul 10, 2015
    • Mike Pennisi's avatar
      Prefer explicit error checking where possible · 10e0d977
      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.
      10e0d977
  21. Jun 29, 2015
    • Mike Pennisi's avatar
      Make tests more strict · 64826c2a
      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.
      64826c2a
  22. Jun 18, 2015
    • Mike Pennisi's avatar
      Update handling of directive prologues · 29ecced6
      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.
      29ecced6
  23. Jun 03, 2015
  24. May 18, 2015
    • André Bargull's avatar
      Assignment with left-hand side property accessor · c5e18d56
      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.
      c5e18d56
  25. Feb 12, 2015
  26. Dec 11, 2014
    • André Bargull's avatar
      Fix strict mode errors in language/expressions · 1a479392
      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
      1a479392
    • André Bargull's avatar
      Add test coverage for identifier resolution in dynamic scopes · 0ceb428e
      André Bargull authored
      Identifier resolution in dynamic scope context is missing test coverage, resolves https://bugs.ecmascript.org/show_bug.cgi?id=1751 .
      0ceb428e
  27. Dec 07, 2014
Loading