Skip to content
Snippets Groups Projects
  • Mike Pennisi's avatar
    3bf56527
    Improve `for..of` control flow tests · 3bf56527
    Mike Pennisi authored
    - Expand ambiguous assertion messages and assert execution paths more
      finely.
    - Improve variable names in `for..of` tests
      While the object created by a GeneratorFunction may be considered an
      "iterable", it is being used as an iterator in these tests. Naming the
      variable according to the way it is used improves the readability of
      the test body.
    - Add 'features' attribute to test frontmatter
    - Move tests
    - Introduce additional `for..of` control flow tests
    3bf56527
    History
    Improve `for..of` control flow tests
    Mike Pennisi authored
    - Expand ambiguous assertion messages and assert execution paths more
      finely.
    - Improve variable names in `for..of` tests
      While the object created by a GeneratorFunction may be considered an
      "iterable", it is being used as an iterator in these tests. Naming the
      variable according to the way it is used improves the readability of
      the test body.
    - Add 'features' attribute to test frontmatter
    - Move tests
    - Introduce additional `for..of` control flow tests
break-from-catch.js 739 B
// Copyright (C) 2013 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 13.6.4.13 S5.n
description: >
    Control flow during body evaluation should honor `break` statements within
    the `catch` block of `try` statements.
features: [generators]
---*/

function* values() {
  yield 1;
  $ERROR('This code is unreachable (following `yield` statement).');
}
var iterator = values();
var i = 0;

for (var x of iterator) {

  try {
    throw new Error();
  } catch (err) {
    i++;
    break;
    $ERROR('This code is unreachable (following `break` statement).');
  }

  $ERROR('This code is unreachable (following `try` statement).');
}

assert.sameValue(i, 1);