Skip to content

Commit cc9230f

Browse files
committed
Add additional test case
1 parent 8bd9d50 commit cc9230f

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

test-data/unit/stubgen.test

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4223,6 +4223,56 @@ class Y(missing.Base):
42234223
generated_kwargs_: float
42244224
def __init__(self, *generated_args__, generated_args, generated_args_, generated_kwargs, generated_kwargs_, **generated_kwargs__) -> None: ...
42254225

4226+
[case testDataclassTransform]
4227+
# dataclass_transform detection only works with sementic analysis.
4228+
# Test stubgen doesn't break too badly without it.
4229+
from typing_extensions import dataclass_transform
4230+
4231+
@typing_extensions.dataclass_transform(kw_only_default=True)
4232+
def create_model(cls):
4233+
return cls
4234+
4235+
@create_model
4236+
class X:
4237+
a: int
4238+
b: str = "hello"
4239+
4240+
@typing_extensions.dataclass_transform(kw_only_default=True)
4241+
class ModelBase: ...
4242+
4243+
class Y(ModelBase):
4244+
a: int
4245+
b: str = "hello"
4246+
4247+
@typing_extensions.dataclass_transform(kw_only_default=True)
4248+
class DCMeta(type): ...
4249+
4250+
class Z(metaclass=DCMeta):
4251+
a: int
4252+
b: str = "hello"
4253+
4254+
[out]
4255+
@typing_extensions.dataclass_transform(kw_only_default=True)
4256+
def create_model(cls): ...
4257+
4258+
class X:
4259+
a: int
4260+
b: str
4261+
4262+
@typing_extensions.dataclass_transform(kw_only_default=True)
4263+
class ModelBase: ...
4264+
4265+
class Y(ModelBase):
4266+
a: int
4267+
b: str
4268+
4269+
@typing_extensions.dataclass_transform(kw_only_default=True)
4270+
class DCMeta(type): ...
4271+
4272+
class Z(metaclass=DCMeta):
4273+
a: int
4274+
b: str
4275+
42264276
[case testDataclassTransformDecorator_semanal]
42274277
import typing_extensions
42284278

0 commit comments

Comments
 (0)