summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/basics/bytes.py28
-rw-r--r--tests/basics/int-long.py7
-rw-r--r--tests/basics/math-fun.py (renamed from tests/basics/math.py)0
-rw-r--r--tests/basics/string_partition.py29
-rw-r--r--tests/basics/string_rpartition.py29
5 files changed, 93 insertions, 0 deletions
diff --git a/tests/basics/bytes.py b/tests/basics/bytes.py
index 7d0cf22d4..a084bc399 100644
--- a/tests/basics/bytes.py
+++ b/tests/basics/bytes.py
@@ -4,8 +4,36 @@ print(str(a))
print(repr(a))
print(a[0], a[2])
print(a[-1])
+print(str(a, "utf-8"))
+print(str(a, "utf-8", "ignore"))
+try:
+ str(a, "utf-8", "ignore", "toomuch")
+except TypeError:
+ print("TypeError")
s = 0
for i in a:
s += i
print(s)
+
+
+print(bytes("abc", "utf-8"))
+print(bytes("abc", "utf-8", "replace"))
+try:
+ bytes("abc")
+except TypeError:
+ print("TypeError")
+try:
+ bytes("abc", "utf-8", "replace", "toomuch")
+except TypeError:
+ print("TypeError")
+
+print(bytes(3))
+
+print(bytes([3, 2, 1]))
+print(bytes(range(5)))
+
+def gen():
+ for i in range(4):
+ yield i
+print(bytes(gen()))
diff --git a/tests/basics/int-long.py b/tests/basics/int-long.py
index f867d8037..3567e08b2 100644
--- a/tests/basics/int-long.py
+++ b/tests/basics/int-long.py
@@ -37,3 +37,10 @@ a <<= 5
print(a)
a >>= 1
print(a)
+
+# Test referential integrity of long ints
+a = 0x1ffffffff
+b = a
+a += 1
+print(a)
+print(b)
diff --git a/tests/basics/math.py b/tests/basics/math-fun.py
index f5ffbf40d..f5ffbf40d 100644
--- a/tests/basics/math.py
+++ b/tests/basics/math-fun.py
diff --git a/tests/basics/string_partition.py b/tests/basics/string_partition.py
new file mode 100644
index 000000000..ad70d0250
--- /dev/null
+++ b/tests/basics/string_partition.py
@@ -0,0 +1,29 @@
+print("asdf".partition('g'))
+print("asdf".partition('a'))
+print("asdf".partition('s'))
+print("asdf".partition('f'))
+print("asdf".partition('d'))
+print("asdf".partition('asd'))
+print("asdf".partition('sdf'))
+print("asdf".partition('as'))
+print("asdf".partition('df'))
+print("asdf".partition('asdf'))
+print("asdf".partition('asdfa'))
+print("asdf".partition('fasdf'))
+print("asdf".partition('fasdfa'))
+print("abba".partition('a'))
+print("abba".partition('b'))
+
+try:
+ print("asdf".partition(1))
+except TypeError:
+ print("Raised TypeError")
+else:
+ print("Did not raise TypeError")
+
+try:
+ print("asdf".partition(''))
+except ValueError:
+ print("Raised ValueError")
+else:
+ print("Did not raise ValueError")
diff --git a/tests/basics/string_rpartition.py b/tests/basics/string_rpartition.py
new file mode 100644
index 000000000..656121c94
--- /dev/null
+++ b/tests/basics/string_rpartition.py
@@ -0,0 +1,29 @@
+print("asdf".rpartition('g'))
+print("asdf".rpartition('a'))
+print("asdf".rpartition('s'))
+print("asdf".rpartition('f'))
+print("asdf".rpartition('d'))
+print("asdf".rpartition('asd'))
+print("asdf".rpartition('sdf'))
+print("asdf".rpartition('as'))
+print("asdf".rpartition('df'))
+print("asdf".rpartition('asdf'))
+print("asdf".rpartition('asdfa'))
+print("asdf".rpartition('fasdf'))
+print("asdf".rpartition('fasdfa'))
+print("abba".rpartition('a'))
+print("abba".rpartition('b'))
+
+try:
+ print("asdf".rpartition(1))
+except TypeError:
+ print("Raised TypeError")
+else:
+ print("Did not raise TypeError")
+
+try:
+ print("asdf".rpartition(''))
+except ValueError:
+ print("Raised ValueError")
+else:
+ print("Did not raise ValueError")