summaryrefslogtreecommitdiff
path: root/test/es-module/test-esm-dynamic-import-assertion.js
blob: 71ef9cd1d1d30b3d00c3ed896a2310a2f6769a03 (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
36
37
38
39
40
41
42
43
44
45
46
47
'use strict';
const common = require('../common');
const { strictEqual } = require('assert');

async function test() {
  {
    const results = await Promise.allSettled([
      import('../fixtures/empty.js', { assert: { type: 'json' } }),
      import('../fixtures/empty.js'),
    ]);

    strictEqual(results[0].status, 'rejected');
    strictEqual(results[1].status, 'fulfilled');
  }

  {
    const results = await Promise.allSettled([
      import('../fixtures/empty.js'),
      import('../fixtures/empty.js', { assert: { type: 'json' } }),
    ]);

    strictEqual(results[0].status, 'fulfilled');
    strictEqual(results[1].status, 'rejected');
  }

  {
    const results = await Promise.allSettled([
      import('../fixtures/empty.json', { assert: { type: 'json' } }),
      import('../fixtures/empty.json'),
    ]);

    strictEqual(results[0].status, 'fulfilled');
    strictEqual(results[1].status, 'rejected');
  }

  {
    const results = await Promise.allSettled([
      import('../fixtures/empty.json'),
      import('../fixtures/empty.json', { assert: { type: 'json' } }),
    ]);

    strictEqual(results[0].status, 'rejected');
    strictEqual(results[1].status, 'fulfilled');
  }
}

test().then(common.mustCall());