##// END OF EJS Templates
Fix lint errors
Fix lint errors

File last commit:

r25209:a02911aa
r26410:93a63567
Show More
test_storemagic.py
66 lines | 2.1 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
Matthias Bussonnier
Fix state leakage and speedup in test-suite...
r25073
def setup_module():
ip.magic('load_ext storemagic')
Thomas Kluyver
Add test for storemagic
r11146
def test_store_restore():
Matthias Bussonnier
Fix state leakage and speedup in test-suite...
r25073 assert 'bar' not in ip.user_ns, "Error: some other test leaked `bar` in user_ns"
assert 'foo' not in ip.user_ns, "Error: some other test leaked `foo` in user_ns"
Gökcen Eraslan
Fix restoring more than 2 variables and add support for storing multiple variables.
r25209 assert 'foobar' not in ip.user_ns, "Error: some other test leaked `foobar` in user_ns"
assert 'foobaz' not in ip.user_ns, "Error: some other test leaked `foobaz` in user_ns"
Thomas Kluyver
Add test for storemagic
r11146 ip.user_ns['foo'] = 78
ip.magic('alias bar echo "hello"')
Gökcen Eraslan
Fix restoring more than 2 variables and add support for storing multiple variables.
r25209 ip.user_ns['foobar'] = 79
ip.user_ns['foobaz'] = '80'
Thomas Kluyver
Add test for storemagic
r11146 tmpd = tempfile.mkdtemp()
ip.magic('cd ' + tmpd)
ip.magic('store foo')
ip.magic('store bar')
Gökcen Eraslan
Fix restoring more than 2 variables and add support for storing multiple variables.
r25209 ip.magic('store foobar foobaz')
Thomas Kluyver
Add test for storemagic
r11146 # Check storing
nt.assert_equal(ip.db['autorestore/foo'], 78)
nt.assert_in('bar', ip.db['stored_aliases'])
Gökcen Eraslan
Fix restoring more than 2 variables and add support for storing multiple variables.
r25209 nt.assert_equal(ip.db['autorestore/foobar'], 79)
nt.assert_equal(ip.db['autorestore/foobaz'], '80')
Thomas Kluyver
Add test for storemagic
r11146 # Remove those items
ip.user_ns.pop('foo', None)
Gökcen Eraslan
Fix restoring more than 2 variables and add support for storing multiple variables.
r25209 ip.user_ns.pop('foobar', None)
ip.user_ns.pop('foobaz', None)
Thomas Kluyver
Add test for storemagic
r11146 ip.alias_manager.undefine_alias('bar')
ip.magic('cd -')
ip.user_ns['_dh'][:] = []
Gökcen Eraslan
Fix restoring more than 2 variables and add support for storing multiple variables.
r25209
Thomas Kluyver
Add test for storemagic
r11146 # Check restoring
Gökcen Eraslan
Fix restoring more than 2 variables and add support for storing multiple variables.
r25209 ip.magic('store -r foo bar foobar foobaz')
Thomas Kluyver
Add test for storemagic
r11146 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')
Gökcen Eraslan
Fix restoring more than 2 variables and add support for storing multiple variables.
r25209 nt.assert_equal(ip.user_ns['foobar'], 79)
nt.assert_equal(ip.user_ns['foobaz'], '80')
ip.magic('store -r') # restores _dh too
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'])
Gökcen Eraslan
Fix restoring more than 2 variables and add support for storing multiple variables.
r25209
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