Coverage for tests / test_corner_cases.py: 100%

26 statements  

« prev     ^ index     » next       coverage.py v7.13.1, created at 2026-03-26 21:46 +0000

1import pytest 1abcdefg

2import typer.core 1abcdefg

3from typer.testing import CliRunner 1abcdefg

4 

5from tests.assets import corner_cases as mod 1abcdefg

6 

7runner = CliRunner() 1abcdefg

8 

9 

10def test_hidden_option(): 1abcdefg

11 result = runner.invoke(mod.app, ["--help"]) 1abcdefg

12 assert result.exit_code == 0 1abcdefg

13 assert "Say hello" in result.output 1abcdefg

14 assert "--name" not in result.output 1abcdefg

15 assert "/lastname" in result.output 1abcdefg

16 assert "TEST_LASTNAME" in result.output 1abcdefg

17 assert "(dynamic)" in result.output 1abcdefg

18 

19 

20def test_hidden_option_no_rich(monkeypatch: pytest.MonkeyPatch): 1abcdefg

21 monkeypatch.setattr(typer.core, "HAS_RICH", False) 1abcdefg

22 

23 result = runner.invoke(mod.app, ["--help"]) 1abcdefg

24 assert result.exit_code == 0 1abcdefg

25 assert "Say hello" in result.output 1abcdefg

26 assert "--name" not in result.output 1abcdefg

27 assert "/lastname" in result.output 1abcdefg

28 assert "TEST_LASTNAME" in result.output 1abcdefg

29 assert "(dynamic)" in result.output 1abcdefg

30 

31 

32def test_coverage_call(): 1abcdefg

33 result = runner.invoke(mod.app) 1abcdefg

34 assert result.exit_code == 0 1abcdefg

35 assert "Hello John Doe, it seems you have 42" in result.output 1abcdefg