diff options
author | Kevin Van Brunt <kmvanbrunt@gmail.com> | 2019-07-18 16:08:32 -0400 |
---|---|---|
committer | Kevin Van Brunt <kmvanbrunt@gmail.com> | 2019-07-18 16:08:32 -0400 |
commit | 858476599f1d8ac9642c36f0a573cbd596e47a67 (patch) | |
tree | 266a272ce3a0df475372e9cb824cb7cff2ef096e /tests | |
parent | 8e656392c996e11642edbc5b4c6f96e4e614efeb (diff) | |
download | cmd2-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.py | 24 | ||||
-rw-r--r-- | tests/test_argparse_custom.py | 33 |
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() |