def test_arg_from_free_value(): cli = CliApp() assert cli._arg_from_free_value('dummy', None) \ == (('--dummy',), {'default': None}) assert cli._arg_from_free_value('dummy', True) \ == (('--dummy',), {'default': True, 'action': 'store_false'}) assert cli._arg_from_free_value('dummy', False) \ == (('--dummy',), {'default': False, 'action': 'store_true'}) assert cli._arg_from_free_value('dummy', []) \ == (('--dummy',), {'action': 'append', 'type': None, 'default': []}) assert cli._arg_from_free_value('dummy', [str]) \ == (('--dummy',), {'action': 'append', 'type': str, 'default': []}) assert cli._arg_from_free_value('dummy', ['string here']) \ == (('--dummy',), {'action': 'append', 'type': str, 'default': []}) assert cli._arg_from_free_value('dummy', ['one', 'two', 'three']) \ == (('--dummy',), {'type': 'choice', 'choices': ['one', 'two', 'three'], 'default': 'one'}) assert cli._arg_from_free_value('dummy', str) \ == (('--dummy',), {'type': str, 'default': None}) assert cli._arg_from_free_value('dummy', 'hello') \ == (('--dummy',), {'type': str, 'default': 'hello'})
def test_function_registration(): """ Pin-point a nasty bug that was occurring due to a wrong name.. """ cli = CliApp() def hello(name='world'): pass func_info = cli._analyze_function(hello) assert func_info['keyword_args'] == [('name', 'world')] a, kw = cli._arg_from_free_value('name', 'world') assert a == ('--name', ) assert kw == {'default': 'world', 'type': str} subparser = cli._register_command(hello) assert subparser.get_default('func').func is hello assert subparser.get_default('name') == 'world'
def test_function_registration(): """ Pin-point a nasty bug that was occurring due to a wrong name.. """ cli = CliApp() def hello(name='world'): pass func_info = cli._analyze_function(hello) assert func_info['keyword_args'] == [('name', 'world')] a, kw = cli._arg_from_free_value('name', 'world') assert a == ('--name',) assert kw == {'default': 'world', 'type': str} subparser = cli._register_command(hello) assert subparser.get_default('func').func is hello assert subparser.get_default('name') == 'world'