##// END OF EJS Templates
Backport PR #2662: qtconsole: wrap argument list in tooltip to match width of text body...
Backport PR #2662: qtconsole: wrap argument list in tooltip to match width of text body previously, a function with a long argument list would produce a very wide tooltip, hurting readability. Since the width of the docstring body is chosen by the developer whereas the formatting of the argument list is currently not, it's reasonable to wrap the argument list width to the maximum of a) 80 characters, or b) maximum length of a line in the docstring body. This improves readability, without unduly affecting the appearence of the docstring body itself. closes #2661 I'm happy to add any additional tests or make any changes required to get this merged.

File last commit:

r7646:ed4be7d4
r9846:43e0fc22
Show More
test_console.py
59 lines | 1.8 KiB | text/x-python | PythonLexer
"""Tests for two-process terminal frontend
Currenlty only has the most simple test possible, starting a console and running
a single command.
Authors:
* Min RK
"""
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
import time
import nose.tools as nt
from nose import SkipTest
from IPython.testing import decorators as dec
from IPython.testing import tools as tt
from IPython.utils import py3compat
from IPython.utils.process import find_cmd
#-----------------------------------------------------------------------------
# Test functions begin
#-----------------------------------------------------------------------------
@dec.skip_win32
def test_console_starts():
"""test that `ipython console` starts a terminal"""
from IPython.external import pexpect
# weird IOErrors prevent this from firing sometimes:
ipython_cmd = None
for i in range(5):
try:
ipython_cmd = find_cmd('ipython3' if py3compat.PY3 else 'ipython')
except IOError:
time.sleep(0.1)
else:
break
if ipython_cmd is None:
raise SkipTest("Could not determine ipython command")
p = pexpect.spawn(ipython_cmd, args=['console', '--colors=NoColor'])
idx = p.expect([r'In \[\d+\]', pexpect.EOF], timeout=15)
nt.assert_equals(idx, 0, "expected in prompt")
p.sendline('5')
idx = p.expect([r'Out\[\d+\]: 5', pexpect.EOF], timeout=5)
nt.assert_equals(idx, 0, "expected out prompt")
idx = p.expect([r'In \[\d+\]', pexpect.EOF], timeout=5)
nt.assert_equals(idx, 0, "expected second in prompt")
# send ctrl-D;ctrl-D to exit
p.sendeof()
p.sendeof()
p.expect([pexpect.EOF, pexpect.TIMEOUT], timeout=5)
if p.isalive():
p.terminate()