##// END OF EJS Templates
Merge pull request #12666 from Carreau/pytest-yields
Merge pull request #12666 from Carreau/pytest-yields

File last commit:

r26183:61376395
r26194:69589881 merge
Show More
test_pycolorize.py
76 lines | 1.8 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
from IPython.testing.decorators import skip_iptest_but_not_pytest
# our own
from IPython.utils.PyColorize import Parser
import io
import pytest
@pytest.fixture(scope="module", params=("Linux", "NoColor", "LightBG", "Neutral"))
def style(request):
yield request.param
#-----------------------------------------------------------------------------
# Test functions
#-----------------------------------------------------------------------------
sample = """
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)
"""
@skip_iptest_but_not_pytest
def test_parse_sample(style):
"""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)
@skip_iptest_but_not_pytest
def test_parse_error(style):
p = Parser(style=style)
f1 = p.format(")", "str")
if style != "NoColor":
nt.assert_in("ERROR", f1)