1'use strict';
2const common = require('../common');
3const { strictEqual } = require('assert');
4
5async function test() {
6  {
7    const results = await Promise.allSettled([
8      import('../fixtures/empty.js', { with: { type: 'json' } }),
9      import('../fixtures/empty.js'),
10    ]);
11
12    strictEqual(results[0].status, 'rejected');
13    strictEqual(results[1].status, 'fulfilled');
14  }
15
16  {
17    const results = await Promise.allSettled([
18      import('../fixtures/empty.js'),
19      import('../fixtures/empty.js', { with: { type: 'json' } }),
20    ]);
21
22    strictEqual(results[0].status, 'fulfilled');
23    strictEqual(results[1].status, 'rejected');
24  }
25
26  {
27    const results = await Promise.allSettled([
28      import('../fixtures/empty.json', { with: { type: 'json' } }),
29      import('../fixtures/empty.json'),
30    ]);
31
32    strictEqual(results[0].status, 'fulfilled');
33    strictEqual(results[1].status, 'rejected');
34  }
35
36  {
37    const results = await Promise.allSettled([
38      import('../fixtures/empty.json'),
39      import('../fixtures/empty.json', { with: { type: 'json' } }),
40    ]);
41
42    strictEqual(results[0].status, 'rejected');
43    strictEqual(results[1].status, 'fulfilled');
44  }
45}
46
47test().then(common.mustCall());
48