make sure that bytearray methods return a new bytearray even if there is no change

Fixes #4348
Reviewed by Brett
This commit is contained in:
Benjamin Peterson 2008-11-19 21:49:09 +00:00
parent 3b30e2c86d
commit 46cc6d1102
3 changed files with 16 additions and 21 deletions

View file

@ -721,6 +721,16 @@ class ByteArrayTest(BaseBytesTest):
b.insert(0, Indexable(ord('A')))
self.assertEqual(b, b'A')
def test_copied(self):
# Issue 4348. Make sure that operations that don't mutate the array
# copy the bytes.
b = bytearray(b'abc')
#self.assertFalse(b is b.replace(b'abc', b'cde', 0))
t = bytearray([i for i in range(256)])
x = bytearray(b'')
self.assertFalse(x is x.translate(t))
def test_partition_bytearray_doesnt_share_nullstring(self):
a, b, c = bytearray(b"x").partition(b"y")
self.assertEqual(b, b"")