diff options
| author | Todd Leonhardt <todd.leonhardt@gmail.com> | 2017-03-16 23:46:11 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-03-16 23:46:11 -0400 |
| commit | 91cc19ca5d95aaa6ef2188c226c9cbcf8b19537f (patch) | |
| tree | eed4a8f6e66622b7a45d58cf4685b8e5b6920905 /tests | |
| parent | 2d4b43a4901122d7918af4030c440a3c93892a4f (diff) | |
| parent | 3fceb279272f1a1595071420494905dc29b6dd82 (diff) | |
| download | cmd2-git-91cc19ca5d95aaa6ef2188c226c9cbcf8b19537f.tar.gz | |
Merge pull request #82 from python-cmd2/regex_transcript
Improved documentation for regular expressions in transcripts
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_transcript.py | 26 | ||||
| -rw-r--r-- | tests/transcript_regex.txt | 18 |
2 files changed, 44 insertions, 0 deletions
diff --git a/tests/test_transcript.py b/tests/test_transcript.py index c0966d03..89f2ea7c 100644 --- a/tests/test_transcript.py +++ b/tests/test_transcript.py @@ -310,3 +310,29 @@ def test_invalid_syntax(_cmdline_app, capsys): out, err = capsys.readouterr() expected = normalize("""ERROR: Invalid syntax: No closing quotation""") assert normalize(str(err)) == expected + + +def test_regex_transcript(request, capsys): + # Create a cmd2.Cmd() instance and make sure basic settings are like we want for test + app = CmdLineApp() + + # Get location of the transcript + test_dir = os.path.dirname(request.module.__file__) + transcript_file = os.path.join(test_dir, 'transcript_regex.txt') + + # Need to patch sys.argv so cmd2 doesn't think it was called with arguments equal to the py.test args + testargs = ['prog', '-t', transcript_file] + with mock.patch.object(sys, 'argv', testargs): + # Run the command loop + app.cmdloop() + + # Check for the unittest "OK" condition for the 1 test which ran + expected_start = ".\n----------------------------------------------------------------------\nRan 1 test in" + expected_end = "s\n\nOK\n\n" + out, err = capsys.readouterr() + if six.PY3: + assert err.startswith(expected_start) + assert err.endswith(expected_end) + else: + assert err == '' + assert out == '' diff --git a/tests/transcript_regex.txt b/tests/transcript_regex.txt new file mode 100644 index 00000000..b8e0e654 --- /dev/null +++ b/tests/transcript_regex.txt @@ -0,0 +1,18 @@ +# Run this transcript with "python example.py -t transcript_regex.txt" +# The regex for editor matches any word until first space. The one for colors is because no color on Windows. +(Cmd) set +abbrev: True +autorun_on_edit: True +case_insensitive: True +colors: /(True|False)/ +continuation_prompt: > +debug: False +default_file_name: command.txt +echo: False +editor: /([^\s]+)/ +feedback_to_output: False +locals_in_py: True +maxrepeats: 3 +prompt: (Cmd) +quiet: False +timing: False |
