##// END OF EJS Templates
Fix %timeit for slow functions, by Prabhu Ramachandran....
Fix %timeit for slow functions, by Prabhu Ramachandran. From his submission on the list: Lets say you have a function that takes 2 seconds to evaluate. With the original code you are going to run that function 10 times regardless of the fact that it already takes 2 seconds and with the original code, timing this will take at least 60 seconds (with repeat=3) which is way too much.

File last commit:

r938:e55d2f29
r1920:1a1bcdc2
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