]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.15] gh-139871: Fix 3.15 bytearray.take_bytes example (GH-149520) (#149622)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Sat, 9 May 2026 21:47:21 +0000 (23:47 +0200)
committerGitHub <noreply@github.com>
Sat, 9 May 2026 21:47:21 +0000 (21:47 +0000)
gh-139871: Fix 3.15 bytearray.take_bytes example (GH-149520)

Currently:
```python
buffer = bytearray(b'abc\ndef')
n = buffer.find(b'\n')
data = bytes(buffer[:n + 1])
del buffer[:n + 1]
assert data == b'abc'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
    assert data == b'abc'
           ^^^^^^^^^^^^^^
AssertionError
```

Adding in the `\n` makes the two match:

```python
buffer = bytearray(b'abc\ndef')
n = buffer.find(b'\n')
data = bytes(buffer[:n + 1])
del buffer[:n + 1]
assert data == b'abc\n'
assert buffer == bytearray(b'def')

buffer = bytearray(b'abc\ndef')
n = buffer.find(b'\n')
data = buffer.take_bytes(n + 1)
assert data == b'abc\n'
assert buffer == bytearray(b'def')
```
(cherry picked from commit cc5cf14ae0a3665ba9d192cc4152c0a46a9dab2f)

Co-authored-by: Cody Maloney <cmaloney@users.noreply.github.com>
Doc/whatsnew/3.15.rst

index 0f7782ba1813d1902d143b6e3b48d480d5493e2c..fb0755e8ffec5b7611795a52e2c7584d9a304df4 100644 (file)
@@ -798,7 +798,7 @@ Other language changes
               n = buffer.find(b'\n')
               data = bytes(buffer[:n + 1])
               del buffer[:n + 1]
-              assert data == b'abc'
+              assert data == b'abc\n'
               assert buffer == bytearray(b'def')
 
         - .. code:: python