##// END OF EJS Templates
Fix completion tuple (#14594)...
Fix completion tuple (#14594) In progress work toward #14585 guarded eval strip leading characters until it find soemthing, this is problematic as `(1, x`, becomes valid after 1 char strip: `1, x` is a tuple; So now we trim until it is valid an not a tuple. This is still imperfect as things like `(1, a[" "].y` will be trimmed to `y`, while it should stop with `a[" "].y` ? I think maybe we should back-propagate; build back up from `y`, to `a[" "].y`, greedily until we get the last valid expression – skipping any unbalanced parentheses/quotes if we encounter imblanced.

File last commit:

r28944:f42bfc84
r28978:9cdf92d3 merge
Show More
test_logger.py
27 lines | 788 B | text/x-python | PythonLexer
# -*- coding: utf-8 -*-
"""Test IPython.core.logger"""
import os.path
import pytest
from tempfile import TemporaryDirectory
def test_logstart_inaccessible_file():
with pytest.raises(IOError):
_ip.logger.logstart(logfname="/") # Opening that filename will fail.
try:
_ip.run_cell("a=1") # Check it doesn't try to log this
finally:
_ip.logger.log_active = False # If this fails, don't let later tests fail
def test_logstart_unicode():
with TemporaryDirectory() as tdir:
logfname = os.path.join(tdir, "test_unicode.log")
_ip.run_cell("'abc€'")
try:
_ip.run_line_magic("logstart", "-to %s" % logfname)
_ip.run_cell("'abc€'")
finally:
_ip.logger.logstop()