()
| 28 | |
| 29 | |
| 30 | def test_keyword_only_param() -> None: |
| 31 | @required_args(["a"]) |
| 32 | def foo(*, a: str | None = None) -> str | None: |
| 33 | return a |
| 34 | |
| 35 | assert foo(a="a") == "a" |
| 36 | assert foo(a=None) is None |
| 37 | assert foo(a="b") == "b" |
| 38 | |
| 39 | with pytest.raises(TypeError, match="Missing required argument: 'a'"): |
| 40 | foo() |
| 41 | |
| 42 | |
| 43 | def test_multiple_params() -> None: |