import { getArgValue , getArgValues } from './read_argv' ; describe ( 'getArgValues' , ( ) => { it ( 'retrieve the arg value from the provided argv arguments' , ( ) => { const argValues = getArgValues ( [ '--config' , 'my-config' , '--foo' , '-b' , 'bar' , '--config' , 'other-config' , '--baz' ] , '--config' ) ; expect ( argValues ) . toEqual ( [ 'my-config' , 'other-config' ] ) ; } ) ; it ( 'accept aliases' , ( ) => { const argValues = getArgValues ( [ '--config' , 'my-config' , '--foo' , '-b' , 'bar' , '-c' , 'other-config' , '--baz' ] , [ '--config' , '-c' ] ) ; expect ( argValues ) . toEqual ( [ 'my-config' , 'other-config' ] ) ; } ) ; it ( 'returns an empty array when the arg is not found' , ( ) => { const argValues = getArgValues ( [ '--config' , 'my-config' , '--foo' , '-b' , 'bar' , '-c' , 'other-config' , '--baz' ] , '--unicorn' ) ; expect ( argValues ) . toEqual ( [ ] ) ; } ) ; it ( 'ignores the flag when no value is provided' , ( ) => { const argValues = getArgValues ( [ '-c' , 'my-config' , '--foo' , '-b' , 'bar' , '--config' ] , [ '--config' , '-c' ] ) ; expect ( argValues ) . toEqual ( [ 'my-config' ] ) ; } ) ; } ) ; describe ( 'getArgValue' , ( ) => { it ( 'retrieve the first arg value from the provided argv arguments' , ( ) => { const argValues = getArgValue ( [ '--config' , 'my-config' , '--foo' , '-b' , 'bar' , '--config' , 'other-config' , '--baz' ] , '--config' ) ; expect ( argValues ) . toEqual ( 'my-config' ) ; } ) ; it ( 'accept aliases' , ( ) => { const argValues = getArgValue ( [ '-c' , 'my-config' , '--foo' , '-b' , 'bar' , '--config' , 'other-config' , '--baz' ] , [ '--config' , '-c' ] ) ; expect ( argValues ) . toEqual ( 'my-config' ) ; } ) ; it ( 'returns undefined the arg is not found' , ( ) => { const argValues = getArgValue ( [ '--config' , 'my-config' , '--foo' , '-b' , 'bar' , '-c' , 'other-config' , '--baz' ] , '--unicorn' ) ; expect ( argValues ) . toBeUndefined ( ) ; } ) ; } ) ;