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

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, ( 

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" 

18 

19 

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 ) 

31 

32 

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"