diff options
author | kotfu <kotfu@kotfu.net> | 2018-05-03 10:43:49 -0700 |
---|---|---|
committer | kotfu <kotfu@kotfu.net> | 2018-05-03 10:49:20 -0700 |
commit | 6d2f520b5a5a7165f2406816592b01983b1feb26 (patch) | |
tree | cb30ffca0f7abc68e43cfaf039148be11c315784 | |
parent | c539ef4065e9ae8611e1851eaa740f6412f08c25 (diff) | |
download | cmd2-git-6d2f520b5a5a7165f2406816592b01983b1feb26.tar.gz |
Moved some argparse tests from test_transcript.py to test_argparse.py
-rw-r--r-- | tests/test_argparse.py | 13 | ||||
-rw-r--r-- | tests/test_transcript.py | 31 |
2 files changed, 13 insertions, 31 deletions
diff --git a/tests/test_argparse.py b/tests/test_argparse.py index 94a7b5ed..f1a2b357 100644 --- a/tests/test_argparse.py +++ b/tests/test_argparse.py @@ -119,6 +119,11 @@ def argparse_app(): return app +def test_invalid_syntax(argparse_app, capsys): + run_cmd(argparse_app, 'speak "') + out, err = capsys.readouterr() + assert err == "ERROR: Invalid syntax: No closing quotation\n" + def test_argparse_basic_command(argparse_app): out = run_cmd(argparse_app, 'say hello') assert out == ['hello'] @@ -135,6 +140,14 @@ def test_argparse_with_list_and_empty_doc(argparse_app): out = run_cmd(argparse_app, 'speak -s hello world!') assert out == ['HELLO WORLD!'] +def test_argparse_comment_stripping(argparse_app): + out = run_cmd(argparse_app, 'speak it was /* not */ delicious! # Yuck!') + assert out == ['it was delicious!'] + +def test_argparser_correct_args_with_quotes_and_midline_options(argparse_app): + out = run_cmd(argparse_app, "speak 'This is a' -s test of the emergency broadcast system!") + assert out == ['THIS IS A TEST OF THE EMERGENCY BROADCAST SYSTEM!'] + def test_argparse_quoted_arguments_multiple(argparse_app): out = run_cmd(argparse_app, 'say "hello there" "rick & morty"') assert out == ['hello there rick & morty'] diff --git a/tests/test_transcript.py b/tests/test_transcript.py index c5263c03..b4e10b60 100644 --- a/tests/test_transcript.py +++ b/tests/test_transcript.py @@ -95,13 +95,6 @@ def _cmdline_app(): return c -@pytest.fixture -def _demo_app(): - c = DemoApp() - c.stdout = StdOut() - return c - - def _get_transcript_blocks(transcript): cmd = None expected = '' @@ -188,24 +181,6 @@ class TestMyAppCase(cmd2.Cmd2TestCase): CmdApp.testfiles = ['tests/transcript.txt'] -def test_comment_stripping(_cmdline_app): - out = run_cmd(_cmdline_app, 'speak it was /* not */ delicious! # Yuck!') - expected = normalize("""it was delicious!""") - assert out == expected - - -def test_argparser_correct_args_with_quotes_and_midline_options(_cmdline_app): - out = run_cmd(_cmdline_app, "speak 'This is a' -s test of the emergency broadcast system!") - expected = normalize("""THIS IS A TEST OF THE EMERGENCY BROADCAST SYSTEM!""") - assert out == expected - - -def test_argparser_options_with_spaces_in_quotes(_demo_app): - out = run_cmd(_demo_app, "hello foo -n 'Bugs Bunny' bar baz") - expected = normalize("""Hello Bugs Bunny""") - assert out == expected - - def test_commands_at_invocation(): testargs = ["prog", "say hello", "say Gracie", "quit"] expected = "This is an intro banner ...\nhello\nGracie\n" @@ -216,12 +191,6 @@ def test_commands_at_invocation(): out = app.stdout.buffer assert out == expected -def test_invalid_syntax(_cmdline_app, capsys): - run_cmd(_cmdline_app, 'speak "') - out, err = capsys.readouterr() - expected = normalize("""ERROR: Invalid syntax: No closing quotation""") - assert normalize(str(err)) == expected - @pytest.mark.parametrize('filename, feedback_to_output', [ ('bol_eol.txt', False), |