mirror of
https://github.com/tc39/test262.git
synced 2025-07-31 01:44:54 +02:00
- 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
31 lines
754 B
JavaScript
31 lines
754 B
JavaScript
// Copyright (C) 2015 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
|
|
description: >
|
|
Control flow during body evaluation should honor `throw` statements.
|
|
features: [generators]
|
|
---*/
|
|
|
|
function* values() {
|
|
yield 1;
|
|
$ERROR('This code is unreachable (following `yield` statement).');
|
|
}
|
|
var CustomError = function() {};
|
|
var iterator = values();
|
|
var i = 0;
|
|
var error = new CustomError();
|
|
|
|
assert.throws(CustomError, function() {
|
|
for (var x of iterator) {
|
|
i++;
|
|
throw error;
|
|
|
|
$ERROR('This code is unreachable (following `throw` statement).');
|
|
}
|
|
|
|
$ERROR('This code is unreachable (following `for..in` statement).');
|
|
});
|
|
|
|
assert.sameValue(i, 1);
|