1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
from argparse import ArgumentTypeError
from io import StringIO
import sys
import pytest
from gcalcli.printer import COLOR_NAMES, Printer, valid_color_name
def test_init():
cp = Printer()
assert cp
def test_valid_color_name():
with pytest.raises(ArgumentTypeError):
valid_color_name('this_is_not_a_colorname')
def test_all_colors():
"""Makes sure the COLOR_NAMES is in sync with the colors in the printer"""
cp = Printer()
for color_name in COLOR_NAMES:
out = StringIO()
cp.msg('msg', color_name, file=out)
out.seek(0)
assert out.read() == cp.colors[color_name] + 'msg' + '\033[0m'
def test_red_msg():
cp = Printer()
out = StringIO()
cp.msg('msg', 'red', file=out)
out.seek(0)
assert out.read() == '\033[0;31mmsg\033[0m'
def test_err_msg(monkeypatch):
err = StringIO()
monkeypatch.setattr(sys, 'stderr', err)
cp = Printer()
cp.err_msg('error')
err.seek(0)
assert err.read() == '\033[31;1merror\033[0m'
def test_debug_msg(monkeypatch):
err = StringIO()
monkeypatch.setattr(sys, 'stderr', err)
cp = Printer()
cp.debug_msg('debug')
err.seek(0)
assert err.read() == '\033[0;33mdebug\033[0m'
def test_conky_red_msg():
cp = Printer(conky=True)
out = StringIO()
cp.msg('msg', 'red', file=out)
out.seek(0)
assert out.read() == '${color red}msg${color}'
def test_conky_err_msg(monkeypatch):
err = StringIO()
monkeypatch.setattr(sys, 'stderr', err)
cp = Printer(conky=True)
cp.err_msg('error')
err.seek(0)
assert err.read() == '${color red}error${color}'
def test_conky_debug_msg(monkeypatch):
err = StringIO()
monkeypatch.setattr(sys, 'stderr', err)
cp = Printer(conky=True)
cp.debug_msg('debug')
err.seek(0)
assert err.read() == '${color yellow}debug${color}'
def test_no_color():
cp = Printer(use_color=False)
out = StringIO()
cp.msg('msg', 'red', file=out)
out.seek(0)
assert out.read() == 'msg'
|