text: # 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
  