import pytest from rich.color import Color, ColorSystem, ColorType from rich import errors from rich.style import Style, StyleStack def test_str(): assert str(Style(bold=False)) == "not bold" assert str(Style(color="red", bold=False)) == "not bold red" assert str(Style(color="red", bold=False, italic=True)) == "not bold italic red" assert str(Style()) == "none" assert str(Style(bold=True)) == "bold" assert str(Style(color="red", bold=True)) == "bold red" assert str(Style(color="red", bgcolor="black", bold=True)) == "bold red on black" all_styles = Style( color="red", bgcolor="black", bold=True, dim=True, italic=True, underline=True, blink=True, blink2=True, reverse=True, conceal=True, strike=True, underline2=True, frame=True, encircle=True, overline=True, ) expected = "bold dim italic underline blink blink2 reverse conceal strike underline2 frame encircle overline red on black" assert str(all_styles) == expected assert str(Style(link="foo")) == "link foo" def test_ansi_codes(): all_styles = Style( color="red", bgcolor="black", bold=True, dim=True, italic=True, underline=True, blink=True, blink2=True, reverse=True, conceal=True, strike=True, underline2=True, frame=True, encircle=True, overline=True, ) expected = "1;2;3;4;5;6;7;8;9;21;51;52;53;31;40" assert all_styles._make_ansi_codes(ColorSystem.TRUECOLOR) == expected def test_repr(): assert repr(Style(bold=True, color="red")) == '