diff options
Diffstat (limited to 'js/src/tests/test262/language/module-code/verify-dfs.js')
-rw-r--r-- | js/src/tests/test262/language/module-code/verify-dfs.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/module-code/verify-dfs.js b/js/src/tests/test262/language/module-code/verify-dfs.js new file mode 100644 index 0000000000..59432db45f --- /dev/null +++ b/js/src/tests/test262/language/module-code/verify-dfs.js @@ -0,0 +1,35 @@ +// |reftest| module async +// Copyright (C) 2020 Ecma International. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +description: Dynamic import can't preempt DFS evaluation order +esid: sec-moduleevaluation +info: | + Evaluate ( ) Concrete Method + + 1. Assert: This call to Evaluate is not happening at the same time as another call to Evaluate within the surrounding agent. + [...] +flags: [module, async] +features: [dynamic-import] +---*/ + +import './verify-dfs-a_FIXTURE.js'; +import './verify-dfs-b_FIXTURE.js'; + +// rely on function hoisting to create shared array +export function evaluated(name) { + if (!evaluated.order) { + evaluated.order = []; + } + evaluated.order.push(name); +} + +export function check(promise) { + promise.then(() => { + assert.sameValue(evaluated.order.length, 2); + assert.sameValue(evaluated.order[0], 'A'); + assert.sameValue(evaluated.order[1], 'B'); + }) + .then($DONE, $DONE); +} |