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
38 lines
940 B
JavaScript
38 lines
940 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 within
|
|
the `catch` block of `try` 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) {
|
|
try {
|
|
throw new Error();
|
|
} catch (err) {
|
|
i++;
|
|
throw error;
|
|
|
|
$ERROR('This code is unreachable (following `throw` statement).');
|
|
}
|
|
|
|
$ERROR('This code is unreachable (following `try` statement).');
|
|
}
|
|
|
|
$ERROR('This code is unreachable (following `for..in` statement).');
|
|
});
|
|
|
|
assert.sameValue(i, 1);
|