summaryrefslogtreecommitdiffstatshomepage
path: root/tests/basics
diff options
context:
space:
mode:
Diffstat (limited to 'tests/basics')
-rw-r--r--tests/basics/andor.py5
-rw-r--r--tests/basics/ifcond.py35
2 files changed, 40 insertions, 0 deletions
diff --git a/tests/basics/andor.py b/tests/basics/andor.py
new file mode 100644
index 0000000000..4deddaf8b5
--- /dev/null
+++ b/tests/basics/andor.py
@@ -0,0 +1,5 @@
+# test short circuit expressions outside if conditionals
+print(() or 1)
+print((1,) or 1)
+print(() and 1)
+print((1,) and 1)
diff --git a/tests/basics/ifcond.py b/tests/basics/ifcond.py
new file mode 100644
index 0000000000..9101c3859f
--- /dev/null
+++ b/tests/basics/ifcond.py
@@ -0,0 +1,35 @@
+# test if conditions which are optimised by the compiler
+
+f2 = 0
+
+def f(t1, t2, f1):
+ if False:
+ print(1)
+ if True:
+ print(1)
+ if ():
+ print(1)
+ if (1,):
+ print(1)
+ if (1, 2):
+ print(1)
+ if t1 and t2:
+ print(1)
+ if (t1 and t2): # parsed differently to above
+ print(1)
+ if not (t1 and f1):
+ print(1)
+ if t1 or t2:
+ print(1)
+ if (t1 or t2): # parse differently to above
+ print(1)
+ if f1 or t1:
+ print(1)
+ if not (f1 or f2):
+ print(1)
+ if t1 and f1 or t1 and t2:
+ print(1)
+ if (f1 or t1) and (f2 or t2):
+ print(1)
+
+f(True, 1, False)