Coverage for tests/test_dmenu.py: 100%
19 statements
« prev ^ index » next coverage.py v7.2.2, created at 2023-03-24 11:53 -0300
« prev ^ index » next coverage.py v7.2.2, created at 2023-03-24 11:53 -0300
1import pytest
2from pyselector.menus.dmenu import Dmenu
5@pytest.fixture
6def dmenu() -> Dmenu:
7 return Dmenu()
10def test_build_command(dmenu) -> None:
11 args = dmenu._build_command(
12 case_sensitive=True,
13 multi_select=False,
14 prompt="Test>",
15 lines=10,
16 font="sans",
17 bottom=True,
18 )
19 assert "-i" in args
20 assert "-p" in args
21 assert "-l" in args
22 assert "-fn" in args
23 assert "-b" in args
26def test_build_command_warning(dmenu) -> None:
27 with pytest.warns(UserWarning):
28 _ = dmenu._build_command(
29 case_sensitive=True,
30 multi_select=True,
31 prompt="RaisesUserWarning",
32 )
34 with pytest.warns(UserWarning):
35 _ = dmenu._build_command(
36 case_sensitive=True,
37 multi_select=True,
38 prompt="RaisesUserWarning",
39 invalid_arg=True,
40 )
43def test_prompt_items_empty(dmenu) -> None:
44 dmenu.prompt(prompt="PressEnter>")