summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorKevin Van Brunt <kmvanbrunt@gmail.com>2019-07-18 16:08:32 -0400
committerKevin Van Brunt <kmvanbrunt@gmail.com>2019-07-18 16:08:32 -0400
commit858476599f1d8ac9642c36f0a573cbd596e47a67 (patch)
tree266a272ce3a0df475372e9cb824cb7cff2ef096e /tests
parent8e656392c996e11642edbc5b4c6f96e4e614efeb (diff)
downloadcmd2-git-858476599f1d8ac9642c36f0a573cbd596e47a67.tar.gz
Renamed ArgParser to Cmd2ArgumentParser to make it clear it's a derived class of argparse.ArgumentParser
when developers read the code in cmd2.py.
Diffstat (limited to 'tests')
-rw-r--r--tests/test_argparse_completer.py24
-rw-r--r--tests/test_argparse_custom.py33
2 files changed, 29 insertions, 28 deletions
diff --git a/tests/test_argparse_completer.py b/tests/test_argparse_completer.py
index e690f90a..daddf0dd 100644
--- a/tests/test_argparse_completer.py
+++ b/tests/test_argparse_completer.py
@@ -9,7 +9,7 @@ from typing import List
import pytest
import cmd2
-from cmd2 import with_argparser, CompletionItem
+from cmd2 import with_argparser, Cmd2ArgumentParser, CompletionItem
from cmd2.utils import StdSim, basic_complete
from .conftest import run_cmd, complete_tester
@@ -63,7 +63,7 @@ class AutoCompleteTester(cmd2.Cmd):
self.poutput('music create rock')
# Top level parser for music command
- music_parser = cmd2.ArgParser(description='Manage music', prog='music')
+ music_parser = Cmd2ArgumentParser(description='Manage music', prog='music')
# Add sub-commands to music
music_subparsers = music_parser.add_subparsers()
@@ -100,7 +100,7 @@ class AutoCompleteTester(cmd2.Cmd):
############################################################################################################
# Uses default flag prefix value (-)
- flag_parser = cmd2.ArgParser()
+ flag_parser = Cmd2ArgumentParser()
flag_parser.add_argument('-n', '--normal_flag', help='A normal flag', action='store_true')
flag_parser.add_argument('-a', '--append_flag', help='Append flag', action='append')
flag_parser.add_argument('-o', '--append_const_flag', help='Append const flag', action='append_const', const=True)
@@ -113,7 +113,7 @@ class AutoCompleteTester(cmd2.Cmd):
pass
# Uses non-default flag prefix value (+)
- plus_flag_parser = cmd2.ArgParser(prefix_chars='+')
+ plus_flag_parser = Cmd2ArgumentParser(prefix_chars='+')
plus_flag_parser.add_argument('+n', '++normal_flag', help='A normal flag', action='store_true')
@with_argparser(plus_flag_parser)
@@ -135,7 +135,7 @@ class AutoCompleteTester(cmd2.Cmd):
items.append(CompletionItem(main_str, desc='blah blah'))
return items
- choices_parser = cmd2.ArgParser()
+ choices_parser = Cmd2ArgumentParser()
# Flag args for choices command. Include string and non-string arg types.
choices_parser.add_argument("-l", "--list", help="a flag populated with a choices list",
@@ -168,7 +168,7 @@ class AutoCompleteTester(cmd2.Cmd):
"""Tab completion method"""
return basic_complete(text, line, begidx, endidx, completions_from_method)
- completer_parser = cmd2.ArgParser()
+ completer_parser = Cmd2ArgumentParser()
# Flag args for completer command
completer_parser.add_argument("-f", "--function", help="a flag using a completer function",
@@ -189,7 +189,7 @@ class AutoCompleteTester(cmd2.Cmd):
############################################################################################################
# Begin code related to nargs
############################################################################################################
- nargs_parser = cmd2.ArgParser()
+ nargs_parser = Cmd2ArgumentParser()
# Flag args for nargs command
nargs_parser.add_argument("--set_value", help="a flag with a set value for nargs", nargs=2,
@@ -215,7 +215,7 @@ class AutoCompleteTester(cmd2.Cmd):
############################################################################################################
# Begin code related to testing tab hints
############################################################################################################
- hint_parser = cmd2.ArgParser()
+ hint_parser = Cmd2ArgumentParser()
hint_parser.add_argument('-f', '--flag', help='a flag arg')
hint_parser.add_argument('-s', '--suppressed_help', help=argparse.SUPPRESS)
hint_parser.add_argument('-t', '--suppressed_hint', help='a flag arg', suppress_tab_hint=True)
@@ -711,7 +711,7 @@ Hint:
def test_single_prefix_char():
from cmd2.argparse_completer import _single_prefix_char
- parser = cmd2.ArgParser(prefix_chars='-+')
+ parser = Cmd2ArgumentParser(prefix_chars='-+')
# Invalid
assert not _single_prefix_char('', parser)
@@ -727,7 +727,7 @@ def test_single_prefix_char():
def test_looks_like_flag():
from cmd2.argparse_completer import _looks_like_flag
- parser = cmd2.ArgParser()
+ parser = Cmd2ArgumentParser()
# Does not start like a flag
assert not _looks_like_flag('', parser)
@@ -745,7 +745,7 @@ def test_looks_like_flag():
def test_complete_command_no_tokens(ac_app):
from cmd2.argparse_completer import AutoCompleter
- parser = cmd2.ArgParser()
+ parser = Cmd2ArgumentParser()
ac = AutoCompleter(parser, ac_app)
completions = ac.complete_command(tokens=[], text='', line='', begidx=0, endidx=0)
@@ -755,7 +755,7 @@ def test_complete_command_no_tokens(ac_app):
def test_complete_command_help_no_tokens(ac_app):
from cmd2.argparse_completer import AutoCompleter
- parser = cmd2.ArgParser()
+ parser = Cmd2ArgumentParser()
ac = AutoCompleter(parser, ac_app)
completions = ac.complete_command_help(tokens=[], text='', line='', begidx=0, endidx=0)
diff --git a/tests/test_argparse_custom.py b/tests/test_argparse_custom.py
index caf30080..6c6879c8 100644
--- a/tests/test_argparse_custom.py
+++ b/tests/test_argparse_custom.py
@@ -7,6 +7,7 @@ import argparse
import pytest
import cmd2
+from cmd2 import Cmd2ArgumentParser
from cmd2.argparse_custom import generate_range_error, INFINITY
from .conftest import run_cmd
@@ -16,7 +17,7 @@ class ApCustomTestApp(cmd2.Cmd):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
- range_parser = cmd2.ArgParser()
+ range_parser = Cmd2ArgumentParser()
range_parser.add_argument('--arg0', nargs=1)
range_parser.add_argument('--arg1', nargs=2)
range_parser.add_argument('--arg2', nargs=(3,))
@@ -50,7 +51,7 @@ def fake_func():
({'choices_method': fake_func, 'completer_method': fake_func}, False),
])
def test_apcustom_invalid_args(args, is_valid):
- parser = cmd2.ArgParser(prog='test')
+ parser = Cmd2ArgumentParser(prog='test')
try:
parser.add_argument('name', **args)
assert is_valid
@@ -61,7 +62,7 @@ def test_apcustom_invalid_args(args, is_valid):
def test_apcustom_usage():
usage = "A custom usage statement"
- parser = cmd2.ArgParser(usage=usage)
+ parser = Cmd2ArgumentParser(usage=usage)
assert usage in parser.format_help()
@@ -101,40 +102,40 @@ def test_apcustom_nargs_range_validation(cust_app):
])
def test_apcustom_narg_invalid_tuples(nargs_tuple):
with pytest.raises(ValueError) as excinfo:
- parser = cmd2.ArgParser(prog='test')
+ parser = Cmd2ArgumentParser(prog='test')
parser.add_argument('invalid_tuple', nargs=nargs_tuple)
assert 'Ranged values for nargs must be a tuple of 1 or 2 integers' in str(excinfo.value)
def test_apcustom_narg_tuple_order():
with pytest.raises(ValueError) as excinfo:
- parser = cmd2.ArgParser(prog='test')
+ parser = Cmd2ArgumentParser(prog='test')
parser.add_argument('invalid_tuple', nargs=(2, 1))
assert 'Invalid nargs range. The first value must be less than the second' in str(excinfo.value)
def test_apcustom_narg_tuple_negative():
with pytest.raises(ValueError) as excinfo:
- parser = cmd2.ArgParser(prog='test')
+ parser = Cmd2ArgumentParser(prog='test')
parser.add_argument('invalid_tuple', nargs=(-1, 1))
assert 'Negative numbers are invalid for nargs range' in str(excinfo.value)
# noinspection PyUnresolvedReferences
def test_apcustom_narg_tuple_zero_base():
- parser = cmd2.ArgParser(prog='test')
+ parser = Cmd2ArgumentParser(prog='test')
arg = parser.add_argument('arg', nargs=(0,))
assert arg.nargs == argparse.ZERO_OR_MORE
assert arg.nargs_range is None
assert "[arg [...]]" in parser.format_help()
- parser = cmd2.ArgParser(prog='test')
+ parser = Cmd2ArgumentParser(prog='test')
arg = parser.add_argument('arg', nargs=(0, 1))
assert arg.nargs == argparse.OPTIONAL
assert arg.nargs_range is None
assert "[arg]" in parser.format_help()
- parser = cmd2.ArgParser(prog='test')
+ parser = Cmd2ArgumentParser(prog='test')
arg = parser.add_argument('arg', nargs=(0, 3))
assert arg.nargs == argparse.ZERO_OR_MORE
assert arg.nargs_range == (0, 3)
@@ -143,13 +144,13 @@ def test_apcustom_narg_tuple_zero_base():
# noinspection PyUnresolvedReferences
def test_apcustom_narg_tuple_one_base():
- parser = cmd2.ArgParser(prog='test')
+ parser = Cmd2ArgumentParser(prog='test')
arg = parser.add_argument('arg', nargs=(1,))
assert arg.nargs == argparse.ONE_OR_MORE
assert arg.nargs_range is None
assert "arg [...]" in parser.format_help()
- parser = cmd2.ArgParser(prog='test')
+ parser = Cmd2ArgumentParser(prog='test')
arg = parser.add_argument('arg', nargs=(1, 5))
assert arg.nargs == argparse.ONE_OR_MORE
assert arg.nargs_range == (1, 5)
@@ -160,13 +161,13 @@ def test_apcustom_narg_tuple_one_base():
def test_apcustom_narg_tuple_other_ranges():
# Test range with no upper bound on max
- parser = cmd2.ArgParser(prog='test')
+ parser = Cmd2ArgumentParser(prog='test')
arg = parser.add_argument('arg', nargs=(2,))
assert arg.nargs == argparse.ONE_OR_MORE
assert arg.nargs_range == (2, INFINITY)
# Test finite range
- parser = cmd2.ArgParser(prog='test')
+ parser = Cmd2ArgumentParser(prog='test')
arg = parser.add_argument('arg', nargs=(2, 5))
assert arg.nargs == argparse.ONE_OR_MORE
assert arg.nargs_range == (2, 5)
@@ -177,13 +178,13 @@ def test_apcustom_print_message(capsys):
test_message = 'The test message'
# Specify the file
- parser = cmd2.ArgParser(prog='test')
+ parser = Cmd2ArgumentParser(prog='test')
parser._print_message(test_message, file=sys.stdout)
out, err = capsys.readouterr()
assert test_message in out
# Make sure file defaults to sys.stderr
- parser = cmd2.ArgParser(prog='test')
+ parser = Cmd2ArgumentParser(prog='test')
parser._print_message(test_message)
out, err = capsys.readouterr()
assert test_message in err
@@ -214,6 +215,6 @@ def test_generate_range_error():
def test_apcustom_required_options():
# Make sure a 'required arguments' section shows when a flag is marked required
- parser = cmd2.ArgParser(prog='test')
+ parser = Cmd2ArgumentParser(prog='test')
parser.add_argument('--required_flag', required=True)
assert 'required arguments' in parser.format_help()