mirror of
https://github.com/python/cpython.git
synced 2025-07-28 21:55:21 +00:00
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:
parent
3b30e2c86d
commit
46cc6d1102
3 changed files with 16 additions and 21 deletions
|
@ -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"")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue