diff --git a/stubs/requests/@tests/test_cases/check_cookies.py b/stubs/requests/@tests/test_cases/check_cookies.py new file mode 100644 index 000000000000..658aa6059b10 --- /dev/null +++ b/stubs/requests/@tests/test_cases/check_cookies.py @@ -0,0 +1,11 @@ +from collections.abc import Iterator +from http.cookiejar import Cookie +from typing_extensions import assert_type + +from requests.cookies import RequestsCookieJar + +jar = RequestsCookieJar() +jar["a"] = "b" + +assert_type(iter(jar), Iterator[Cookie]) +assert_type(next(iter(jar)), Cookie) diff --git a/stubs/requests/requests/cookies.pyi b/stubs/requests/requests/cookies.pyi index dc0138d896fc..b06346cfcdce 100644 --- a/stubs/requests/requests/cookies.pyi +++ b/stubs/requests/requests/cookies.pyi @@ -36,6 +36,7 @@ def remove_cookie_by_name(cookiejar, name, domain=None, path=None): ... class CookieConflictError(RuntimeError): ... class RequestsCookieJar(CookieJar, MutableMapping[str, str]): # type: ignore[misc] # conflicting __iter__ in the base classes + def __iter__(self) -> Iterator[Cookie]: ... # type: ignore[override] def get(self, name: str, default: str | None = None, domain: str | None = None, path: str | None = None) -> str | None: ... # type: ignore[override] def set(self, name: str, value: str | Morsel[dict[str, str]], **kwargs) -> Cookie | None: ... def iterkeys(self) -> Iterator[str]: ...