diff options
author | Kevin Van Brunt <kmvanbrunt@gmail.com> | 2021-03-26 13:56:33 -0400 |
---|---|---|
committer | Kevin Van Brunt <kmvanbrunt@gmail.com> | 2021-03-26 15:24:34 -0400 |
commit | 62ed8aebf6eefcf68a15fdd4b7a7cd5dfe4c6f6b (patch) | |
tree | 1e72725041a8e3f83f31dddbfd564fcd02f27401 /tests/test_cmd2.py | |
parent | 070262e1f397e2297cdb1ad611db6b6d5bed8830 (diff) | |
download | cmd2-git-py_refactor.tar.gz |
Renamed use_ipython keyword parameter of cmd2.Cmd.__init__() to include_ipy.py_refactor
Added include_py keyword parameter to cmd2.Cmd.__init__(). If False, then the py command will not be available.
Removed ability to run Python commands from the command line with py.
Made banners and exit messages of Python and IPython consistent.
Changed utils.is_text_file() to raise OSError if file cannot be read.
Diffstat (limited to 'tests/test_cmd2.py')
-rwxr-xr-x | tests/test_cmd2.py | 52 |
1 files changed, 10 insertions, 42 deletions
diff --git a/tests/test_cmd2.py b/tests/test_cmd2.py index 44d2b304..43c937ae 100755 --- a/tests/test_cmd2.py +++ b/tests/test_cmd2.py @@ -265,39 +265,6 @@ def test_shell_manual_call(base_app): base_app.do_shell(cmd) -def test_base_py(base_app): - # Make sure py can't edit Cmd.py_locals. It used to be that cmd2 was passing its py_locals - # dictionary to the py environment instead of a shallow copy. - base_app.py_locals['test_var'] = 5 - out, err = run_cmd(base_app, 'py del[locals()["test_var"]]') - assert not out and not err - assert base_app.py_locals['test_var'] == 5 - - out, err = run_cmd(base_app, 'py print(test_var)') - assert out[0].rstrip() == '5' - - # Place an editable object in py_locals. Since we make a shallow copy of py_locals, - # this object should be editable from the py environment. - base_app.py_locals['my_list'] = [] - out, err = run_cmd(base_app, 'py my_list.append(2)') - assert not out and not err - assert base_app.py_locals['my_list'][0] == 2 - - # Try a print statement - out, err = run_cmd(base_app, 'py print("spaces" + " in this " + "command")') - assert out[0].rstrip() == 'spaces in this command' - - # Set self_in_py to True and make sure we see self - base_app.self_in_py = True - out, err = run_cmd(base_app, 'py print(self)') - assert 'cmd2.cmd2.Cmd object' in out[0] - - # Set self_in_py to False and make sure we can't see self - base_app.self_in_py = False - out, err = run_cmd(base_app, 'py print(self)') - assert "NameError: name 'self' is not defined" in err - - def test_base_error(base_app): out, err = run_cmd(base_app, 'meow') assert "is not a recognized command" in err[0] @@ -336,15 +303,15 @@ def test_run_script_with_empty_args(base_app): assert "the following arguments are required" in err[1] -def test_run_script_with_nonexistent_file(base_app, capsys): +def test_run_script_with_invalid_file(base_app, request): + # Path does not exist out, err = run_cmd(base_app, 'run_script does_not_exist.txt') - assert "does not exist" in err[0] + assert "Problem accessing script from " in err[0] - -def test_run_script_with_directory(base_app, request): + # Path is a directory test_dir = os.path.dirname(request.module.__file__) out, err = run_cmd(base_app, 'run_script {}'.format(test_dir)) - assert "is not a file" in err[0] + assert "Problem accessing script from " in err[0] def test_run_script_with_empty_file(base_app, request): @@ -1562,12 +1529,12 @@ def test_commandresult_falsy(commandresult_app): def test_is_text_file_bad_input(base_app): # Test with a non-existent file - file_is_valid = utils.is_text_file('does_not_exist.txt') - assert not file_is_valid + with pytest.raises(OSError): + utils.is_text_file('does_not_exist.txt') # Test with a directory - dir_is_valid = utils.is_text_file('.') - assert not dir_is_valid + with pytest.raises(OSError): + utils.is_text_file('.') def test_eof(base_app): @@ -2270,6 +2237,7 @@ def test_get_all_commands(base_app): 'eof', 'help', 'history', + 'ipy', 'macro', 'py', 'quit', |