def test_resolve_color(monkeypatch): """Test formatters.resolve_color.""" from blessed.formatters import (resolve_color, FormattingString, NullCallableString) def color_cap(digit): return 'seq-%s' % (digit, ) monkeypatch.setattr(curses, 'COLOR_RED', 1984) # given, terminal with color capabilities term = mock.Mock() term._background_color = color_cap term._foreground_color = color_cap term.number_of_colors = -1 term.normal = 'seq-normal' # exercise, red = resolve_color(term, 'red') assert isinstance(red, FormattingString) assert red == u'seq-1984' assert red('text') == u'seq-1984textseq-normal' # exercise bold, +8 bright_red = resolve_color(term, 'bright_red') assert isinstance(bright_red, FormattingString) assert bright_red == u'seq-1992' assert bright_red('text') == u'seq-1992textseq-normal' # given, terminal without color term.number_of_colors = 0 # exercise, red = resolve_color(term, 'red') assert isinstance(red, NullCallableString) assert red == u'' assert red('text') == u'text' # exercise bold, bright_red = resolve_color(term, 'bright_red') assert isinstance(bright_red, NullCallableString) assert bright_red == u'' assert bright_red('text') == u'text'
def test_resolve_color(monkeypatch): """Test formatters.resolve_color.""" from blessed.formatters import (resolve_color, FormattingString, NullCallableString) color_cap = lambda digit: 'seq-%s' % (digit,) monkeypatch.setattr(curses, 'COLOR_RED', 1984) # given, terminal with color capabilities term = mock.Mock() term._background_color = color_cap term._foreground_color = color_cap term.number_of_colors = -1 term.normal = 'seq-normal' # exercise, red = resolve_color(term, 'red') assert type(red) == FormattingString assert red == u'seq-1984' assert red('text') == u'seq-1984textseq-normal' # exercise bold, +8 bright_red = resolve_color(term, 'bright_red') assert type(bright_red) == FormattingString assert bright_red == u'seq-1992' assert bright_red('text') == u'seq-1992textseq-normal' # given, terminal without color term.number_of_colors = 0 # exercise, red = resolve_color(term, 'red') assert type(red) == NullCallableString assert red == u'' assert red('text') == u'text' # exercise bold, bright_red = resolve_color(term, 'bright_red') assert type(bright_red) == NullCallableString assert bright_red == u'' assert bright_red('text') == u'text'