Coverage for tests/test_keys.py: 100%
21 statements
« prev ^ index » next coverage.py v7.11.0, created at 2025-11-07 20:45 -0800
« prev ^ index » next coverage.py v7.11.0, created at 2025-11-07 20:45 -0800
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, "Carriage return should be a pause key"
12 assert keys.is_pause_key("\n") is True, "Newline should be a pause key"
13 assert keys.is_pause_key("a") is False, "a should not be a pause key"
14 assert keys.is_pause_key("x") is False, "x should not be a pause key"
15 assert keys.is_pause_key("q") is False, "q should not be a pause key"
18def test_is_time_adjust_key_with_strings():
19 """Test that is_time_adjust_key recognizes +, =, - as strings (Unix)."""
20 assert keys.is_time_adjust_key("+") is True, "+ should be a time adjust key"
21 assert keys.is_time_adjust_key("=") is True, "= should be a time adjust key"
22 assert keys.is_time_adjust_key("-") is True, "- should be a time adjust key"
23 assert keys.is_time_adjust_key("a") is False, "a should not be a time adjust key"
24 assert (
25 keys.is_time_adjust_key(" ") is False
26 ), "space should not be a time adjust key"
29def test_get_time_adjustment():
30 """Test that get_time_adjustment returns correct values."""
31 assert keys.get_time_adjustment("+") == 30, "+ should add 30 seconds"
32 assert keys.get_time_adjustment("=") == 30, "= should add 30 seconds"
33 assert keys.get_time_adjustment("-") == -30, "- should subtract 30 seconds"
34 assert keys.get_time_adjustment("a") == 0, "non-adjust key should return 0"