summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/language/module-code/verify-dfs.js
blob: 59432db45f9f003afbda9a744f48265e4fd28a52 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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);
}