summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2006-04-27 22:54:26 (GMT)
committerGuido van Rossum <guido@python.org>2006-04-27 22:54:26 (GMT)
commit13e57219d3143e4bae976a90846d6902e0514006 (patch)
tree09ddd82e022136d75d9271e3ab3f75753a5eb770 /Lib
parent1b283c5bcce08dcda96a0fc86af5b10682f3baa3 (diff)
downloadcpython-13e57219d3143e4bae976a90846d6902e0514006.zip
cpython-13e57219d3143e4bae976a90846d6902e0514006.tar.gz
cpython-13e57219d3143e4bae976a90846d6902e0514006.tar.bz2
Implement bytes += bytes, bytes *= int, int in bytes, bytes in bytes.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_bytes.py51
1 files changed, 49 insertions, 2 deletions
diff --git a/Lib/test/test_bytes.py b/Lib/test/test_bytes.py
index cf5cd5a..94524d4 100644
--- a/Lib/test/test_bytes.py
+++ b/Lib/test/test_bytes.py
@@ -296,8 +296,57 @@ class BytesTest(unittest.TestCase):
self.assertRaises(TypeError, lambda: b * 3.14)
self.assertRaises(TypeError, lambda: 3.14 * b)
self.assertRaises(MemoryError, lambda: b * sys.maxint)
+
+ def test_repeat_1char(self):
self.assertEqual(bytes('x')*100, bytes('x'*100))
+ def test_iconcat(self):
+ b = bytes("abc")
+ b1 = b
+ b += bytes("def")
+ self.assertEqual(b, bytes("abcdef"))
+ self.assertEqual(b, b1)
+ self.failUnless(b is b1)
+
+ def test_irepeat(self):
+ b = bytes("abc")
+ b1 = b
+ b *= 3
+ self.assertEqual(b, bytes("abcabcabc"))
+ self.assertEqual(b, b1)
+ self.failUnless(b is b1)
+
+ def test_irepeat_1char(self):
+ b = bytes("x")
+ b1 = b
+ b *= 100
+ self.assertEqual(b, bytes("x"*100))
+ self.assertEqual(b, b1)
+ self.failUnless(b is b1)
+
+ def test_contains(self):
+ b = bytes("abc")
+ self.failUnless(ord('a') in b)
+ self.failUnless(long(ord('a')) in b)
+ self.failIf(200 in b)
+ self.failIf(200L in b)
+ self.assertRaises(ValueError, lambda: 300 in b)
+ self.assertRaises(ValueError, lambda: -1 in b)
+ self.assertRaises(TypeError, lambda: None in b)
+ self.assertRaises(TypeError, lambda: float(ord('a')) in b)
+ self.assertRaises(TypeError, lambda: "a" in b)
+ self.failUnless(bytes("") in b)
+ self.failUnless(bytes("a") in b)
+ self.failUnless(bytes("b") in b)
+ self.failUnless(bytes("c") in b)
+ self.failUnless(bytes("ab") in b)
+ self.failUnless(bytes("bc") in b)
+ self.failUnless(bytes("abc") in b)
+ self.failIf(bytes("ac") in b)
+ self.failIf(bytes("d") in b)
+ self.failIf(bytes("dab") in b)
+ self.failIf(bytes("abd") in b)
+
# Optimizations:
# __iter__? (optimization)
# __reversed__? (optimization)
@@ -311,7 +360,6 @@ class BytesTest(unittest.TestCase):
# pop
# NOT sort!
# With int arg:
- # __contains__
# index
# count
# append
@@ -321,7 +369,6 @@ class BytesTest(unittest.TestCase):
# startswith
# endswidth
# find, rfind
- # __contains__ (bytes arg)
# index, rindex (bytes arg)
# join
# replace