@@ -18,15 +18,10 @@ UnTyped(normal=1, private=2, def_arg=3, def_kwarg=4)
18
18
UnTyped() # E: Too few arguments for "UnTyped"
19
19
UnTyped(1, 2) == UnTyped(2, 3)
20
20
UnTyped(1, 2) >= UnTyped(2, 3)
21
- [builtins fixtures/bool.pyi]
22
- [file attr.pyi]
23
- from typing import TypeVar
24
- _T = TypeVar('_T')
25
- def ib(default: _T = ..., validator = ...) -> _T: ...
26
- def s(cls: _T) -> _T: ...
21
+ [builtins fixtures/attr_builtins.pyi]
22
+ [add-module fixtures/attr.pyi]
27
23
28
24
[case testTypedAttrS]
29
- [builtins fixtures/bool.pyi]
30
25
import attr
31
26
import typing
32
27
@attr.s
@@ -45,14 +40,10 @@ Typed(1, 2, def_kwarg=5)
45
40
Typed(1, 2, def_kwarg=5)
46
41
Typed(normal=1, private=2, def_arg=3, def_kwarg=4)
47
42
Typed() # E: Too few arguments for "Typed"
48
- [file attr.pyi]
49
- from typing import TypeVar
50
- _T = TypeVar('_T')
51
- def ib(default: _T = ..., validator = ...) -> _T: ...
52
- def s(cls: _T) -> _T: ...
43
+ [builtins fixtures/attr_builtins.pyi]
44
+ [add-module fixtures/attr.pyi]
53
45
54
46
[case testAutoAttribAttrS]
55
- [builtins fixtures/bool.pyi]
56
47
import attr
57
48
import typing
58
49
@attr.s(auto_attribs=True)
@@ -64,6 +55,7 @@ class Auto:
64
55
65
56
UNTYPED_CLASS_VAR = 18
66
57
TYPED_CLASS_VAR: typing.ClassVar[int] = 18
58
+
67
59
reveal_type(Auto) # E: Revealed type is 'def (normal: builtins.int, private: builtins.int, def_arg: builtins.int =, def_kwarg: builtins.int =) -> __main__.Auto'
68
60
Auto(1, 2)
69
61
Auto(1, 2, 3)
@@ -72,14 +64,10 @@ Auto(1, 2, def_kwarg=5)
72
64
Auto(1, 2, def_kwarg=5)
73
65
Auto(normal=1, private=2, def_arg=3, def_kwarg=4)
74
66
Auto() # E: Too few arguments for "Auto"
75
- [file attr.pyi]
76
- from typing import TypeVar
77
- _T = TypeVar('_T')
78
- def ib(default: _T = ..., validator = ...) -> _T: ...
79
- def s(cls: _T) -> _T: ...
67
+ [builtins fixtures/attr_builtins.pyi]
68
+ [add-module fixtures/attr.pyi]
80
69
81
70
[case testSeriousNamesAttrS]
82
- [builtins fixtures/bool.pyi]
83
71
import typing
84
72
from attr import attrib, attrs
85
73
@attrs(auto_attribs=True)
@@ -98,8 +86,33 @@ Auto(1, 2, def_kwarg=5)
98
86
Auto(1, 2, def_kwarg=5)
99
87
Auto(normal=1, private=2, def_arg=3, def_kwarg=4)
100
88
Auto() # E: Too few arguments for "Auto"
101
- [file attr.pyi]
102
- from typing import TypeVar
103
- _T = TypeVar('_T')
104
- def attrib(default: _T = ..., validator = ...) -> _T: ...
105
- def attrs(cls: _T) -> _T: ...
89
+ [builtins fixtures/attr_builtins.pyi]
90
+ [add-module fixtures/attr.pyi]
91
+
92
+ [case testNoInitAttrS]
93
+ from attr import attrib, attrs
94
+ @attrs(auto_attribs=True, init=False)
95
+ class Auto:
96
+ normal: int
97
+ _private: int
98
+ def_arg: int = 18
99
+ _def_kwarg: int = attrib(validator=None, default=18)
100
+ reveal_type(Auto) # E: Revealed type is 'def () -> __main__.Auto'
101
+ Auto()
102
+ Auto() == Auto()
103
+ Auto() >= Auto()
104
+ [builtins fixtures/attr_builtins.pyi]
105
+ [add-module fixtures/attr.pyi]
106
+
107
+ [case testNoCmpAttrS]
108
+ from attr import attrib, attrs
109
+ @attrs(auto_attribs=True, cmp=False)
110
+ class A:
111
+ b: int
112
+ reveal_type(A) # E: Revealed type is 'def (b: builtins.int) -> __main__.A'
113
+ A(5)
114
+ A(5) == A(5)
115
+ A(5) >= A(5) # E: Unsupported left operand type for >= ("A")
116
+ [builtins fixtures/attr_builtins.pyi]
117
+ [add-module fixtures/attr.pyi]
118
+
0 commit comments