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
|
"""Test the colorlog.escape_codes module."""
import pytest
from colorlog.escape_codes import esc, escape_codes, parse_colors
def test_esc():
assert esc(1, 2, 3) == "\033[1;2;3m"
def test_reset():
assert escape_codes["reset"] == "\033[0m"
def test_bold_color():
assert escape_codes["bold_red"] == "\033[1;31m"
def test_fg_color():
assert escape_codes["fg_bold_yellow"] == "\033[1;33m"
def test_bg_color():
assert escape_codes["bg_bold_blue"] == "\033[104m"
def test_rainbow(create_and_test_logger):
"""Test *all* escape codes, useful to ensure backwards compatibility."""
create_and_test_logger(
"%(log_color)s%(levelname)s%(reset)s:%(bold_black)s%(name)s:"
"%(message)s%(reset)s:"
"%(bold_red)sr%(red)sa%(yellow)si%(green)sn%(bold_blue)sb"
"%(blue)so%(purple)sw%(reset)s "
"%(fg_bold_red)sr%(fg_red)sa%(fg_yellow)si%(fg_green)sn"
"%(fg_bold_blue)sb%(fg_blue)so%(fg_purple)sw%(reset)s "
"%(bg_red)sr%(bg_bold_red)sa%(bg_yellow)si%(bg_green)sn"
"%(bg_bold_blue)sb%(bg_blue)so%(bg_purple)sw%(reset)s "
)
def test_parse_colors():
assert parse_colors("reset") == "\033[0m"
def test_parse_multiple_colors():
assert parse_colors("bold_red,bg_bold_blue") == "\033[1;31m\033[104m"
def test_parse_invalid_colors():
with pytest.raises(KeyError):
parse_colors("false")
def test_256_colors():
for i in range(256):
assert parse_colors("fg_%d" % i) == "\033[38;5;%dm" % i
assert parse_colors("bg_%d" % i) == "\033[48;5;%dm" % i
|