def test_parse_arguments(self): input_ = ArgvInput(['cli.py', 'foo']) input_.bind( InputDefinition([ InputArgument('name') ]) ) self.assertEqual({'name': 'foo'}, input_.get_arguments()) # parse is stateless self.assertEqual({'name': 'foo'}, input_.get_arguments())
def test_parse_arguments(self): input_ = ArgvInput(['cli.py', 'foo']) input_.bind( InputDefinition([ InputArgument('name') ]) ) self.assertEqual({'name': 'foo'}, input_.get_arguments()) # parse is stateless self.assertEqual({'name': 'foo'}, input_.get_arguments())
def test_parse_empty_string_argument(self): input_ = ArgvInput(['cli.py', '-f', 'bar', '']) input_.bind(InputDefinition([ InputArgument('empty'), InputOption('foo', 'f', InputOption.VALUE_OPTIONAL) ])) self.assertEqual({'empty': ''}, input_.get_arguments())
def test_parse_empty_string_argument(self): input_ = ArgvInput(['cli.py', '-f', 'bar', '']) input_.bind(InputDefinition([ InputArgument('empty'), InputOption('foo', 'f', InputOption.VALUE_OPTIONAL) ])) self.assertEqual({'empty': ''}, input_.get_arguments())
def test_negative_number_after_double_dash(self): input_ = ArgvInput(['cli.py', '--', '-1']) input_.bind( InputDefinition([ InputArgument('number') ]) ) self.assertEqual({'number': '-1'}, input_.get_arguments()) input_ = ArgvInput(['cli.py', '-f', 'bar', '--', '-1']) input_.bind( InputDefinition([ InputArgument('number'), InputOption('foo', 'f', InputOption.VALUE_OPTIONAL) ]) ) self.assertEqual({'foo': 'bar'}, input_.get_options()) self.assertEqual({'number': '-1'}, input_.get_arguments())
def test_negative_number_after_double_dash(self): input_ = ArgvInput(['cli.py', '--', '-1']) input_.bind( InputDefinition([ InputArgument('number') ]) ) self.assertEqual({'number': '-1'}, input_.get_arguments()) input_ = ArgvInput(['cli.py', '-f', 'bar', '--', '-1']) input_.bind( InputDefinition([ InputArgument('number'), InputOption('foo', 'f', InputOption.VALUE_OPTIONAL) ]) ) self.assertEqual({'foo': 'bar'}, input_.get_options()) self.assertEqual({'number': '-1'}, input_.get_arguments())
def test_parse_list_argument(self): input_ = ArgvInput(['cli.py', 'foo', 'bar', 'baz', 'bat']) input_.bind( InputDefinition([ InputArgument('name', InputArgument.IS_LIST) ]) ) self.assertEqual( {'name': ['foo', 'bar', 'baz', 'bat']}, input_.get_arguments() )
def test_parse_list_argument(self): input_ = ArgvInput(['cli.py', 'foo', 'bar', 'baz', 'bat']) input_.bind( InputDefinition([ InputArgument('name', InputArgument.IS_LIST) ]) ) self.assertEqual( {'name': ['foo', 'bar', 'baz', 'bat']}, input_.get_arguments() )
def test_parse_single_dash_argument(self): input_ = ArgvInput(['cli.py', '-']) input_.bind(InputDefinition([ InputArgument('file') ])) self.assertEqual({'file': '-'}, input_.get_arguments())
def test_parse_single_dash_argument(self): input_ = ArgvInput(['cli.py', '-']) input_.bind(InputDefinition([ InputArgument('file') ])) self.assertEqual({'file': '-'}, input_.get_arguments())