summaryrefslogtreecommitdiff
path: root/tests/basics/assign_expr_syntaxerror.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/basics/assign_expr_syntaxerror.py')
-rw-r--r--tests/basics/assign_expr_syntaxerror.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/basics/assign_expr_syntaxerror.py b/tests/basics/assign_expr_syntaxerror.py
new file mode 100644
index 000000000..11b350129
--- /dev/null
+++ b/tests/basics/assign_expr_syntaxerror.py
@@ -0,0 +1,16 @@
+# test SyntaxError with := operator
+
+def test(code):
+ try:
+ print(eval(code))
+ except SyntaxError:
+ print('SyntaxError')
+
+test("x := 1")
+test("((x, y) := 1)")
+
+# these are currently all allowed in MicroPython, but not in CPython
+test("([i := i + 1 for i in range(4)])")
+test("([i := -1 for i, j in [(1, 2)]])")
+test("([[(i := j) for i in range(2)] for j in range(2)])")
+test("([[(j := i) for i in range(2)] for j in range(2)])")