##// END OF EJS Templates
Merge pull request #10266 from Carreau/ipython-ext-dir...
Merge pull request #10266 from Carreau/ipython-ext-dir Warn about IPython extension dir

File last commit:

r21253:ff3b995a
r23364:cf7e3a38 merge
Show More
test_storemagic.py
50 lines | 1.3 KiB | text/x-python | PythonLexer
Thomas Kluyver
Add test for storemagic
r11146 import tempfile, os
Min RK
update dependency imports...
r21253 from traitlets.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