test_term.py 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. # -*- coding: utf-8 -*-
  2. from __future__ import absolute_import
  3. from celery.utils import term
  4. from celery.utils.term import colored, fg
  5. from celery.tests.utils import Case
  6. class test_colored(Case):
  7. def test_colors(self):
  8. colors = (
  9. ('black', term.BLACK),
  10. ('red', term.RED),
  11. ('green', term.GREEN),
  12. ('yellow', term.YELLOW),
  13. ('blue', term.BLUE),
  14. ('magenta', term.MAGENTA),
  15. ('cyan', term.CYAN),
  16. ('white', term.WHITE),
  17. )
  18. for name, key in colors:
  19. self.assertIn(fg(30 + key), str(colored().names[name]('foo')))
  20. self.assertTrue(str(colored().bold('f')))
  21. self.assertTrue(str(colored().underline('f')))
  22. self.assertTrue(str(colored().blink('f')))
  23. self.assertTrue(str(colored().reverse('f')))
  24. self.assertTrue(str(colored().bright('f')))
  25. self.assertTrue(str(colored().ired('f')))
  26. self.assertTrue(str(colored().igreen('f')))
  27. self.assertTrue(str(colored().iyellow('f')))
  28. self.assertTrue(str(colored().iblue('f')))
  29. self.assertTrue(str(colored().imagenta('f')))
  30. self.assertTrue(str(colored().icyan('f')))
  31. self.assertTrue(str(colored().iwhite('f')))
  32. self.assertTrue(str(colored().reset('f')))
  33. self.assertTrue(str(colored().green(u'∂bar')))
  34. self.assertTrue(
  35. colored().red(u'éefoo') + colored().green(u'∂bar'))
  36. self.assertEqual(
  37. colored().red('foo').no_color(), 'foo')
  38. self.assertTrue(
  39. repr(colored().blue(u'åfoo')))
  40. self.assertEqual(repr(colored()), "''")
  41. c = colored()
  42. s = c.red('foo', c.blue('bar'), c.green('baz'))
  43. self.assertTrue(s.no_color())
  44. c._fold_no_color(s, u'øfoo')
  45. c._fold_no_color(u'fooå', s)
  46. c = colored().red(u'åfoo')
  47. self.assertEqual(c._add(c, u'baræ'),
  48. u'\x1b[1;31m\xe5foo\x1b[0mbar\xe6')
  49. c2 = colored().blue(u'ƒƒz')
  50. c3 = c._add(c, c2)
  51. self.assertEqual(c3,
  52. u'\x1b[1;31m\xe5foo\x1b[0m\x1b[1;34m\u0192\u0192z\x1b[0m')