summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorKevin Van Brunt <kmvanbrunt@gmail.com>2019-07-11 16:14:47 -0400
committerKevin Van Brunt <kmvanbrunt@gmail.com>2019-07-11 16:14:47 -0400
commita28896f40177d66a717250cb890c5ac82eba179d (patch)
treeb1026f3462a7c9a047631425525f8fb0f8f8cab4 /tests
parentbd1eb859e8d0396bfe4d02f02b4fc0552e3fb931 (diff)
downloadcmd2-git-a28896f40177d66a717250cb890c5ac82eba179d.tar.gz
Removed unused code and add unit test
Diffstat (limited to 'tests')
-rw-r--r--tests/test_argparse_completer.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/test_argparse_completer.py b/tests/test_argparse_completer.py
index f1faa66a..fa987503 100644
--- a/tests/test_argparse_completer.py
+++ b/tests/test_argparse_completer.py
@@ -411,6 +411,35 @@ def test_autocomp_positional_completers(ac_app, pos, text, completions):
assert ac_app.completion_matches == sorted(completions, key=ac_app.matches_sort_key)
+def test_autocomp_blank_token(ac_app):
+ """Force a blank token to make sure AutoCompleter consumes them like argparse does"""
+ from cmd2.argparse_completer import AutoCompleter
+
+ blank = ''
+
+ # Blank flag arg
+ text = ''
+ line = 'completer -m {} {}'.format(blank, text)
+ endidx = len(line)
+ begidx = endidx - len(text)
+
+ completer = AutoCompleter(ac_app.completer_parser, ac_app)
+ tokens = ['completer', '-f', blank, text]
+ completions = completer.complete_command(tokens, text, line, begidx, endidx)
+ assert completions == completions_from_function
+
+ # Blank positional arg
+ text = ''
+ line = 'completer {} {}'.format(blank, text)
+ endidx = len(line)
+ begidx = endidx - len(text)
+
+ completer = AutoCompleter(ac_app.completer_parser, ac_app)
+ tokens = ['completer', blank, text]
+ completions = completer.complete_command(tokens, text, line, begidx, endidx)
+ assert completions == completions_from_method
+
+
@pytest.mark.parametrize('num_aliases, show_description', [
# The number of completion results determines if the description field of CompletionItems gets displayed
# in the tab completions. The count must be greater than 1 and less than ac_app.max_completion_items,
@@ -611,6 +640,7 @@ Hint:
'''
+
def test_is_potential_flag():
from cmd2.argparse_completer import is_potential_flag
parser = Cmd2ArgParser()