##// END OF EJS Templates
Ensure handler patterns are str, not unicode...
Ensure handler patterns are str, not unicode Python < 2.6.5 doesn't accept unicode keys in f(**kwargs), and base_project_url will always be unicode, which will in turn make the patterns unicode, and ultimately result in unicode keys in kwargs to handler._execute(**kwargs) in tornado. This enforces that base_project_url be ascii in that situation. Note that the URLs these patterns check against are escaped, and thus guaranteed to be ASCII: 'héllo' is really 'h%C3%A9llo'. If you actually use u'héllo' in your regex, it will not match the URLs you think it should.

File last commit:

r5390:c82649ea
r6067:24a6c071
Show More
test_linefrontend.py
37 lines | 1.1 KiB | text/x-python | PythonLexer
Gael Varoquaux
BUG: Integrate bug fixes from Enthought
r1887 # encoding: utf-8
"""
Bernardo B. Marques
remove all trailling spaces
r4872 Test the LineFrontEnd
Gael Varoquaux
BUG: Integrate bug fixes from Enthought
r1887 """
__docformat__ = "restructuredtext en"
#-------------------------------------------------------------------------------
Matthias BUSSONNIER
update copyright to 2011/20xx-2011...
r5390 # Copyright (C) 2008-2011 The IPython Development Team
Gael Varoquaux
BUG: Integrate bug fixes from Enthought
r1887 #
# 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
Gael Varoquaux
Take in account remarks by Fernando on code review
r1947 import nose.tools as nt
Gael Varoquaux
BUG: Integrate bug fixes from Enthought
r1887
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()
Gael Varoquaux
Take in account remarks by Fernando on code review
r1947 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')
Gael Varoquaux
BUG: Integrate bug fixes from Enthought
r1887