mirror of https://github.com/tc39/test262.git
Add test for TLA DFS invariant (#2989)
This behavior was introduced after the Top-Level Await proposal reached stage 3: https://github.com/tc39/proposal-top-level-await/pull/159
This commit is contained in:
parent
5ae04619a9
commit
8183e9a629
|
@ -0,0 +1,4 @@
|
||||||
|
// Copyright (C) 2021 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
await 0;
|
||||||
|
globalThis.test262 = 'async';
|
|
@ -0,0 +1,4 @@
|
||||||
|
// Copyright (C) 2021 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
import './dfs-invariant-async_FIXTURE.js';
|
||||||
|
globalThis.test262 += ':direct-1';
|
|
@ -0,0 +1,4 @@
|
||||||
|
// Copyright (C) 2021 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
import './dfs-invariant-async_FIXTURE.js';
|
||||||
|
globalThis.test262 += ':direct-2';
|
|
@ -0,0 +1,4 @@
|
||||||
|
// Copyright (C) 2021 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
import './dfs-invariant-direct-1_FIXTURE.js';
|
||||||
|
globalThis.test262 += ':indirect';
|
|
@ -0,0 +1,40 @@
|
||||||
|
// Copyright (C) 2021 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
description: Parent completion orderings match the synchronous module behavior
|
||||||
|
info: |
|
||||||
|
6.2.4 AsyncModuleExecutionFulfilled ( module )
|
||||||
|
|
||||||
|
[...]
|
||||||
|
5. Let _execList_ be a new empty List.
|
||||||
|
6. Perform ! GatherAsyncParentCompletions(_module_, _execList_).
|
||||||
|
7. Let _sortedExecList_ be a List of elements that are the elements of
|
||||||
|
_execList_, in the order in which they had their [[AsyncEvaluating]]
|
||||||
|
fields set to *true* in InnerModuleEvaluation.
|
||||||
|
8. Assert: All elements of _sortedExecList_ have their [[AsyncEvaluating]]
|
||||||
|
field set to *true*, [[PendingAsyncDependencies]] field set to 0 and
|
||||||
|
[[EvaluationError]] field set to *undefined*.
|
||||||
|
[...]
|
||||||
|
|
||||||
|
Dependency graph for this test:
|
||||||
|
|
||||||
|
dfs-invariant.js
|
||||||
|
.-----------------------------------+-------.
|
||||||
|
| | v
|
||||||
|
| | dfs-invariant-indirect_FIXTURE.js
|
||||||
|
| .---|----------------------'
|
||||||
|
v v v
|
||||||
|
dfs-invariant-direct-1_FIXTURE.js dfs-invariant-direct-2_FIXTURE.js
|
||||||
|
'--------. .--------'
|
||||||
|
v v
|
||||||
|
dfs-invariant-async_FIXTURE.js
|
||||||
|
esid: sec-moduleevaluation
|
||||||
|
flags: [module]
|
||||||
|
features: [top-level-await, globalThis]
|
||||||
|
---*/
|
||||||
|
|
||||||
|
import './dfs-invariant-direct-1_FIXTURE.js';
|
||||||
|
import './dfs-invariant-direct-2_FIXTURE.js';
|
||||||
|
import './dfs-invariant-indirect_FIXTURE.js';
|
||||||
|
|
||||||
|
assert.sameValue(globalThis.test262, 'async:direct-1:direct-2:indirect');
|
Loading…
Reference in New Issue