1from libqtile import hook
2from libqtile.widget import Chord, base
3
4RED = "#FF0000"
5BLUE = "#00FF00"
6
7textbox = base._TextBox("")
8BASE_BACKGROUND = textbox.background
9BASE_FOREGROUND = textbox.foreground
10
11
12def test_chord_widget(fake_bar):
13    chord = Chord(chords_colors={"testcolor": (RED, BLUE)})
14    chord.bar = fake_bar
15    chord._setup_hooks()
16    assert chord.text == ""
17    hook.fire("enter_chord", "test")
18    assert chord.text == "test"
19    assert chord.background == BASE_BACKGROUND
20    assert chord.foreground == BASE_FOREGROUND
21    hook.fire("enter_chord", True)
22    assert chord.text == ""
23    hook.fire("leave_chord")
24    assert chord.text == ""
25    hook.fire("enter_chord", "testcolor")
26    assert chord.background == RED
27    assert chord.foreground == BLUE
28