1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
from __future__ import annotations
import typer
from typer.testing import CliRunner
from typing_extensions import Annotated
runner = CliRunner()
def test_annotated():
app = typer.Typer()
@app.command()
def cmd(force: Annotated[bool, typer.Option("--force")] = False):
if force:
print("Forcing operation")
else:
print("Not forcing")
result = runner.invoke(app)
assert result.exit_code == 0, result.output
assert "Not forcing" in result.output
result = runner.invoke(app, ["--force"])
assert result.exit_code == 0, result.output
assert "Forcing operation" in result.output
|