summaryrefslogtreecommitdiffstatshomepage
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rwxr-xr-xtests/basics/run-tests3
-rw-r--r--tests/basics/tests/containment.py23
-rw-r--r--tests/basics/tests/exception1.py3
-rw-r--r--tests/basics/tests/is-isnot.py14
-rw-r--r--tests/basics/tests/sorted.py2
-rw-r--r--tests/basics/tests/zip.py2
6 files changed, 47 insertions, 0 deletions
diff --git a/tests/basics/run-tests b/tests/basics/run-tests
index 0c3995da15..bc2969ae3d 100755
--- a/tests/basics/run-tests
+++ b/tests/basics/run-tests
@@ -42,4 +42,7 @@ echo "$numpassed tests passed"
if [[ $numfailed != 0 ]]
then
echo "$numfailed tests failed -$namefailed"
+ exit 1
+else
+ exit 0
fi
diff --git a/tests/basics/tests/containment.py b/tests/basics/tests/containment.py
new file mode 100644
index 0000000000..84d40b4e8f
--- /dev/null
+++ b/tests/basics/tests/containment.py
@@ -0,0 +1,23 @@
+for i in 1, 2:
+ for o in {1:2}, {1}, {1:2}.keys():
+ print("{} in {}: {}".format(i, o, i in o))
+ print("{} not in {}: {}".format(i, o, i not in o))
+
+haystack = "supercalifragilistc"
+for needle in (haystack[i:] for i in range(len(haystack))):
+ print(needle, "in", haystack, "::", needle in haystack)
+ print(needle, "not in", haystack, "::", needle not in haystack)
+ print(haystack, "in", needle, "::", haystack in needle)
+ print(haystack, "not in", needle, "::", haystack not in needle)
+for needle in (haystack[:i+1] for i in range(len(haystack))):
+ print(needle, "in", haystack, "::", needle in haystack)
+ print(needle, "not in", haystack, "::", needle not in haystack)
+ print(haystack, "in", needle, "::", haystack in needle)
+ print(haystack, "not in", needle, "::", haystack not in needle)
+
+# until here, the tests would work without the 'second attempt' iteration thing.
+
+for i in 1, 2:
+ for o in [], [1], [1, 2]:
+ print("{} in {}: {}".format(i, o, i in o))
+ print("{} not in {}: {}".format(i, o, i not in o))
diff --git a/tests/basics/tests/exception1.py b/tests/basics/tests/exception1.py
new file mode 100644
index 0000000000..95d933de76
--- /dev/null
+++ b/tests/basics/tests/exception1.py
@@ -0,0 +1,3 @@
+# TODO: requires repr()
+#a = IndexError(1, "test", [100, 200])
+#print(repr(a))
diff --git a/tests/basics/tests/is-isnot.py b/tests/basics/tests/is-isnot.py
new file mode 100644
index 0000000000..990190aa41
--- /dev/null
+++ b/tests/basics/tests/is-isnot.py
@@ -0,0 +1,14 @@
+print(1 is 1)
+print(1 is 2)
+print(1 is not 1)
+print(1 is not 2)
+
+
+print([1, 2] is [1, 2])
+a = [1, 2]
+b = a
+print(b is a)
+
+# TODO: strings require special "is" handling, postponed
+# until qstr refactor.
+#print("a" is "a")
diff --git a/tests/basics/tests/sorted.py b/tests/basics/tests/sorted.py
new file mode 100644
index 0000000000..bbec319460
--- /dev/null
+++ b/tests/basics/tests/sorted.py
@@ -0,0 +1,2 @@
+print(sorted(set(range(100))))
+print(sorted(set(range(100)), key=lambda x: x + 100*(x % 2)))
diff --git a/tests/basics/tests/zip.py b/tests/basics/tests/zip.py
new file mode 100644
index 0000000000..c0109094f4
--- /dev/null
+++ b/tests/basics/tests/zip.py
@@ -0,0 +1,2 @@
+print(list(zip()))
+print(list(zip([1], {2,3})))