##// END OF EJS Templates
docs/autogen_shortcuts.py: support Python 3.8...
docs/autogen_shortcuts.py: support Python 3.8 In 64e72a955 (Restore shortcuts in documentation, define identifiers, 2023-01-08), some typing annotations were added to docs/autogen_shortcuts.py using the builtin container type 'list'. This feature is only available starting in Python 3.9 [1], but setup.cfg lists Python 3.8 as the earliest supported Python version. This leads to a failing documentation build in a Python 3.8 virtual environment. Fix this by using the capitalized name 'List' from the 'typing' module to keep Python 3.8 compatibility. [1] https://docs.python.org/3/whatsnew/3.9.html#type-hinting-generics-in-standard-collections

File last commit:

r27126:8e428a71
r28181:2c9a826a
Show More
test_storemagic.py
66 lines | 2.0 KiB | text/x-python | PythonLexer
Thomas Kluyver
Add test for storemagic
r11146 import tempfile, os
Nikita Kniazev
On Windows `Path.cwd()` might be in short filename/SFN format
r27126 from pathlib import Path
Thomas Kluyver
Add test for storemagic
r11146
Min RK
update dependency imports...
r21253 from traitlets.config.loader import Config
Thomas Kluyver
Add test for storemagic
r11146
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
Samuel Gaist
[extensions][tests][storemagic] Remove nose
r26911 assert ip.db["autorestore/foo"] == 78
assert "bar" in ip.db["stored_aliases"]
assert ip.db["autorestore/foobar"] == 79
assert ip.db["autorestore/foobaz"] == "80"
Gökcen Eraslan
Fix restoring more than 2 variables and add support for storing multiple variables.
r25209
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
Samuel Gaist
[extensions][tests][storemagic] Remove nose
r26911 ip.magic("store -r foo bar foobar foobaz")
assert ip.user_ns["foo"] == 78
assert ip.alias_manager.is_alias("bar")
assert ip.user_ns["foobar"] == 79
assert ip.user_ns["foobaz"] == "80"
Gökcen Eraslan
Fix restoring more than 2 variables and add support for storing multiple variables.
r25209
Samuel Gaist
[extensions][tests][storemagic] Remove nose
r26911 ip.magic("store -r") # restores _dh too
Nikita Kniazev
On Windows `Path.cwd()` might be in short filename/SFN format
r27126 assert any(Path(tmpd).samefile(p) for p in 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
Samuel Gaist
[extensions][tests][storemagic] Remove nose
r26911 ip.extension_manager.reload_extension("storemagic")
assert "foo" not in ip.user_ns
Thomas Kluyver
Add test for StoreMagics.autorestore option
r12333 c.StoreMagics.autorestore = True
Samuel Gaist
[extensions][tests][storemagic] Remove nose
r26911 ip.extension_manager.reload_extension("storemagic")
assert ip.user_ns["foo"] == 95
Thomas Kluyver
Add test for StoreMagics.autorestore option
r12333 finally:
ip.config = orig_config