##// END OF EJS Templates
use unicode_to_str with readline.add_history...
use unicode_to_str with readline.add_history mutliline PR #838 added a call to readline.add_history, but without the unicode/str protection used elsewhere, allowing `In[1]: u'é'` to crash IPython. This makes the call match others in core.interativeshell.

File last commit:

r4872:34c10438
r5095:240f0774
Show More
test_linefrontend.py
37 lines | 1.0 KiB | text/x-python | PythonLexer
# encoding: utf-8
"""
Test the LineFrontEnd
"""
__docformat__ = "restructuredtext en"
#-------------------------------------------------------------------------------
# Copyright (C) 2008 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is
# in the file COPYING, distributed as part of this software.
#-------------------------------------------------------------------------------
from IPython.frontend.linefrontendbase import LineFrontEndBase
from copy import deepcopy
import nose.tools as nt
class ConcreteLineFrontEnd(LineFrontEndBase):
""" A concrete class to test the LineFrontEndBase.
"""
def capture_output(self):
pass
def release_output(self):
pass
def test_is_complete():
""" Tests line completion heuristic.
"""
frontend = ConcreteLineFrontEnd()
yield nt.assert_true, not frontend.is_complete('for x in \\')
yield nt.assert_true, not frontend.is_complete('for x in (1, ):')
yield nt.assert_true, frontend.is_complete('for x in (1, ):\n pass')