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

1"""Test cases for the keys module.""" 

2 

3from countdown import keys 

4 

5 

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" 

16 

17 

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" 

27 

28 

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"