1import { parseVariadicArguments } from '../variadic';
2
3describe(parseVariadicArguments, () => {
4  it(`parses complex`, () => {
5    expect(
6      parseVariadicArguments([
7        'bacon',
8        '@evan/bacon',
9        '--yarn',
10        '-g',
11        '@evan/bacon/foobar.js',
12        './avocado.js',
13        '--',
14        '--npm',
15      ])
16    ).toEqual({
17      variadic: ['bacon', '@evan/bacon', '@evan/bacon/foobar.js', './avocado.js'],
18      extras: ['--npm'],
19      flags: { '--yarn': true, '-g': true },
20    });
21  });
22  it(`parses too many extras`, () => {
23    expect(() => parseVariadicArguments(['avo', '--', '--npm', '--'])).toThrow(
24      /Unexpected multiple --/
25    );
26  });
27});
28