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
|
from __future__ import annotations
import pytest
from prompt_toolkit.styles import AdjustBrightnessStyleTransformation, Attrs
@pytest.fixture
def default_attrs():
return Attrs(
color="",
bgcolor="",
bold=False,
underline=False,
strike=False,
italic=False,
blink=False,
reverse=False,
hidden=False,
)
def test_adjust_brightness_style_transformation(default_attrs):
tr = AdjustBrightnessStyleTransformation(0.5, 1.0)
attrs = tr.transform_attrs(default_attrs._replace(color="ff0000"))
assert attrs.color == "ff7f7f"
attrs = tr.transform_attrs(default_attrs._replace(color="00ffaa"))
assert attrs.color == "7fffd4"
# When a background color is given, nothing should change.
attrs = tr.transform_attrs(default_attrs._replace(color="00ffaa", bgcolor="white"))
assert attrs.color == "00ffaa"
# Test ansi colors.
attrs = tr.transform_attrs(default_attrs._replace(color="ansiblue"))
assert attrs.color == "6666ff"
# Test 'ansidefault'. This shouldn't change.
attrs = tr.transform_attrs(default_attrs._replace(color="ansidefault"))
assert attrs.color == "ansidefault"
# When 0 and 1 are given, don't do any style transformation.
tr2 = AdjustBrightnessStyleTransformation(0, 1)
attrs = tr2.transform_attrs(default_attrs._replace(color="ansiblue"))
assert attrs.color == "ansiblue"
attrs = tr2.transform_attrs(default_attrs._replace(color="00ffaa"))
assert attrs.color == "00ffaa"
|