summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2017-06-22 14:02:14 +1000
committerDamien George <damien.p.george@gmail.com>2017-06-22 14:02:14 +1000
commit44922934f55cb1cb8a64eba4afabb66563d66349 (patch)
tree3ca49f31b9a86c65ba10f42cb14dbb704f283833
parent4c5f108321a8fd3f67f597ca918427eda813c12e (diff)
downloadmicropython-44922934f55cb1cb8a64eba4afabb66563d66349.tar.gz
micropython-44922934f55cb1cb8a64eba4afabb66563d66349.zip
tests/basics: Add tests for for-else statement.
-rw-r--r--tests/basics/for_else.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/basics/for_else.py b/tests/basics/for_else.py
new file mode 100644
index 0000000000..0bb9415064
--- /dev/null
+++ b/tests/basics/for_else.py
@@ -0,0 +1,43 @@
+# test for-else statement
+
+# test optimised range with simple else
+for i in range(2):
+ print(i)
+else:
+ print('else')
+
+# test optimised range with break over else
+for i in range(2):
+ print(i)
+ break
+else:
+ print('else')
+
+# test nested optimised range with continue in the else
+for i in range(4):
+ print(i)
+ for j in range(4):
+ pass
+ else:
+ continue
+ break
+
+# test optimised range with non-constant end value
+N = 2
+for i in range(N):
+ print(i)
+else:
+ print('else')
+
+# test generic iterator with simple else
+for i in [0, 1]:
+ print(i)
+else:
+ print('else')
+
+# test generic iterator with break over else
+for i in [0, 1]:
+ print(i)
+ break
+else:
+ print('else')