test_application.py
50 lines
| 1.6 KiB
| text/x-python
|
PythonLexer
Thomas Kluyver
|
r3453 | # coding: utf-8 | ||
Thomas Kluyver
|
r3451 | """Tests for IPython.core.application""" | ||
import os | ||||
import tempfile | ||||
MinRK
|
r4023 | from IPython.core.application import BaseIPythonApplication | ||
Thomas Spura
|
r5810 | from IPython.testing import decorators as dec | ||
Thomas Kluyver
|
r4731 | from IPython.utils import py3compat | ||
Thomas Kluyver
|
r3451 | |||
Thomas Spura
|
r5810 | @dec.onlyif_unicode_paths | ||
Thomas Kluyver
|
r3451 | def test_unicode_cwd(): | ||
Thomas Kluyver
|
r3452 | """Check that IPython starts with non-ascii characters in the path.""" | ||
Thomas Kluyver
|
r3453 | wd = tempfile.mkdtemp(suffix=u"€") | ||
Thomas Kluyver
|
r3451 | |||
old_wd = os.getcwdu() | ||||
os.chdir(wd) | ||||
Jörgen Stenarson
|
r4208 | #raise Exception(repr(os.getcwdu())) | ||
Thomas Kluyver
|
r3451 | try: | ||
MinRK
|
r4023 | app = BaseIPythonApplication() | ||
Thomas Kluyver
|
r3451 | # The lines below are copied from Application.initialize() | ||
MinRK
|
r4023 | app.init_profile_dir() | ||
app.init_config_files() | ||||
app.load_config_file(suppress_errors=False) | ||||
Thomas Kluyver
|
r3451 | finally: | ||
os.chdir(old_wd) | ||||
Thomas Kluyver
|
r3903 | |||
Thomas Spura
|
r5810 | @dec.onlyif_unicode_paths | ||
Thomas Kluyver
|
r3452 | def test_unicode_ipdir(): | ||
"""Check that IPython starts with non-ascii characters in the IP dir.""" | ||||
Thomas Kluyver
|
r3453 | ipdir = tempfile.mkdtemp(suffix=u"€") | ||
Thomas Kluyver
|
r3452 | |||
# Create the config file, so it tries to load it. | ||||
with open(os.path.join(ipdir, 'ipython_config.py'), "w") as f: | ||||
pass | ||||
old_ipdir1 = os.environ.pop("IPYTHONDIR", None) | ||||
old_ipdir2 = os.environ.pop("IPYTHON_DIR", None) | ||||
Thomas Kluyver
|
r4731 | os.environ["IPYTHONDIR"] = py3compat.unicode_to_str(ipdir, "utf-8") | ||
Thomas Kluyver
|
r3452 | try: | ||
MinRK
|
r4023 | app = BaseIPythonApplication() | ||
Thomas Kluyver
|
r3452 | # The lines below are copied from Application.initialize() | ||
MinRK
|
r4023 | app.init_profile_dir() | ||
app.init_config_files() | ||||
app.load_config_file(suppress_errors=False) | ||||
Thomas Kluyver
|
r3452 | finally: | ||
if old_ipdir1: | ||||
os.environ["IPYTHONDIR"] = old_ipdir1 | ||||
if old_ipdir2: | ||||
os.environ["IPYTHONDIR"] = old_ipdir2 | ||||