Skip to content

Commit 0f589ff

Browse files
authored
Update test.selenium for Django 5.1 (#2559)
From django/django@f6629ee: * `django.test.selenium.ChangeWindowSize` added * `django.test.selenium.SeleniumTestCase.desktop_size` added * `django.test.selenium.SeleniumTestCase.mobile_size` added * `django.test.selenium.SeleniumTestCase.small_screen_size` added From django/django@be56c98: * `django.test.selenium.SeleniumTestCase.dark` added * `django.test.selenium.SeleniumTestCase.rtl` added * `django.test.selenium.SeleniumTestCase.take_screenshot` added * `django.test.selenium.SeleniumTestCase.screenshots` added * `django.test.selenium.screenshot_cases` added From django/django@39828fa: * `django.test.selenium.SeleniumTestCase.high_contrast` added * `django.test.selenium.SeleniumTestCase.set_emulated_media` added From django/django@ceaf1e2: * `django.test.selenium.SeleniumTestCase.set_emulated_media` adjusted
1 parent 53c7bb2 commit 0f589ff

File tree

2 files changed

+27
-12
lines changed

2 files changed

+27
-12
lines changed

django-stubs/test/selenium.pyi

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
1+
from collections.abc import Callable, Sequence
12
from contextlib import AbstractContextManager
2-
from typing import Any
3+
from types import TracebackType
4+
from typing import Any, TypeVar
35

46
from django.test import LiveServerTestCase
7+
from typing_extensions import Self
8+
9+
_F = TypeVar("_F", bound=Callable[..., Any])
510

611
class SeleniumTestCaseBase:
712
browsers: Any
@@ -10,7 +15,28 @@ class SeleniumTestCaseBase:
1015
def import_webdriver(cls, browser: Any) -> type[Any]: ... # Type[WebDriver]
1116
def create_webdriver(self) -> Any: ... # WebDriver
1217

18+
class ChangeWindowSize:
19+
def __init__(self, width: int, height: int, selenium: Any) -> None: ...
20+
def __enter__(self) -> Self: ...
21+
def __exit__(
22+
self,
23+
exc_type: type[BaseException] | None,
24+
exc_value: BaseException | None,
25+
traceback: TracebackType | None,
26+
) -> None: ...
27+
1328
class SeleniumTestCase(LiveServerTestCase):
1429
implicit_wait: int
30+
screenshots: bool = False
1531
selenium: Any
32+
def desktop_size(self) -> AbstractContextManager[None]: ...
33+
def small_screen_size(self) -> AbstractContextManager[None]: ...
34+
def mobile_size(self) -> AbstractContextManager[None]: ...
35+
def rtl(self) -> AbstractContextManager[None]: ...
36+
def dark(self) -> AbstractContextManager[None]: ...
37+
def set_emulated_media(self, *, media: str | None = None, features: list[dict[str, str]] | None = None) -> None: ...
38+
def high_contrast(self) -> AbstractContextManager[None]: ...
39+
def take_screenshot(self, name: str) -> None: ...
1640
def disable_implicit_wait(self) -> AbstractContextManager[None]: ...
41+
42+
def screenshot_cases(method_names: str | Sequence[str]) -> Callable[[_F], _F]: ...

scripts/stubtest/allowlist_todo_django51.txt

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -79,17 +79,6 @@ django.forms.ModelChoiceField.validate_no_null_characters
7979
django.forms.RadioSelect.__slotnames__
8080
django.forms.models.ModelChoiceField.validate_no_null_characters
8181
django.forms.widgets.RadioSelect.__slotnames__
82-
django.test.selenium.ChangeWindowSize
83-
django.test.selenium.SeleniumTestCase.dark
84-
django.test.selenium.SeleniumTestCase.desktop_size
85-
django.test.selenium.SeleniumTestCase.high_contrast
86-
django.test.selenium.SeleniumTestCase.mobile_size
87-
django.test.selenium.SeleniumTestCase.rtl
88-
django.test.selenium.SeleniumTestCase.screenshots
89-
django.test.selenium.SeleniumTestCase.set_emulated_media
90-
django.test.selenium.SeleniumTestCase.small_screen_size
91-
django.test.selenium.SeleniumTestCase.take_screenshot
92-
django.test.selenium.screenshot_cases
9382
django.test.signals.form_renderer_changed
9483
django.test.utils.garbage_collect
9584
django.urls.resolvers.whitespace_set

0 commit comments

Comments
 (0)