summaryrefslogtreecommitdiff
path: root/tests/test_argparse_completer.py
diff options
context:
space:
mode:
authorKevin Van Brunt <kmvanbrunt@gmail.com>2019-09-16 15:36:39 -0400
committerKevin Van Brunt <kmvanbrunt@gmail.com>2019-09-16 15:36:39 -0400
commite6585d155810f9afb2a246a71f939e1c0d511694 (patch)
tree1d41d0c8e2cdd6a1ff50edbdf48f50a3b22892b4 /tests/test_argparse_completer.py
parent9a7818b5a0e22e4ee5b107f6fdcceb3d3612ffd4 (diff)
downloadcmd2-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.py18
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),
])