Coverage for tests/test_tutorial/test_options/test_help/test_tutorial001.py: 100%

30 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2025-04-14 00:18 +0000

1import subprocess 1abcdefghi

2import sys 1abcdefghi

3 

4import typer 1abcdefghi

5from typer.testing import CliRunner 1abcdefghi

6 

7from docs_src.options.help import tutorial001 as mod 1abcdefghi

8 

9runner = CliRunner() 1abcdefghi

10 

11app = typer.Typer() 1abcdefghi

12app.command()(mod.main) 1abcdefghi

13 

14 

15def test_help(): 1abcdefghi

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

17 assert result.exit_code == 0 1abcdefghi

18 assert "Say hi to NAME, optionally with a --lastname." in result.output 1abcdefghi

19 assert "If --formal is used, say hi very formally." in result.output 1abcdefghi

20 assert "Last name of person to greet." in result.output 1abcdefghi

21 assert "Say hi formally." in result.output 1abcdefghi

22 

23 

24def test_1(): 1abcdefghi

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

26 assert result.exit_code == 0 1abcdefghi

27 assert "Hello Camila" in result.output 1abcdefghi

28 

29 

30def test_option_lastname(): 1abcdefghi

31 result = runner.invoke(app, ["Camila", "--lastname", "Gutiérrez"]) 1abcdefghi

32 assert result.exit_code == 0 1abcdefghi

33 assert "Hello Camila Gutiérrez" in result.output 1abcdefghi

34 

35 

36def test_formal(): 1abcdefghi

37 result = runner.invoke(app, ["Camila", "--lastname", "Gutiérrez", "--formal"]) 1abcdefghi

38 assert result.exit_code == 0 1abcdefghi

39 assert "Good day Ms. Camila Gutiérrez." in result.output 1abcdefghi

40 

41 

42def test_script(): 1abcdefghi

43 result = subprocess.run( 1abcdefghi

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

45 capture_output=True, 

46 encoding="utf-8", 

47 ) 

48 assert "Usage" in result.stdout 1abcdefghi