Coverage for tests/test_tutorial/test_arguments/test_help/test_tutorial002_an.py: 100%

24 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2024-09-09 18:26 +0000

1import subprocess 1abcdefgh

2import sys 1abcdefgh

3 

4import typer 1abcdefgh

5from typer.testing import CliRunner 1abcdefgh

6 

7from docs_src.arguments.help import tutorial002_an as mod 1abcdefgh

8 

9runner = CliRunner() 1abcdefgh

10 

11app = typer.Typer() 1abcdefgh

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

13 

14 

15def test_help(): 1abcdefgh

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

17 assert result.exit_code == 0 1abcdefgh

18 assert "[OPTIONS] NAME" in result.output 1abcdefgh

19 assert "Say hi to NAME very gently, like Dirk." in result.output 1abcdefgh

20 assert "Arguments" in result.output 1abcdefgh

21 assert "NAME" in result.output 1abcdefgh

22 assert "The name of the user to greet" in result.output 1abcdefgh

23 assert "[required]" in result.output 1abcdefgh

24 

25 

26def test_call_arg(): 1abcdefgh

27 result = runner.invoke(app, ["Camila"]) 1abcdefgh

28 assert result.exit_code == 0 1abcdefgh

29 assert "Hello Camila" in result.output 1abcdefgh

30 

31 

32def test_script(): 1abcdefgh

33 result = subprocess.run( 1abcdefgh

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

35 capture_output=True, 

36 encoding="utf-8", 

37 ) 

38 assert "Usage" in result.stdout 1abcdefgh