Skip to content
Snippets Groups Projects
  • jugglinmike's avatar
    26676bea
    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
    History
    Add tests for IteratorClose in dstr assignment (#524)
    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.