Coverage for tests/test_keys.py: 100%
21 statements
« prev ^ index » next coverage.py v7.11.1, created at 2026-03-27 20:23 -0700
« prev ^ index » next coverage.py v7.11.1, created at 2026-03-27 20:23 -0700
1"""Test cases for the keys module."""
3from countdown import keys
6def test_is_pause_key_with_strings():
7 """Test that is_pause_key recognizes pause keys as strings (Unix)."""
8 assert keys.is_pause_key(" ") is True, "Space should be a pause key"
9 assert keys.is_pause_key("p") is True, "p should be a pause key"
10 assert keys.is_pause_key("k") is True, "k should be a pause key"
11 assert keys.is_pause_key("\r") is True, (
12 "Carriage return should be a pause key"
13 )
14 assert keys.is_pause_key("\n") is True, "Newline should be a pause key"
15 assert keys.is_pause_key("a") is False, "a should not be a pause key"
16 assert keys.is_pause_key("x") is False, "x should not be a pause key"
17 assert keys.is_pause_key("q") is False, "q should not be a pause key"
20def test_is_time_adjust_key_with_strings():
21 """Test that is_time_adjust_key recognizes +, =, - as strings (Unix)."""
22 assert keys.is_time_adjust_key("+") is True, "+ should be a time adjust key"
23 assert keys.is_time_adjust_key("=") is True, "= should be a time adjust key"
24 assert keys.is_time_adjust_key("-") is True, "- should be a time adjust key"
25 assert keys.is_time_adjust_key("a") is False, (
26 "a should not be a time adjust key"
27 )
28 assert keys.is_time_adjust_key(" ") is False, (
29 "space should not be a time adjust key"
30 )
33def test_get_time_adjustment():
34 """Test that get_time_adjustment returns correct values."""
35 assert keys.get_time_adjustment("+") == 30, "+ should add 30 seconds"
36 assert keys.get_time_adjustment("=") == 30, "= should add 30 seconds"
37 assert keys.get_time_adjustment("-") == -30, "- should subtract 30 seconds"
38 assert keys.get_time_adjustment("a") == 0, "non-adjust key should return 0"