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