diff options
author | Kevin Van Brunt <kmvanbrunt@gmail.com> | 2019-05-13 13:12:24 -0400 |
---|---|---|
committer | Kevin Van Brunt <kmvanbrunt@gmail.com> | 2019-05-13 13:12:24 -0400 |
commit | 94583078ce4018b6abe0dc2898958fee1acf96e3 (patch) | |
tree | bace76769d869d9ce0f0bbef34f38349685776af /tests/test_parsing.py | |
parent | c4ee21446e1507ebd5c42a521fa2c0bcb2648c85 (diff) | |
download | cmd2-git-94583078ce4018b6abe0dc2898958fee1acf96e3.tar.gz |
Added unit tests
Diffstat (limited to 'tests/test_parsing.py')
-rw-r--r-- | tests/test_parsing.py | 100 |
1 files changed, 99 insertions, 1 deletions
diff --git a/tests/test_parsing.py b/tests/test_parsing.py index bd9648dc..9d92c876 100644 --- a/tests/test_parsing.py +++ b/tests/test_parsing.py @@ -296,7 +296,7 @@ def test_parse_redirect_append(parser): assert statement.output == '>>' assert statement.output_to == '/tmp/afile.txt' -def test_parse_pipe_and_redirect(parser): +def test_parse_pipe_then_redirect(parser): line = 'output into;sufx | pipethrume plz > afile.txt' statement = parser.parse(line) assert statement.command == 'output' @@ -310,6 +310,104 @@ def test_parse_pipe_and_redirect(parser): assert statement.output == '' assert statement.output_to == '' +def test_parse_multiple_pipes(parser): + line = 'output into;sufx | pipethrume plz | grep blah' + statement = parser.parse(line) + assert statement.command == 'output' + assert statement == 'into' + assert statement.args == statement + assert statement.argv == ['output', 'into'] + assert statement.arg_list == statement.argv[1:] + assert statement.terminator == ';' + assert statement.suffix == 'sufx' + assert statement.pipe_to == 'pipethrume plz | grep blah' + assert statement.output == '' + assert statement.output_to == '' + +def test_redirect_then_pipe(parser): + line = 'help alias > file.txt | grep blah' + statement = parser.parse(line) + assert statement.command == 'help' + assert statement == 'alias' + assert statement.args == statement + assert statement.argv == ['help', 'alias'] + assert statement.arg_list == statement.argv[1:] + assert statement.terminator == '' + assert statement.suffix == '' + assert statement.pipe_to == '' + assert statement.output == '>' + assert statement.output_to == 'file.txt' + +def test_append_then_pipe(parser): + line = 'help alias >> file.txt | grep blah' + statement = parser.parse(line) + assert statement.command == 'help' + assert statement == 'alias' + assert statement.args == statement + assert statement.argv == ['help', 'alias'] + assert statement.arg_list == statement.argv[1:] + assert statement.terminator == '' + assert statement.suffix == '' + assert statement.pipe_to == '' + assert statement.output == '>>' + assert statement.output_to == 'file.txt' + +def test_append_then_redirect(parser): + line = 'help alias >> file.txt > file2.txt' + statement = parser.parse(line) + assert statement.command == 'help' + assert statement == 'alias' + assert statement.args == statement + assert statement.argv == ['help', 'alias'] + assert statement.arg_list == statement.argv[1:] + assert statement.terminator == '' + assert statement.suffix == '' + assert statement.pipe_to == '' + assert statement.output == '>>' + assert statement.output_to == 'file.txt' + +def test_redirect_then_append(parser): + line = 'help alias > file.txt >> file2.txt' + statement = parser.parse(line) + assert statement.command == 'help' + assert statement == 'alias' + assert statement.args == statement + assert statement.argv == ['help', 'alias'] + assert statement.arg_list == statement.argv[1:] + assert statement.terminator == '' + assert statement.suffix == '' + assert statement.pipe_to == '' + assert statement.output == '>' + assert statement.output_to == 'file.txt' + +def test_redirect_to_quoted_string(parser): + line = 'help alias > "file.txt"' + statement = parser.parse(line) + assert statement.command == 'help' + assert statement == 'alias' + assert statement.args == statement + assert statement.argv == ['help', 'alias'] + assert statement.arg_list == statement.argv[1:] + assert statement.terminator == '' + assert statement.suffix == '' + assert statement.pipe_to == '' + assert statement.output == '>' + assert statement.output_to == '"file.txt"' + +def test_redirect_to_empty_quoted_string(parser): + line = 'help alias > ""' + statement = parser.parse(line) + assert statement.command == 'help' + assert statement == 'alias' + assert statement.args == statement + assert statement.argv == ['help', 'alias'] + assert statement.arg_list == statement.argv[1:] + assert statement.terminator == '' + assert statement.suffix == '' + assert statement.pipe_to == '' + assert statement.output == '>' + assert statement.output_to == '' + def test_parse_output_to_paste_buffer(parser): line = 'output to paste buffer >> ' statement = parser.parse(line) |