summaryrefslogtreecommitdiff
path: root/tests/functional/u/undefined/undefined_variable_py38.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/functional/u/undefined/undefined_variable_py38.py')
-rw-r--r--tests/functional/u/undefined/undefined_variable_py38.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/functional/u/undefined/undefined_variable_py38.py b/tests/functional/u/undefined/undefined_variable_py38.py
index 818423c8e..950d17fb4 100644
--- a/tests/functional/u/undefined/undefined_variable_py38.py
+++ b/tests/functional/u/undefined/undefined_variable_py38.py
@@ -3,6 +3,7 @@
# Tests for annotation of variables and potentially undefinition
+
def typing_and_assignment_expression():
"""The variable gets assigned in an assignment expression"""
var: int
@@ -15,3 +16,35 @@ def typing_and_self_referncing_assignment_expression():
var: int
if (var := var ** 2): # [undefined-variable]
print(var)
+
+
+def typed_assignment_in_function_default(param: str = (typed_default := "walrus")) -> None:
+ """An annotated assignment expression in a default parameter should not emit"""
+ return param
+
+
+print(typed_default)
+
+
+def assignment_in_function_default(param = (default := "walrus")) -> None:
+ """An assignment expression in a default parameter should not emit"""
+ return param
+
+
+print(default)
+
+
+def no_assignment_in_function_default(param: str = "walrus") -> None:
+ """No annotated assignment expression should emit"""
+ return param
+
+
+print(no_default) # [undefined-variable]
+
+
+def no_parameters_in_function_default() -> None:
+ """Regression tests for functions without any parameters"""
+ return
+
+
+print(again_no_default) # [undefined-variable]