Coverage for tests/test_tutorial/test_parameter_types/test_bool/test_tutorial002.py: 100%

41 statements  

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

1import subprocess 1abcdefghi

2import sys 1abcdefghi

3 

4import pytest 1abcdefghi

5import typer 1abcdefghi

6import typer.core 1abcdefghi

7from typer.testing import CliRunner 1abcdefghi

8 

9from docs_src.parameter_types.bool import tutorial002 as mod 1abcdefghi

10 

11runner = CliRunner() 1abcdefghi

12app = mod.app 1abcdefghi

13 

14 

15def test_help(): 1abcdefghi

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

17 assert result.exit_code == 0 1abcdefghi

18 assert "--accept" in result.output 1abcdefghi

19 assert "--reject" in result.output 1abcdefghi

20 assert "--no-accept" not in result.output 1abcdefghi

21 

22 

23def test_help_no_rich(monkeypatch: pytest.MonkeyPatch): 1abcdefghi

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

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

26 assert result.exit_code == 0 1abcdefghi

27 assert "--accept" in result.output 1abcdefghi

28 assert "--reject" in result.output 1abcdefghi

29 assert "--no-accept" not in result.output 1abcdefghi

30 

31 

32def test_main(): 1abcdefghi

33 result = runner.invoke(app) 1abcdefghi

34 assert result.exit_code == 0 1abcdefghi

35 assert "I don't know what you want yet" in result.output 1abcdefghi

36 

37 

38def test_accept(): 1abcdefghi

39 result = runner.invoke(app, ["--accept"]) 1abcdefghi

40 assert result.exit_code == 0 1abcdefghi

41 assert "Accepting!" in result.output 1abcdefghi

42 

43 

44def test_reject(): 1abcdefghi

45 result = runner.invoke(app, ["--reject"]) 1abcdefghi

46 assert result.exit_code == 0 1abcdefghi

47 assert "Rejecting!" in result.output 1abcdefghi

48 

49 

50def test_invalid_no_accept(): 1abcdefghi

51 result = runner.invoke(app, ["--no-accept"]) 1abcdefghi

52 assert result.exit_code != 0 1abcdefghi

53 assert "No such option: --no-accept" in result.output 1abcdefghi

54 

55 

56def test_script(): 1abcdefghi

57 result = subprocess.run( 1abcdefghi

58 [sys.executable, "-m", "coverage", "run", mod.__file__, "--help"], 

59 capture_output=True, 

60 encoding="utf-8", 

61 ) 

62 assert "Usage" in result.stdout 1abcdefghi