mirror of
https://github.com/tc39/test262.git
synced 2025-11-13 18:29:44 +01:00
* Add remaining tests specific to await-using statement syntax * PR feedback and minor fixes due to banning 'await using' in switch case/default * Additional updates * Fix comment formatting * Fix esid * Fix test implementation * Fix error type in test
34 lines
898 B
JavaScript
34 lines
898 B
JavaScript
// Copyright (C) 2023 Ron Buckton. All rights reserved.
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
|
|
/*---
|
|
esid: sec-runtime-semantics-fordeclarationbindinginstantiation
|
|
description: >
|
|
outer await using binding unchanged by for-loop await using binding
|
|
flags: [async]
|
|
includes: [asyncHelpers.js]
|
|
features: [explicit-resource-management]
|
|
---*/
|
|
|
|
asyncTest(async function () {
|
|
const outer_x = { [Symbol.dispose]() {} };
|
|
const outer_y = { [Symbol.dispose]() {} };
|
|
const inner_x = { [Symbol.dispose]() {} };
|
|
const inner_y = { [Symbol.dispose]() {} };
|
|
|
|
{
|
|
await using x = outer_x;
|
|
await using y = outer_y;
|
|
var i = 0;
|
|
|
|
for (await using x = inner_x; i < 1; i++) {
|
|
await using y = inner_y;
|
|
|
|
assert.sameValue(x, inner_x);
|
|
assert.sameValue(y, inner_y);
|
|
}
|
|
assert.sameValue(x, outer_x);
|
|
assert.sameValue(y, outer_y);
|
|
}
|
|
});
|