summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorTodd Leonhardt <todd.leonhardt@gmail.com>2018-09-08 16:21:02 -0400
committerTodd Leonhardt <todd.leonhardt@gmail.com>2018-09-08 16:21:02 -0400
commite2adc8fe379aa40142d8fee1414a5b563084b704 (patch)
tree9fd652f24f54f7b9bab41205520eea6bcafe8c02 /tests
parenta318745bed432fcd0527e691406c238c0d4d07fc (diff)
downloadcmd2-git-e2adc8fe379aa40142d8fee1414a5b563084b704.tar.gz
Took a stab at improving documentation and unit tests for Statement.parse_command_only()
Also slightly improved a few other unit tests
Diffstat (limited to 'tests')
-rw-r--r--tests/test_parsing.py60
1 files changed, 50 insertions, 10 deletions
diff --git a/tests/test_parsing.py b/tests/test_parsing.py
index b4de88ad..b0d370ac 100644
--- a/tests/test_parsing.py
+++ b/tests/test_parsing.py
@@ -32,11 +32,40 @@ def default_parser():
parser = StatementParser()
return parser
-def test_parse_empty_string_default(default_parser):
- statement = default_parser.parse('')
+
+def test_parse_empty_string(parser):
+ line = ''
+ statement = parser.parse(line)
+ assert statement == ''
+ assert statement.args == statement
+ assert statement.raw == line
assert statement.command == ''
+ assert statement.arg_list == []
+ assert statement.multiline_command == ''
+ assert statement.terminator == ''
+ assert statement.suffix == ''
+ assert statement.pipe_to == []
+ assert statement.output == ''
+ assert statement.output_to == ''
+ assert statement.command_and_args == line
+ assert statement.argv == statement.arg_list
+
+def test_parse_empty_string_default(default_parser):
+ line = ''
+ statement = default_parser.parse(line)
assert statement == ''
- assert statement.raw == ''
+ assert statement.args == statement
+ assert statement.raw == line
+ assert statement.command == ''
+ assert statement.arg_list == []
+ assert statement.multiline_command == ''
+ assert statement.terminator == ''
+ assert statement.suffix == ''
+ assert statement.pipe_to == []
+ assert statement.output == ''
+ assert statement.output_to == ''
+ assert statement.command_and_args == line
+ assert statement.argv == statement.arg_list
@pytest.mark.parametrize('line,tokens', [
('command', ['command']),
@@ -52,12 +81,6 @@ def test_tokenize_default(default_parser, line, tokens):
tokens_to_test = default_parser.tokenize(line)
assert tokens_to_test == tokens
-def test_parse_empty_string(parser):
- statement = parser.parse('')
- assert statement.command == ''
- assert statement == ''
- assert statement.raw == ''
-
@pytest.mark.parametrize('line,tokens', [
('command', ['command']),
('command /* with some comment */ arg', ['command', 'arg']),
@@ -100,6 +123,15 @@ def test_parse_single_word(parser, line):
assert statement == ''
assert statement.argv == [utils.strip_quotes(line)]
assert not statement.arg_list
+ assert statement.args == statement
+ assert statement.raw == line
+ assert statement.multiline_command == ''
+ assert statement.terminator == ''
+ assert statement.suffix == ''
+ assert statement.pipe_to == []
+ assert statement.output == ''
+ assert statement.output_to == ''
+ assert statement.command_and_args == line
@pytest.mark.parametrize('line,terminator', [
('termbare;', ';'),
@@ -550,10 +582,18 @@ def test_parse_alias_terminator_no_whitespace(parser, line):
def test_parse_command_only_command_and_args(parser):
line = 'help history'
statement = parser.parse_command_only(line)
- assert statement.command == 'help'
assert statement == 'history'
assert statement.args == statement
+ assert statement.raw == line
+ assert statement.command == 'help'
assert statement.command_and_args == line
+ assert statement.arg_list == []
+ assert statement.multiline_command == ''
+ assert statement.terminator == ''
+ assert statement.suffix == ''
+ assert statement.pipe_to == []
+ assert statement.output == ''
+ assert statement.output_to == ''
def test_parse_command_only_emptyline(parser):
line = ''