Coverage for tests/test_corner_cases.py: 100%

26 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2025-12-19 20:29 +0000

1import pytest 1abcdefghi

2import typer.core 1abcdefghi

3from typer.testing import CliRunner 1abcdefghi

4 

5from tests.assets import corner_cases as mod 1abcdefghi

6 

7runner = CliRunner() 1abcdefghi

8 

9 

10def test_hidden_option(): 1abcdefghi

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

12 assert result.exit_code == 0 1abcdefghi

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

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

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

16 assert "TEST_LASTNAME" in result.output 1abcdefghi

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

18 

19 

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

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

22 

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

24 assert result.exit_code == 0 1abcdefghi

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

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

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

28 assert "TEST_LASTNAME" in result.output 1abcdefghi

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

30 

31 

32def test_coverage_call(): 1abcdefghi

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

34 assert result.exit_code == 0 1abcdefghi

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