##// END OF EJS Templates
Backport PR #5613: Fixing bug #5607...
Backport PR #5613: Fixing bug #5607 Changed the method from extends to merge which merges the two arrays as desired - With Freyert Testing: Manually verified the fix.

File last commit:

r12603:2ac0509e
r16294:d7746a54
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