##// END OF EJS Templates
Avoid calling the input transformer twice in the execution stack....
Avoid calling the input transformer twice in the execution stack. This should allow to register input transformers that have side effects, at least in Notebooks. Right now there are sill multiple calls which may happen in the terminal on execution requests.

File last commit:

r22911:4335860f
r25891:d5a8359c
Show More
test_pycolorize.py
78 lines | 2.0 KiB | text/x-python | PythonLexer
# coding: utf-8
"""Test suite for our color utilities.
Authors
-------
* Min RK
"""
#-----------------------------------------------------------------------------
# Copyright (C) 2011 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING.txt, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
# third party
import nose.tools as nt
# our own
from IPython.utils.PyColorize import Parser
import io
#-----------------------------------------------------------------------------
# Test functions
#-----------------------------------------------------------------------------
sample = u"""
def function(arg, *args, kwarg=True, **kwargs):
'''
this is docs
'''
pass is True
False == None
with io.open(ru'unicode'):
raise ValueError("\n escape \r sequence")
print("wěird ünicoðe")
class Bar(Super):
def __init__(self):
super(Bar, self).__init__(1**2, 3^4, 5 or 6)
"""
def test_loop_colors():
for style in ('Linux', 'NoColor','LightBG', 'Neutral'):
def test_unicode_colorize():
p = Parser(style=style)
f1 = p.format('1/0', 'str')
f2 = p.format(u'1/0', 'str')
nt.assert_equal(f1, f2)
def test_parse_sample():
"""and test writing to a buffer"""
buf = io.StringIO()
p = Parser(style=style)
p.format(sample, buf)
buf.seek(0)
f1 = buf.read()
nt.assert_not_in('ERROR', f1)
def test_parse_error():
p = Parser(style=style)
f1 = p.format(')', 'str')
if style != 'NoColor':
nt.assert_in('ERROR', f1)
yield test_unicode_colorize
yield test_parse_sample
yield test_parse_error