diff options
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 |
