diff options
| author | Todd Leonhardt <todd.leonhardt@gmail.com> | 2017-08-20 05:40:00 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-08-20 05:40:00 -0700 |
| commit | 499fdd614f782de085054e2e50d926a0f0adb71f (patch) | |
| tree | 9421eb4793bd062ca2f13c5586433b5803123805 /tests | |
| parent | f49d88a5bc5d981c78c2242a53ac34f8576b89ee (diff) | |
| parent | dc0ad81e6858aa9387c7dbd88f5721b6762f51b1 (diff) | |
| download | cmd2-git-499fdd614f782de085054e2e50d926a0f0adb71f.tar.gz | |
Merge pull request #212 from kotfu/fix/test_regex_transcript
Ensure editor and the file to edit can have spaces in them
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_cmd2.py | 18 | ||||
| -rw-r--r-- | tests/transcript_regex.txt | 5 |
2 files changed, 20 insertions, 3 deletions
diff --git a/tests/test_cmd2.py b/tests/test_cmd2.py index 67dfacf4..9a88f45b 100644 --- a/tests/test_cmd2.py +++ b/tests/test_cmd2.py @@ -736,7 +736,23 @@ def test_edit_file(base_app, request, monkeypatch): run_cmd(base_app, 'edit {}'.format(filename)) # We think we have an editor, so should expect a system call - m.assert_called_once_with('{} {}'.format(base_app.editor, filename)) + m.assert_called_once_with('"{}" "{}"'.format(base_app.editor, filename)) + +def test_edit_file_with_spaces(base_app, request, monkeypatch): + # Set a fake editor just to make sure we have one. We aren't really going to call it due to the mock + base_app.editor = 'fooedit' + + # Mock out the os.system call so we don't actually open an editor + m = mock.MagicMock(name='system') + monkeypatch.setattr("os.system", m) + + test_dir = os.path.dirname(request.module.__file__) + filename = os.path.join(test_dir, 'my commands.txt') + + run_cmd(base_app, 'edit {}'.format(filename)) + + # We think we have an editor, so should expect a system call + m.assert_called_once_with('"{}" "{}"'.format(base_app.editor, filename)) def test_edit_number(base_app, monkeypatch): # Set a fake editor just to make sure we have one. We aren't really going to call it due to the mock diff --git a/tests/transcript_regex.txt b/tests/transcript_regex.txt index 47357284..c17638f4 100644 --- a/tests/transcript_regex.txt +++ b/tests/transcript_regex.txt @@ -1,5 +1,6 @@ # 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. +# The regex for colors is because no color on Windows. +# The regex for editor will match whatever program you use. (Cmd) set abbrev: True autorun_on_edit: False @@ -7,7 +8,7 @@ colors: /(True|False)/ continuation_prompt: > debug: False echo: False -editor: /([^\s]+)/ +editor: /.*/ feedback_to_output: True locals_in_py: True maxrepeats: 3 |
