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.py51
1 files changed, 50 insertions, 1 deletions
diff --git a/tests/functional/u/undefined/undefined_variable_py38.py b/tests/functional/u/undefined/undefined_variable_py38.py
index 950d17fb4..3c00bfd85 100644
--- a/tests/functional/u/undefined/undefined_variable_py38.py
+++ b/tests/functional/u/undefined/undefined_variable_py38.py
@@ -1,5 +1,5 @@
"""Tests for undefined variable with assignment expressions"""
-# pylint: disable=using-constant-test
+# pylint: disable=using-constant-test, expression-not-assigned
# Tests for annotation of variables and potentially undefinition
@@ -48,3 +48,52 @@ def no_parameters_in_function_default() -> None:
print(again_no_default) # [undefined-variable]
+
+# Tests for assignment expressions in if ... else comprehensions
+
+
+[i for i in range(10) if (if_assign_1 := i)]
+
+print(if_assign_1)
+
+IF_TWO = [i for i in range(10) if (if_assign_2 := i)]
+
+print(if_assign_2)
+
+IF_THREE = next(i for i in range(10) if (if_assign_3 := i))
+
+print(if_assign_3)
+
+IF_FOUR = {i: i for i in range(10) if (if_assign_4 := i)}
+
+print(if_assign_4)
+
+IF_FIVE = {i: i if (if_assign_5 := i) else 0 for i in range(10)}
+print(if_assign_5)
+
+{i: i if True else (else_assign_1 := i) for i in range(10)}
+
+print(else_assign_1) # [undefined-variable]
+
+
+# Tests for assignment expressions in the assignment of comprehensions
+
+[(assign_assign_1 := i) for i in range(10)]
+
+print(assign_assign_1)
+
+COMPREHENSION_TWO =[(assign_assign_2 := i) for i in range(10)]
+
+print(assign_assign_2)
+
+COMPREHENSION_THREE = next((assign_assign_3 := i) for i in range(10))
+
+print(assign_assign_3)
+
+COMPREHENSION_FOUR = {i: (assign_assign_4 := i) for i in range(10)}
+
+print(assign_assign_4)
+
+COMPREHENSION_FIVE = {i: (else_assign_2 := i) if False else 0 for i in range(10)}
+
+print(else_assign_2) # [undefined-variable]