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')