diff options
author | Kevin Van Brunt <kmvanbrunt@gmail.com> | 2020-02-17 11:24:28 -0500 |
---|---|---|
committer | Kevin Van Brunt <kmvanbrunt@gmail.com> | 2020-02-17 11:24:28 -0500 |
commit | 555db5d98fc122dc21d3bb239c079d68272cc0c3 (patch) | |
tree | 25f9041650716c5be91926da39af0b0ebaca853f /tests | |
parent | db9c3a6d455e2bb19be7ae295c73a28751a7b481 (diff) | |
download | cmd2-git-555db5d98fc122dc21d3bb239c079d68272cc0c3.tar.gz |
Updated documentation and tests
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/test_cmd2.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/tests/test_cmd2.py b/tests/test_cmd2.py index 41528612..dc9a3fa1 100755 --- a/tests/test_cmd2.py +++ b/tests/test_cmd2.py @@ -206,7 +206,7 @@ def test_base_shell(base_app, monkeypatch): 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 copy. + # 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 @@ -215,6 +215,13 @@ def test_base_py(base_app): 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' |