##// END OF EJS Templates
Allow recursive execution of IPython code in MTInteractiveShell.runsource by checking if we are already in worker thread, and execute code directly if we are.
Allow recursive execution of IPython code in MTInteractiveShell.runsource by checking if we are already in worker thread, and execute code directly if we are.

File last commit:

r1033:fea50de7
r1053:da4dd09c
Show More
test_ipapi.py
54 lines | 978 B | text/x-python | PythonLexer
import sys
sys.path.append('..')
import IPython.ipapi
IPython.ipapi.make_session()
ip = IPython.ipapi.get()
def test_runlines():
import textwrap
ip.runlines(['a = 10', 'a+=1'])
ip.runlines('assert a == 11\nassert 1')
assert ip.user_ns['a'] == 11
complex = textwrap.dedent("""\
if 1:
print "hello"
if 1:
print "world"
if 1:
print "foo"
if 1:
print "bar"
if 1:
print "bar"
""")
ip.runlines(complex)
def test_db():
ip.db['__unittest_'] = 12
assert ip.db['__unittest_'] == 12
del ip.db['__unittest_']
assert '__unittest_' not in ip.db
def test_defalias():
slot = [None]
# test callable alias
def cb(localip,s):
assert localip is ip
slot[0] = s
ip.defalias('testalias', cb)
ip.runlines('testalias foo bar')
assert slot[0] == 'testalias foo bar'
test_runlines()
test_db()
test_defalias