##// END OF EJS Templates
handling explicitly provided modes from kernelspec.language_info
handling explicitly provided modes from kernelspec.language_info

File last commit:

r12603:2ac0509e
r19289:c1a8b81d
Show More
test_storemagic.py
50 lines | 1.3 KiB | text/x-python | PythonLexer
Thomas Kluyver
Add test for storemagic
r11146 import tempfile, os
Thomas Kluyver
Add test for StoreMagics.autorestore option
r12333 from IPython.config.loader import Config
Thomas Kluyver
Add test for storemagic
r11146 import nose.tools as nt
ip = get_ipython()
ip.magic('load_ext storemagic')
def test_store_restore():
ip.user_ns['foo'] = 78
ip.magic('alias bar echo "hello"')
tmpd = tempfile.mkdtemp()
ip.magic('cd ' + tmpd)
ip.magic('store foo')
ip.magic('store bar')
# Check storing
nt.assert_equal(ip.db['autorestore/foo'], 78)
nt.assert_in('bar', ip.db['stored_aliases'])
# Remove those items
ip.user_ns.pop('foo', None)
ip.alias_manager.undefine_alias('bar')
ip.magic('cd -')
ip.user_ns['_dh'][:] = []
# Check restoring
ip.magic('store -r')
nt.assert_equal(ip.user_ns['foo'], 78)
Thomas Kluyver
Fix storemagic test for new alias API
r12603 assert ip.alias_manager.is_alias('bar')
Jens Hedegaard Nielsen
Store magic test. On MacOSX the temp dir in /var is symlinked into /private/var thus making this comparison fail. This is solved by using os.path.realpath to expand the tempdir into is's real directory.
r11361 nt.assert_in(os.path.realpath(tmpd), ip.user_ns['_dh'])
Thomas Kluyver
Add test for storemagic
r11146
os.rmdir(tmpd)
Thomas Kluyver
Add test for StoreMagics.autorestore option
r12333
def test_autorestore():
ip.user_ns['foo'] = 95
ip.magic('store foo')
del ip.user_ns['foo']
c = Config()
c.StoreMagics.autorestore = False
orig_config = ip.config
try:
ip.config = c
ip.extension_manager.reload_extension('storemagic')
nt.assert_not_in('foo', ip.user_ns)
c.StoreMagics.autorestore = True
ip.extension_manager.reload_extension('storemagic')
nt.assert_equal(ip.user_ns['foo'], 95)
finally:
ip.config = orig_config