#!/usr/bin/env python3 # # mmgen = Multi-Mode GENerator, command-line Bitcoin cold storage solution # Copyright (C)2013-2021 The MMGen Project """ colortest.py: test color handling for the MMGen suite """ import include.tests_header from include.common import * from mmgen.color import * from mmgen.color import _colors def test_color(): init_color() gmsg("Parsed terminfo 'colors' values:") for t,c in (('rxvt',8),('xterm',8),('rxvt-unicode',88),('screen-256color',256),('xterm-256color',256)): ret = get_terminfo_colors(t) if ret == None: set_vt100() ymsg(f'Warning: unable to get info for terminal {t!r}') continue msg(f'{t}: {ret}') assert c == ret, f"'colors' value for terminal {t} ({ret}) does not match expected value of {c}" ret = get_terminfo_colors() msg(f'This terminal ({os.getenv("TERM")}): {ret}') set_vt100() gmsg("Terminal display:") for desc,n in (('auto','auto'),('8-color',8),('256-color',256),('off',0)): init_color(num_colors=n) msg('{:9}: {}'.format( desc, ' '.join(globals()[c](c) for c in sorted(_colors)) )) test_color()