|
1 | 1 | - case: login_required_bare
|
2 | 2 | main: |
|
3 | 3 | from typing import Any
|
| 4 | + from typing_extensions import reveal_type |
4 | 5 | from django.contrib.auth.decorators import login_required
|
5 | 6 | from django.http import HttpRequest, HttpResponse
|
6 | 7 | @login_required
|
|
9 | 10 | - case: login_required_bare_async
|
10 | 11 | main: |
|
11 | 12 | from typing import Any
|
| 13 | + from typing_extensions import reveal_type |
12 | 14 | from django.contrib.auth.decorators import login_required
|
13 | 15 | from django.http import HttpRequest, HttpResponse
|
14 | 16 | @login_required
|
15 | 17 | async def view_func(request: HttpRequest) -> HttpResponse: ...
|
16 | 18 | reveal_type(view_func) # N: Revealed type is "def (request: django.http.request.HttpRequest) -> typing.Coroutine[Any, Any, django.http.response.HttpResponse]"
|
17 | 19 | - case: login_required_fancy
|
18 | 20 | main: |
|
| 21 | + from typing_extensions import reveal_type |
19 | 22 | from django.contrib.auth.decorators import login_required
|
20 | 23 | from django.core.handlers.wsgi import WSGIRequest
|
21 | 24 | from django.http import HttpResponse
|
|
24 | 27 | reveal_type(view_func) # N: Revealed type is "def (request: django.core.handlers.wsgi.WSGIRequest, arg: builtins.str) -> django.http.response.HttpResponse"
|
25 | 28 | - case: login_required_fancy_async
|
26 | 29 | main: |
|
| 30 | + from typing_extensions import reveal_type |
27 | 31 | from django.contrib.auth.decorators import login_required
|
28 | 32 | from django.core.handlers.asgi import ASGIRequest
|
29 | 33 | from django.http import HttpResponse
|
|
32 | 36 | reveal_type(view_func) # N: Revealed type is "def (request: django.core.handlers.asgi.ASGIRequest, arg: builtins.str) -> typing.Coroutine[Any, Any, django.http.response.HttpResponse]"
|
33 | 37 | - case: login_required_weird
|
34 | 38 | main: |
|
| 39 | + from typing_extensions import reveal_type |
35 | 40 | from django.contrib.auth.decorators import login_required
|
36 | 41 | from django.http import HttpRequest, HttpResponse
|
37 | 42 | # This is non-conventional usage, but covered in Django tests, so we allow it.
|
|
46 | 51 | def view_func2(request: Any) -> str: ...
|
47 | 52 | - case: user_passes_test
|
48 | 53 | main: |
|
| 54 | + from typing_extensions import reveal_type |
49 | 55 | from django.contrib.auth.decorators import user_passes_test
|
50 | 56 | from django.http import HttpRequest, HttpResponse
|
51 | 57 | @user_passes_test(lambda u: u.get_username().startswith('super'))
|
52 | 58 | def view_func(request: HttpRequest) -> HttpResponse: ...
|
53 | 59 | reveal_type(view_func) # N: Revealed type is "def (request: django.http.request.HttpRequest) -> django.http.response.HttpResponse"
|
54 | 60 | - case: user_passes_test_async
|
55 | 61 | main: |
|
| 62 | + from typing_extensions import reveal_type |
56 | 63 | from django.contrib.auth.decorators import user_passes_test
|
57 | 64 | from django.http import HttpRequest, HttpResponse
|
58 | 65 | @user_passes_test(lambda u: u.get_username().startswith('super'))
|
|
66 | 73 | def view_func(request: HttpRequest) -> HttpResponse: ...
|
67 | 74 | - case: permission_required
|
68 | 75 | main: |
|
| 76 | + from typing_extensions import reveal_type |
69 | 77 | from django.contrib.auth.decorators import permission_required
|
70 | 78 | from django.http import HttpRequest, HttpResponse
|
71 | 79 | @permission_required('polls.can_vote')
|
72 | 80 | def view_func(request: HttpRequest) -> HttpResponse: ...
|
73 | 81 | reveal_type(view_func) # N: Revealed type is "def (request: django.http.request.HttpRequest) -> django.http.response.HttpResponse"
|
74 | 82 | - case: permission_required_async
|
75 | 83 | main: |
|
| 84 | + from typing_extensions import reveal_type |
76 | 85 | from django.contrib.auth.decorators import permission_required
|
77 | 86 | from django.http import HttpRequest, HttpResponse
|
78 | 87 | @permission_required('polls.can_vote')
|
|
0 commit comments