diff options
author | Kevin Van Brunt <kmvanbrunt@gmail.com> | 2019-09-16 15:36:39 -0400 |
---|---|---|
committer | Kevin Van Brunt <kmvanbrunt@gmail.com> | 2019-09-16 15:36:39 -0400 |
commit | e6585d155810f9afb2a246a71f939e1c0d511694 (patch) | |
tree | 1d41d0c8e2cdd6a1ff50edbdf48f50a3b22892b4 /tests/test_argparse_completer.py | |
parent | 9a7818b5a0e22e4ee5b107f6fdcceb3d3612ffd4 (diff) | |
download | cmd2-git-e6585d155810f9afb2a246a71f939e1c0d511694.tar.gz |
Changed arg_tokens to a dictionary
Including tokens from parent parsers in arg_tokens when subcommands are used
Diffstat (limited to 'tests/test_argparse_completer.py')
-rw-r--r-- | tests/test_argparse_completer.py | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/tests/test_argparse_completer.py b/tests/test_argparse_completer.py index c1392676..c7a7c0db 100644 --- a/tests/test_argparse_completer.py +++ b/tests/test_argparse_completer.py @@ -44,18 +44,18 @@ def completer_function(text: str, line: str, begidx: int, endidx: int) -> List[s return basic_complete(text, line, begidx, endidx, completions_from_function) -def choices_takes_namespace(arg_tokens: argparse.Namespace) -> List[str]: +def choices_takes_arg_tokens(arg_tokens: argparse.Namespace) -> List[str]: """Choices function that receives arg_tokens from AutoCompleter""" - if arg_tokens.set_pos[0] == 'set1': + if arg_tokens['set_pos'][0] == 'set1': return set_one_choices else: return set_two_choices -def completer_takes_namespace(text: str, line: str, begidx: int, endidx: int, - arg_tokens: argparse.Namespace) -> List[str]: +def completer_takes_arg_tokens(text: str, line: str, begidx: int, endidx: int, + arg_tokens: argparse.Namespace) -> List[str]: """Completer function that receives arg_tokens from AutoCompleter""" - if arg_tokens.set_pos[0] == 'set1': + if arg_tokens['set_pos'][0] == 'set1': match_against = set_one_choices else: match_against = set_two_choices @@ -253,8 +253,8 @@ class AutoCompleteTester(cmd2.Cmd): ############################################################################################################ arg_tokens_parser = Cmd2ArgumentParser() arg_tokens_parser.add_argument('set_pos', help='determines what will be tab completed') - arg_tokens_parser.add_argument('choices_pos', choices_function=choices_takes_namespace) - arg_tokens_parser.add_argument('completer_pos', completer_function=completer_takes_namespace) + arg_tokens_parser.add_argument('choices_pos', choices_function=choices_takes_arg_tokens) + arg_tokens_parser.add_argument('completer_pos', completer_function=completer_takes_arg_tokens) @with_argparser(arg_tokens_parser) def do_arg_tokens(self, args: argparse.Namespace) -> None: @@ -754,11 +754,11 @@ Hint: @pytest.mark.parametrize('command_and_args, completions', [ - # Exercise a choices function that receives arg_tokens Namespace + # Exercise a choices function that receives arg_tokens dictionary ('arg_tokens set1', set_one_choices), ('arg_tokens set2', set_two_choices), - # Exercise a completer that receives arg_tokens Namespace + # Exercise a completer that receives arg_tokens dictionary ('arg_tokens set1 fake', set_one_choices), ('arg_tokens set2 fake', set_two_choices), ]) |