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

28 statements  

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

1import subprocess 1abcdefghi

2import sys 1abcdefghi

3 

4from typer.testing import CliRunner 1abcdefghi

5 

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

7 

8runner = CliRunner() 1abcdefghi

9app = mod.app 1abcdefghi

10 

11 

12def test_help(): 1abcdefghi

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

14 assert result.exit_code == 0 1abcdefghi

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

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

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

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

19 

20 

21def test_1(): 1abcdefghi

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

23 assert result.exit_code == 0 1abcdefghi

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

25 

26 

27def test_option_lastname(): 1abcdefghi

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

29 assert result.exit_code == 0 1abcdefghi

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

31 

32 

33def test_formal(): 1abcdefghi

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

35 assert result.exit_code == 0 1abcdefghi

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

37 

38 

39def test_script(): 1abcdefghi

40 result = subprocess.run( 1abcdefghi

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

42 capture_output=True, 

43 encoding="utf-8", 

44 ) 

45 assert "Usage" in result.stdout 1abcdefghi