##// END OF EJS Templates
Try to enable codecov status...
Try to enable codecov status Not sure why it does not work.

File last commit:

r26716:4142eaaf
r26880:24d76d5b
Show More
test_editorhooks.py
32 lines | 884 B | text/x-python | PythonLexer
/ IPython / lib / tests / test_editorhooks.py
Min RK
fix editorhooks typo...
r18869 """Test installing editor hooks"""
import sys
Srinivas Reddy Thatiparthy
import mock from unittest
r23058 from unittest import mock
Min RK
fix editorhooks typo...
r18869
from IPython import get_ipython
from IPython.lib import editorhooks
def test_install_editor():
called = []
def fake_popen(*args, **kwargs):
called.append({
'args': args,
'kwargs': kwargs,
})
Segev Finer
IPython/lib/editorhooks.py: wait for process even if wait=False...
r23294 return mock.MagicMock(**{'wait.return_value': 0})
Min RK
fix editorhooks typo...
r18869 editorhooks.install_editor('foo -l {line} -f {filename}', wait=False)
with mock.patch('subprocess.Popen', fake_popen):
get_ipython().hooks.editor('the file', 64)
Matthias Bussonnier
remove nose tools from test_editorhooks
r26716 assert len(called) == 1
args = called[0]["args"]
kwargs = called[0]["kwargs"]
assert kwargs == {"shell": True}
if sys.platform.startswith("win"):
expected = ["foo", "-l", "64", "-f", "the file"]
Min RK
fix editorhooks typo...
r18869 else:
expected = "foo -l 64 -f 'the file'"
cmd = args[0]
Matthias Bussonnier
remove nose tools from test_editorhooks
r26716 assert cmd == expected