summaryrefslogtreecommitdiff
path: root/tests/test_cmd2.py
diff options
context:
space:
mode:
authorKevin Van Brunt <kmvanbrunt@gmail.com>2019-07-23 23:59:53 -0400
committerKevin Van Brunt <kmvanbrunt@gmail.com>2019-07-23 23:59:53 -0400
commit7f6dad1daa3626598a38a16ac373b9a8f4e472da (patch)
treece8036bd915451f6993c13e5fc41775d42e8ced7 /tests/test_cmd2.py
parent8ed685e54d897b00666581a07f0b889588a28bb1 (diff)
downloadcmd2-git-7f6dad1daa3626598a38a16ac373b9a8f4e472da.tar.gz
Removed restriction on macros named after non-multiline commands
Added unit tests
Diffstat (limited to 'tests/test_cmd2.py')
-rw-r--r--tests/test_cmd2.py39
1 files changed, 36 insertions, 3 deletions
diff --git a/tests/test_cmd2.py b/tests/test_cmd2.py
index 3f8c43b7..1f63e234 100644
--- a/tests/test_cmd2.py
+++ b/tests/test_cmd2.py
@@ -1662,9 +1662,12 @@ def test_macro_create_with_alias_name(base_app):
out, err = run_cmd(base_app, 'macro create {} help'.format(macro))
assert "Macro cannot have the same name as an alias" in err[0]
-def test_macro_create_with_command_name(base_app):
- out, err = run_cmd(base_app, 'macro create help stuff')
- assert "Macro cannot have the same name as a command" in err[0]
+def test_macro_create_with_command_name(multiline_app):
+ out, err = run_cmd(multiline_app, 'macro create help stuff')
+ assert out == normalize("Macro 'help' created")
+
+ out, err = run_cmd(multiline_app, 'macro create orate stuff')
+ assert "Macro cannot have the same name as a multiline command" in err[0]
def test_macro_create_with_args(base_app):
# Create the macro
@@ -1783,6 +1786,36 @@ def test_nonexistent_macro(base_app):
assert exception is not None
+def test_input_line_to_statement_expand(base_app):
+ # Enable/Disable expansion of shortcuts
+ line = '!ls'
+ statement = base_app._input_line_to_statement(line, expand=True)
+ assert statement.command == 'shell'
+
+ statement = base_app._input_line_to_statement(line, expand=False)
+ assert statement.command == '!ls'
+
+ # Enable/Disable expansion of aliases
+ run_cmd(base_app, 'alias create help macro')
+
+ line = 'help'
+ statement = base_app._input_line_to_statement(line, expand=True)
+ assert statement.command == 'macro'
+
+ statement = base_app._input_line_to_statement(line, expand=False)
+ assert statement.command == 'help'
+
+ run_cmd(base_app, 'alias delete help')
+
+ # Enable/Disable expansion of macros
+ run_cmd(base_app, 'macro create help alias')
+
+ line = 'help'
+ statement = base_app._input_line_to_statement(line, expand=True)
+ assert statement.command == 'alias'
+
+ statement = base_app._input_line_to_statement(line, expand=False)
+ assert statement.command == 'help'
def test_ppaged(outsim_app):
msg = 'testing...'