test_ipapi.py
54 lines
| 1.0 KiB
| text/x-python
|
PythonLexer
/ test / test_ipapi.py
vivainio
|
r833 | import sys | ||
sys.path.append('..') | ||||
vivainio
|
r774 | import IPython.ipapi | ||
IPython.ipapi.make_session() | ||||
ip = IPython.ipapi.get() | ||||
def test_runlines(): | ||||
vivainio
|
r987 | import textwrap | ||
vivainio
|
r774 | ip.runlines(['a = 10', 'a+=1']) | ||
vivainio
|
r987 | ip.runlines('assert a == 11\nassert 1') | ||
vivainio
|
r774 | assert ip.user_ns['a'] == 11 | ||
vivainio
|
r987 | 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) | ||||
vivainio
|
r774 | |||
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 | ||||
vivainio
|
r833 | def cb(localip,s): | ||
assert localip is ip | ||||
vivainio
|
r774 | slot[0] = s | ||
ip.defalias('testalias', cb) | ||||
ip.runlines('testalias foo bar') | ||||
assert slot[0] == 'testalias foo bar' | ||||
test_runlines() | ||||
test_db() | ||||
test_defalias | ||||