1import { resolveOptionsAsync } from '../resolveOptions';
2
3describe(resolveOptionsAsync, () => {
4  it(`asserts invalid platform`, async () => {
5    await expect(resolveOptionsAsync({ '--platform': 'foobar' })).rejects.toThrow(
6      /^Unsupported platform "foobar"\./
7    );
8  });
9
10  it(`parses qualified options`, async () => {
11    await expect(
12      resolveOptionsAsync({
13        '--output-dir': 'foobar',
14        '--platform': 'android',
15        '--clear': true,
16        '--dev': true,
17        '--dump-assetmap': true,
18        '--dump-sourcemap': true,
19        '--max-workers': 2,
20      })
21    ).resolves.toEqual({
22      clear: true,
23      dev: true,
24      dumpAssetmap: true,
25      dumpSourcemap: true,
26      maxWorkers: 2,
27      outputDir: 'foobar',
28      platforms: ['android'],
29    });
30  });
31
32  it(`parses default options`, async () => {
33    await expect(resolveOptionsAsync({})).resolves.toEqual({
34      clear: false,
35      dev: false,
36      dumpAssetmap: false,
37      dumpSourcemap: false,
38      maxWorkers: undefined,
39      outputDir: 'dist',
40      platforms: ['android', 'ios'],
41    });
42  });
43});
44