diff options
author | Kevin Van Brunt <kmvanbrunt@gmail.com> | 2018-09-26 22:59:31 -0400 |
---|---|---|
committer | Kevin Van Brunt <kmvanbrunt@gmail.com> | 2018-09-26 22:59:31 -0400 |
commit | 7b334ecf9b189c96644d599c84eb6d0fdc5ddddf (patch) | |
tree | c00bafcb02d9ae59091a202c4be1115812cf28f8 /tests/test_cmd2.py | |
parent | 3b5c671b40d6b69315fd1c8f85f638e7b0bd6ab8 (diff) | |
download | cmd2-git-7b334ecf9b189c96644d599c84eb6d0fdc5ddddf.tar.gz |
More unit tests for aliases and macros
Diffstat (limited to 'tests/test_cmd2.py')
-rw-r--r-- | tests/test_cmd2.py | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/tests/test_cmd2.py b/tests/test_cmd2.py index 8900a14f..0468dd36 100644 --- a/tests/test_cmd2.py +++ b/tests/test_cmd2.py @@ -1765,9 +1765,10 @@ def test_poutput_color_never(base_app): assert out == expected -# These are invalid targets for aliases and macros -invalid_alias_and_macro_targets = [ +# These are invalid names for aliases and macros +invalid_command_name = [ '""', # Blank name + '!no_shortcut', '">"', '"no>pe"', '"no spaces"', @@ -1776,9 +1777,6 @@ invalid_alias_and_macro_targets = [ 'noembedded"quotes', ] -# These are invalid names for aliases and macros -invalid_alias_and_macro_names = invalid_alias_and_macro_targets + ['!no_shortcut'] - def test_get_alias_names(base_app): assert len(base_app.aliases) == 0 run_cmd(base_app, 'alias create fake pyscript') @@ -1793,6 +1791,10 @@ def test_get_macro_names(base_app): assert len(base_app.macros) == 2 assert sorted(base_app.get_macro_names()) == ['bar', 'foo'] +def test_alias_no_subcommand(base_app, capsys): + out = run_cmd(base_app, 'alias') + assert "Usage: alias [-h]" in out[0] + def test_alias_create(base_app, capsys): # Create the alias out = run_cmd(base_app, 'alias create fake pyscript') @@ -1820,7 +1822,7 @@ def test_alias_create_with_quotes(base_app, capsys): out = run_cmd(base_app, 'alias list fake') assert out == normalize('alias create fake help > "out file.txt"') -@pytest.mark.parametrize('alias_name', invalid_alias_and_macro_names) +@pytest.mark.parametrize('alias_name', invalid_command_name) def test_alias_create_invalid_name(base_app, alias_name, capsys): run_cmd(base_app, 'alias create {} help'.format(alias_name)) out, err = capsys.readouterr() @@ -1833,12 +1835,6 @@ def test_alias_create_with_macro_name(base_app, capsys): out, err = capsys.readouterr() assert "Aliases cannot have the same name as a macro" in err -@pytest.mark.parametrize('alias_target', invalid_alias_and_macro_targets) -def test_alias_create_with_invalid_target(base_app, alias_target, capsys): - run_cmd(base_app, 'alias create my_alias {}'.format(alias_target)) - out, err = capsys.readouterr() - assert "Invalid alias target" in err - def test_alias_list_invalid_alias(base_app, capsys): # Look up invalid alias out = run_cmd(base_app, 'alias list invalid') @@ -1862,6 +1858,10 @@ def test_alias_delete_non_existing(base_app, capsys): out, err = capsys.readouterr() assert "Alias 'fake' does not exist" in err +def test_alias_delete_no_name(base_app, capsys): + out = run_cmd(base_app, 'alias delete') + assert "Usage: alias delete" in out[0] + def test_multiple_aliases(base_app): alias1 = 'h1' alias2 = 'h2' @@ -1875,6 +1875,10 @@ def test_multiple_aliases(base_app): expected = normalize(BASE_HELP_VERBOSE) assert out == expected +def test_macro_no_subcommand(base_app, capsys): + out = run_cmd(base_app, 'macro') + assert "Usage: macro [-h]" in out[0] + def test_macro_create(base_app, capsys): # Create the macro out = run_cmd(base_app, 'macro create fake pyscript') @@ -1902,7 +1906,7 @@ def test_macro_create_with_quotes(base_app, capsys): out = run_cmd(base_app, 'macro list fake') assert out == normalize('macro create fake help > "out file.txt"') -@pytest.mark.parametrize('macro_name', invalid_alias_and_macro_names) +@pytest.mark.parametrize('macro_name', invalid_command_name) def test_macro_create_invalid_name(base_app, macro_name, capsys): run_cmd(base_app, 'macro create {} help'.format(macro_name)) out, err = capsys.readouterr() @@ -1921,12 +1925,6 @@ def test_macro_create_with_command_name(base_app, capsys): out, err = capsys.readouterr() assert "Macros cannot have the same name as a command" in err -@pytest.mark.parametrize('macro_target', invalid_alias_and_macro_targets) -def test_macro_create_with_invalid_target(base_app, macro_target, capsys): - run_cmd(base_app, 'macro create my_macro {}'.format(macro_target)) - out, err = capsys.readouterr() - assert "Invalid macro target" in err - def test_macro_create_with_args(base_app, capsys): # Create the macro out = run_cmd(base_app, 'macro create fake {1} {2}') @@ -1981,6 +1979,10 @@ def test_macro_delete_non_existing(base_app, capsys): out, err = capsys.readouterr() assert "Macro 'fake' does not exist" in err +def test_macro_delete_no_name(base_app, capsys): + out = run_cmd(base_app, 'macro delete') + assert "Usage: macro delete" in out[0] + def test_multiple_macros(base_app): macro1 = 'h1' macro2 = 'h2' |