Skip to content

Commit 77ae002

Browse files
committed
behave: add given, when, then, step, use_fixture, fixture and Context
1 parent 25438e5 commit 77ae002

File tree

5 files changed

+78
-0
lines changed

5 files changed

+78
-0
lines changed

stubs/behave/METADATA.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
version = "1.3.*"
2+
upstream_repository = "https://github.com/behave/behave"

stubs/behave/behave/__init__.pyi

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from behave.fixture import fixture as fixture, use_fixture as use_fixture
2+
from behave.step_registry import (
3+
Given as Given,
4+
Step as Step,
5+
Then as Then,
6+
When as When,
7+
given as given,
8+
step as step,
9+
then as then,
10+
when as when,
11+
)
12+
13+
__all__ = ["given", "when", "then", "step", "Given", "When", "Then", "Step", "use_fixture", "fixture"]

stubs/behave/behave/fixture.pyi

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
from collections.abc import Callable
2+
from typing import Any, Concatenate, ParamSpec, TypeVar
3+
4+
from behave.runner import Context
5+
6+
_T = TypeVar("_T")
7+
_F = TypeVar("_F", bound=Callable[..., Any])
8+
_P = ParamSpec("_P")
9+
10+
def use_fixture(
11+
fixture_func: Callable[Concatenate[Context, _P], _T],
12+
context: Context,
13+
*fixture_args: _P.args,
14+
**fixture_kwargs: _P.kwargs,
15+
) -> _T: ...
16+
def fixture(func: _F | None = None, name: str | None = None, pattern: str | None = None) -> _F: ...

stubs/behave/behave/runner.pyi

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
from collections.abc import Callable
2+
from contextlib import AbstractContextManager
3+
from typing import Any, ParamSpec
4+
5+
_P = ParamSpec("_P")
6+
7+
class Context:
8+
LAYER_NAMES: list[str]
9+
FAIL_ON_CLEANUP_ERRORS: bool
10+
11+
feature: Any
12+
scenario: Any
13+
tags: set[str]
14+
aborted: bool
15+
failed: bool
16+
table: Any
17+
text: str | None
18+
config: Any
19+
active_outline: Any
20+
21+
def __init__(self, runner: Any) -> None: ...
22+
def abort(self, reason: str | None = None) -> None: ...
23+
def use_or_assign_param(self, name: str, value: Any) -> Any: ...
24+
def use_or_create_param(self, name: str, factory_func: Callable[_P, Any], *args: _P.args, **kwargs: _P.kwargs) -> Any: ...
25+
def use_with_user_mode(self) -> AbstractContextManager[None]: ...
26+
def execute_steps(self, steps_text: str) -> bool: ...
27+
def add_cleanup(self, cleanup_func: Callable[_P, Any], *args: _P.args, **kwargs: _P.kwargs) -> None: ...
28+
@property
29+
def captured(self) -> Any: ...
30+
def attach(self, mime_type: str, data: bytes) -> None: ...
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
from collections.abc import Callable
2+
from typing import Any, Concatenate, TypeVar
3+
4+
from behave.runner import Context as Context
5+
6+
_F = TypeVar("_F", bound=Callable[Concatenate[Context, ...], None])
7+
8+
def given(pattern: str, **kwargs: Any) -> Callable[[_F], _F]: ...
9+
def when(pattern: str, **kwargs: Any) -> Callable[[_F], _F]: ...
10+
def then(pattern: str, **kwargs: Any) -> Callable[[_F], _F]: ...
11+
def step(pattern: str, **kwargs: Any) -> Callable[[_F], _F]: ...
12+
13+
# Title-case aliases
14+
Given = given
15+
When = when
16+
Then = then
17+
Step = step

0 commit comments

Comments
 (0)