summaryrefslogtreecommitdiffstats
path: root/tests/roots/test-ext-autodoc/target/preserve_defaults_special_constructs.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/roots/test-ext-autodoc/target/preserve_defaults_special_constructs.py')
-rw-r--r--tests/roots/test-ext-autodoc/target/preserve_defaults_special_constructs.py50
1 files changed, 50 insertions, 0 deletions
diff --git a/tests/roots/test-ext-autodoc/target/preserve_defaults_special_constructs.py b/tests/roots/test-ext-autodoc/target/preserve_defaults_special_constructs.py
new file mode 100644
index 0000000..0fdb11a
--- /dev/null
+++ b/tests/roots/test-ext-autodoc/target/preserve_defaults_special_constructs.py
@@ -0,0 +1,50 @@
+from __future__ import annotations
+
+from collections import namedtuple
+from dataclasses import dataclass, field
+from typing import NamedTuple, TypedDict
+
+#: docstring
+SENTINEL = object()
+
+
+#: docstring
+ze_lambda = lambda z=SENTINEL: None
+
+
+def foo(x, y, z=SENTINEL):
+ """docstring"""
+
+
+@dataclass
+class DataClass:
+ """docstring"""
+ a: int
+ b: object = SENTINEL
+ c: list[int] = field(default_factory=lambda: [1, 2, 3])
+
+
+@dataclass(init=False)
+class DataClassNoInit:
+ """docstring"""
+ a: int
+ b: object = SENTINEL
+ c: list[int] = field(default_factory=lambda: [1, 2, 3])
+
+
+class MyTypedDict(TypedDict):
+ """docstring"""
+ a: int
+ b: object
+ c: list[int]
+
+
+class MyNamedTuple1(NamedTuple):
+ """docstring"""
+ a: int
+ b: object = object()
+ c: list[int] = [1, 2, 3]
+
+
+class MyNamedTuple2(namedtuple('Base', ('a', 'b'), defaults=(0, SENTINEL))):
+ """docstring"""