##// END OF EJS Templates
push() now swallows syntax errors and immediately produces a 'ready'...
push() now swallows syntax errors and immediately produces a 'ready' state. This is intended, as the invalid input may in fact be OK with ipython extensions, but that can only be ascertained by the kernel, so the client should send this right away to the kernel.

File last commit:

r938:e55d2f29
r2635:6112cd14
Show More
test_completer.py
36 lines | 773 B | text/x-python | PythonLexer
"""
comp
"""
# The prefilter always ends in a call to some self.handle_X method. We swap
# all of those out so that we can capture which one was called.
import sys
sys.path.append('..')
import IPython
import IPython.ipapi
IPython.Shell.start()
ip = IPython.ipapi.get()
completer = ip.IP.Completer
print completer
def do_test(text, line):
def get_endix():
idx = len(line)
print "Call endidx =>",idx
return idx
def get_line_buffer():
print "Lbuf =>",line
return line
completer.get_line_buffer = get_line_buffer
completer.get_endidx = get_endix
l = completer.all_completions(text)
return l
l = do_test ('p', 'print p')
assert 'pow' in l
l = do_test ('p', 'import p')
assert 'pprint' in l